输入输出函数

pinMode(pin, mode)
将数位脚位(digital pin)指定为输入或输出。
如:pinMode(7,INPUT); // 将脚位 7 设定为输入模式

digitalWrite(pin, value)
将数位脚位指定为开或关。脚位必须先透过pinMode明示为输入或输出模式digitalWrite才能生效。
范例:digitalWrite(8,HIGH); //将脚位 8设定输出高电位

int digitalRead(pin)
将输入脚位的值读出,当感测到脚位处于高电位时时回传HIGH,否则回传LOW。
范例:val = digitalRead(7); // 读出脚位 7 的值并指定给 val

int analogRead(pin)
读出类比脚位的电压并回传一个 0到1023 的数值表示相对应的0到5的电压值。
范例:val = analogRead(0); //读出类比脚位 0 的值并指定给 val变数

analogWrite(pin, value)
改变PWM脚位的输出电压值,脚位通常会在3、5、6、9、10与11。Value变数范围0-255,例如:输出电压2.5伏特(V),该值大约是128。
范例 :analogWrite(9,128); // 输出电压约2.5伏特(V)

unsigned long pulseIn(pin, value) value值为LOW或者HIGH
设定读取脚位状态的持续时间,例如使用红外线、加速度感测器测得某一项数值时,在时间单位内不会改变状态。
范例 :time = pulsein(7,HIGH); // 设定脚位7的状态在时间单位内保持为HIGH

shiftOut(dataPin, clockPin, bitOrder, value)
把资料传给用来延伸数位输出的暂存器,函式使用一个脚位表示资料、一个脚位表示时脉。bitOrder用来表示位元间移动的方式(LSBFIRST最低有效位元或是MSBFIRST最高有效位元),最后value会以byte形式输出。此函式通常使用在延伸数位的输出。
范例:shiftOut(dataPin, clockPin, LSBFIRST, 255);

时间函数
控制与计算晶片执行期间的时间

unsigned long millis()
回传晶片开始执行到目前的毫秒
范例:duration = millis()-lastTime; // 表示自"lastTime"至当下的时间

delay(ms)
暂停晶片执行多少毫秒
范例:delay(500); //暂停半秒(500毫秒)

delay Microseconds(us)
暂停晶片执行多少微秒
范例:delayMicroseconds(1000); //暂停1豪秒

数学函式
三角函数以及基本的数学运算

min(x, y)
回传两数之间较小
范例:val = min(10,20); // 回传10

max(x, y)
回传两数之间较大者
范例:val = max(10,20); // 回传20

abs(x)
回传该数的绝对值,可以将负数转正数。
范例:val = abs(-5); // 回传5

constrain(x, a, b)
判断x变数位于a与b之间的状态。x若小于a回传a;介于a与b之间回传x本身;大于b回传b
范例:val = constrain(analogRead(0), 0, 255); // 忽略大于255的数

map(value, fromLow, fromHigh, toLow, toHigh)
将value变数依照fromLow与fromHigh范围,对等转换至toLow与toHigh范围。时常使用于读取类比讯号,转换至程式所需要的范围值。
例如:val = map(analogRead(0),0,1023,100, 200); // 将analog0 所读取到的讯号对等转换至100 – 200之间的数值。

double pow(base, exponent)
回传一个数(base)的指数(exponent)值。
范例:double x = pow(y, 32); // 设定x为y的32次方

double sqrt(x)
回传double型态的取平方根值。
范例:double a = sqrt(1138); // 回传1138平方根的近似值 33.73425674438

double sin(rad)
回传角度(radians)的三角函数sine值。
范例:double sine = sin(2); // 近似值 0.90929737091

double cos(rad)
回传角度(radians)的三角函数cosine值。
范例:double cosine = cos(2); //近似值-0.41614685058

double tan(rad)
回传角度(radians)的三角函数tangent值。
范例:double tangent = tan(2); //近似值-2.18503975868

随机数函式(产生随机数)

randomSeed(seed)
事实上在Arduino里的乱数是可以被预知的。所以如果需要一个真正的乱数,可以呼叫此函式重新设定产生乱数种子。你可以使用乱数当作乱数的种子,以确保数字以随机的方式出现,通常会使用类比输入当作乱数种子,藉此可以产生与环境有关的乱数(例如:无线电波、宇宙雷射线、电话和萤光灯发出的电磁波等)。
范例:randomSeed(analogRead(5)); // 使用类比输入当作乱数种子

long random(max)
long random(min, max)
回传指定区间的乱数,型态为long。如果没有指定最小值,预设为0。
范例: long randnum = random(0, 100); // 回传0 – 99 之间的数字
long randnum = random(11); // 回传 0 -10之间的数字

串口通讯

Serial.begin(speed)
你可以指定Arduino从电脑交换讯息的速率,通常我们使用9600 bps。当然也可以使用其他的速度,但是通常不会超过115,200 bps(每秒位元组)。
范例:Serial.begin(9600);
Serial.print(data)
Serial.print(data, encoding)

经序列埠传送资料,提供编码方式的选项。如果没有指定,预设以一般文字传送。
范例: Serial.print(75); // 列印出 "75"
Serial.print(75, DEC); //列印出 "75"
Serial.print(75, HEX); // "4B" (75 的十六进位)
Serial.print(75, OCT); // "113" (75 in的八进位)
Serial.print(75, BIN); // "1001011" (75的二进位)
Serial.print(75, BYTE); // "K" (以byte进行传送,显示以ASCII编码方式)

