没有合适的资源?快使用搜索试试~ 我知道了~
首页Arduino语法手册函数部分.pdf
Arduino语法手册函数部分.pdf
需积分: 35 42 下载量 73 浏览量
更新于2023-03-03
评论 3
收藏 51KB PDF 举报
arduino参考手册中文版函数部分,arduino的函数的详细讲解,http://www.51zxw.net/study.asp?vip=12694809
资源详情
资源评论
资源推荐
Arduino 语法手册函数部分
摘自:
http://wiki.geek-workshop.com/doku.php?id=arduino:arduino_language_re
ference
函数部分
数字 I/O
pinMode()
描述
将指定的引脚配置成输出或输入。详情请见 digital pins 。
语法
pinMode(pin, mode)
参数
pin:要设置模式的引脚
mode:INPUT 或 OUTPUT
返回
无
例子
ledPin = 13 // LED 连接到数字脚 13
void setup()
{
pinMode ( ledPin ,OUTPUT ); // 设置数字脚为输出
}
void loop()
{
digitalWrite (ledPin,HIGH ); //点亮 LED
delay(1000); // 等待一秒
digitalWrite(ledPin, LOW); // 灭掉 LED
延迟( 1000); //等待第二个
}
注意
模拟输入脚也能当做数字脚使用,参加 A0 ,A1,等
digitalWrite()
描述
给一个数字引脚写入 HIGH 或者 LOW 。
如果一个引脚已经使用 pinMode() 配置为 OUTPUT 模式,其电压将被设置为相应的值, HIGH
为 5V (3.3V 控制板上为 3.3V),LOW 为 0V 。
如果引脚配置为 INPUT 模式,使用 digitalWrite() 写入 HIGH 值,将使内部 20K 上拉电阻 (详
见数字引脚教程) 。写入 LOW 将会禁用上拉。上拉电阻可以点亮一个 LED 让其微微亮,如
果 LED 工作,但是亮度很低,可能是因为这个原因引起的。补救的办法是 使用 pinMode()
函数设置为输出引脚。
注意: 数字 13 号引脚难以作为数字输入使用, 因为大部分的控制板上使用了一颗 LED 与一
个电阻连接到他。如果启动了内部的 20K 上拉电阻,他的电压将在 1.7V 左右,而不是正常
的 5V,因为板载 LED 串联的电阻把他使他降了下来,这意味着他返回的值总是 LOW 。如
果必须使用数字 13 号引脚的输入模式,需要使用外部上拉下拉电阻。
语法
digitalWrite(pin, value)
参数
pin: 引脚编号(如 1,5,10,A0,A3 )
value: HIGH or LOW
返回
无
例子
int ledPin = 13; // LED 连接到数字 13 号端口
void setup()
{
pinMode(ledPin, OUTPUT); // 设置数字端口为输入模式
}
void loop()
{
digitalWrite(ledPin, HIGH); // 使 LED 亮
delay(1000); // 延迟一秒
digitalWrite(ledPin, LOW); // 使 LED 灭
delay(1000); // 延迟一秒
}
13 号端口设置为高电平,延迟一秒,然后设置为低电平。
注释
模拟引脚也可以当做数字引脚使用,使用方法是输入端口 A0 ,A1,A2 等。
digitalRead()
描述
读取指定引脚的值, HIGH 或 LOW 。
语法
digitalRead (PIN)
参数
pin:你想读取的引脚号( int )
返回
HIGH 或 LOW
例子
ledPin = 13 // LED 连接到 13 脚
int inPin = 7; // 按钮连接到数字引脚 7
int val = 0; //定义变量以存储读值
void setup()
{
pinMode(ledPin, OUTPUT); // 将 13 脚设置为输出
pinMode(inPin, INPUT); // 将 7 脚设置为输入
}
void loop()
{
val = digitalRead(inPin); // 读取输入脚
digitalWrite(ledPin, val); //将 LED 值设置为按钮的值
}
将 13 脚设置为输入脚 7 脚的值。
注意
如果引脚悬空, digitalRead() 会返回 HIGH 或 LOW (随机变化) 。
模拟输入脚能当做数字脚使用,参见 A0, A1 等。
模拟 I/O
analogReference()
描述
配置用于模拟输入的基准电压(即输入范围的最大值) 。选项有 :
DEFAULT :默认 5V( Arduino 板为 5V )或 3.3 伏特( Arduino 板为 3.3V )为基准电压。
INTERNAL :在 ATmega168 和 ATmega328 上以 1.1V 为基准电压,以及在 ATmega8 上以 2.56V
为基准电压( Arduino Mega 无此选项)
INTERNAL1V1 :以 1.1V 为基准电压(此选项仅针对 Arduino Mega )
INTERNAL2V56 :以 2.56V 为基准电压(此选项仅针对 Arduino Mega )
EXTERNAL :以 AREF 引脚( 0 至 5V)的电压作为基准电压。
参数
type:使用哪种参考类型( DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, 或者
EXTERNAL )。
返回
无
注意事项
改变基准电压后,之前从 analogRead()读取的数据可能不准确。
警告
不要在 AREF 引脚上使用使用任何小于 0V 或超过 5V 的外部电压。如果你使用 AREF 引脚
上的电压作为基准电压,你在调用 analogRead()前必须设置参考类型为 EXTERNAL 。否则,
你将会削短有效的基准电压(内部产生) 和 AREF 引脚, 这可能会损坏您 Arduino 板上的单
片机。
另外, 您可以在外部基准电压和 AREF 引脚之间连接一个 5K 电阻, 使你可以在外部和内部
基准电压之间切换。请注意,总阻值将会发生改变,因为 AREF 引脚内部有一个 32K 电阻。
这两个电阻都有分压作用。所以,例如,如果输入 2.5V 的电压,最终在在 AREF 引脚上的
电压将为 2.5 * 32 / (32 + 5)= 2.2V 。
analogRead()
描述
从指定的模拟引脚读取数据值。 Arduino 板包含一个 6 通道( Mini 和 Nano 有 8 个通道,
Mega 有 16 个通道),10 位模拟数字转换器。这意味着它将 0 至 5 伏特之间的输入电压映射
到 0 至 1023 之间的整数值。这将产生读数之间的关系: 5 伏特 / 1024 单位,或 0.0049 伏特
(4.9 mV )每单位。输入范围和精度可以使用 analogReference()改变。它需要大约 100 微秒
(0.0001 )来读取模拟输入,所以最大的阅读速度是每秒 10000 次。
语法
analogRead(PIN)
数值的读取
引脚:从输入引脚(大部分板子从 0 到 5,Mini 和 Nano 从 0 到 7,Mega 从 0 到 15)读取
数值
返回
从 0 到 1023 的整数值
注意事项
如果模拟输入引脚没有连入电路,由 analogRead()返回的值将根据多项因素(例如其他模拟
输入引脚,你的手靠近板子等)产生波动。例子
int analogPin = 3; //电位器(中间的引脚)连接到模拟输入引脚 3
//另外两个引脚分别接地和 +5 V
int val = 0; //定义变量来存储读取的数值
void setup()
{
serial.begin (9600); //设置波特率( 9600)
}
void loop()
{
val = analogRead( analogPin); //从输入引脚读取数值
serial.println (val); //显示读取的数值
}
返回主菜单
analogWrite() - PWM
描述
从一个引脚输出模拟值( PWM )。可用于让 LED 以不同的亮度点亮或驱动电机以不同的速
度旋转。 analogWrite() 输出结束后,该引脚将产生一个稳定的特殊占空比方波,直到下次调
用 analogWrite() (或在同一引脚调用 digitalRead() 或 digitalWrite() )。PWM 信号的频率大约
是 490 赫兹。
在大多数 arduino 板( ATmega168 或 ATmega328),只有引脚 3,5,6,9,10 和 11 可以实
现该功能。在 aduino Mega 上,引脚 2 到 13 可以实现该功能。老的 Arduino 板( ATmega8)
的只有引脚 9、10、11可以使用 analogWrite() 。在使用 analogWrite() 前,你不需要调用 pinMode()
来设置引脚为输出引脚。
analogWrite 函数与模拟引脚、 analogRead 函数没有直接关系。
语法
analogWrite (pin,value)
参数
pin:用于输入数值的引脚。
value:占空比: 0(完全关闭)到 255(完全打开)之间。
返回
无
说明和已知问题
引脚 5 和 6 的 PWM 输出将高于预期的占空比 (输出的数值偏高) 。这是因为 millis() 和 delay()
功能,和 PWM 输出共享相同的内部定时器。这将导致大多时候处于低占空比状态(如: 0 -
10),并可能导致在数值为 0 时,没有完全关闭引脚 5 和 6。
例子
通过读取电位器的阻值控制 LED 的亮度
int ledPin = 9; // LED 连接到数字引脚 9
int analogPin = 3; //电位器连接到模拟引脚 3
int val = 0; //定义变量存以储读值
void setup()
{
剩余35页未读,继续阅读
qq_39768398
- 粉丝: 4
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0