Serial.println(data)
Serial.println(data, encoding)
与Serial.print()相同,但会在资料尾端加上换行字元( )。意思如同你在键盘上打了一些资料后按下Enter。

范例: Serial.println(75); //列印出"75 "
Serial.println(75, DEC); //列印出"75 "
Serial.println(75, HEX); // "4B "
Serial.println(75, OCT); // "113 "
Serial.println(75, BIN); // "1001011 "
Serial.println(75, BYTE); // "K "

int Serial.available()
回传有多少位元组(bytes)的资料尚未被read()函式读取,如果回传值是0代表所有序列埠上资料都已经被read()函式读取。
范例:int count = Serial.available();

int Serial.read()
读取1byte
范例: int data = Serial.read();

Serial.flush() 刷新缓冲区数据
范例:Serial.flush();

Arduino函数的更多相关文章

  1. 进阶之路(基础篇) - 010 Arduino 函数(基本、串口、SPI)

    一.基本函数 pinMode(引脚号,模式); digitalWrite(引脚号,电平状态);          //默认低电平(或浮空) digitalRead(数字输入端口号); analogRe ...

  2. arduino api手册

    本文由博主原创,如有不对之处请指明,转载请说明出处. arduino 函数 api 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:void se ...

  3. 进阶之路(基础篇) - 011 arduino api基础手册

    arduino 函数 api 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数:void setup()void loop()setup() 函数用 ...

  4. ESP32 开发之旅② Arduino For ESP32说明

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  5. ESP8266开发之旅 基础篇③ ESP8266与Arduino的开发说明

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  6. ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266

        博主的 ESP8266开发之旅 专栏主要分为三个部分: 基础篇 网络篇 应用篇     从这一篇开始,博主将会带领各位读者在基础篇的基础上进入网络的世界.在此,博主认为各位读者已经具备以下前提 ...

  7. 基于Arduino和python的串口通信和上位机控制

    引言 经常的时候我们要实现两个代码之间的通信,比如说两个不同不同人写的代码要对接,例如将python指令控制Arduino控件的开关,此处使用串口通信是非常方便的,下面笔者将结合自己踩过的坑来讲述下自 ...

  8. ESP8266-模拟输出(PWM)

    PWM(Pulse Width Modulation,脉宽调制),是在保持波的频率不变的同时改变脉宽的技术 首先,我们来理解一下占空比.一个脉冲周期由一个ON周期(VCCC)和一个OFF周期(GND) ...

  9. IOT(esp8266)

    今日工具: 硬件: esp8266 DHT11温湿度传感器 软件: Arduino ESP8266 是一款由乐鑫 Espressif 公司制作的低成本的 Wi-Fi 芯片,具有完整的 TCP / IP ...

随机推荐

  1. pytorch深度学习神经网络实现手写字体识别

    利用平pytorch搭建简单的神经网络实现minist手写字体的识别,采用三层线性函数迭代运算,使得其具备一定的非线性转化与运算能力,其数学原理如下: 其具体实现代码如下所示:import torch ...

  2. 认识系统服务 (daemons)

      daemon(守护进程:后台程序)与服务:   系统为了某些功能必须要提供一些服务 (不论是系统本身还是网络方面),这个服务就称为 service .但是 service 的提供总是需要程序的运作 ...

  3. 1_02_MSSQL课程_T_SQL语句_手动创建数据库和表

    1. 基本的DML SQL脚本 ->简单的查询: Select 列名 From 表明 where 条件表达式 ->插入数据: Insert Into 表名(列名1,列名2,列名3..... ...

  4. Java容器Stack

    Stack继承关系 Collection 接口 AbstractCollection AbstractList Vector Stack 方法 public E push 元素在栈顶,最后一个元素 p ...

  5. crm业务流程图(精简版)

    网址:https://www.processon.com/view/link/5e0be839e4b0aef94cbcee28#map如果链接失效,请及时反馈(在评论区评论),博主会及时更新

  6. DDD-领域驱动设计之领域模型

    DDD领域驱动设计基本理论知识总结 Posted on 2011-10-10 01:01 netfocus 阅读(120434) 评论(82) 编辑 收藏 领域驱动设计之领域模型 加一个导航,关于如何 ...

  7. iOS Burp suite CA证书 HTTPS

    设置好burp suite代理后,在浏览器地址输入http://burp/,下载CA证书: 在iOS上下载CA证书,可通过邮件或百度云等一切iOS可以访问证书文件的方法: 点击证书文件iOS提示安装, ...

  8. 关于syx的npy

    请认准官方女友----- STL 任何人在不得syx同意下不能传播其它谣言

  9. 整合Spring时Service层为什么不做全局包扫描详解

    合Spring时Service层为什么不做全局包扫描详解 一.Spring和SpringMVC的父子容器关系 1.讲问题之前要先明白一个关系 一般来说,我们在整合Spring和SpringMVC这两个 ...

  10. POJ 1979 Red and Black 四方向棋盘搜索

    Red and Black Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 50913   Accepted: 27001 D ...