本篇主要介绍Arduino数字引脚及相关函数,通过数字I/O输出控制板载LED灯亮灭状态(数字引脚13)。
数字信号是以0、1表示的电平不连续变化的信号,也就是以二进制的形式表示的信号。在Arduino中数字信号通过高低电平来表示,高电平则为数字信号1,低电平则为数字信号0 ,其实在计算机中也只有0和1两种信号。
Arduino开发板上每一个带有数字编号的引脚,都是数字引脚,包括标有"A"编号的模拟输入引脚。可以通过这些引脚来实现数字信号的输入输出。
1. 实验材料
- Uno R3开发板
- 配套USB数据线
2. 实验步骤
-
新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/* Blink 等待一秒钟,点亮LED,再等待一秒钟,熄灭LED,如此循环 */ //在大多数Arduino控制板上13号引脚都连接了一个标有"L"的LED灯 int led = 13; //给13号引脚连接的设备起一个别名"led" void setup() { pinMode(led, OUTPUT); //将"led"引脚设置为输出状态 } void loop() { digitalWrite(led, HIGH); //引脚输出高电平1,点亮LED delay(1000); //等待1s digitalWrite(led, LOW); //引脚输出低电平0,熄灭LED delay(1000); //等待1s }
通过USB数据线连接Uno R3到电脑。在IDE中设置好对应端口号和开发板类型。
-
下载程序到开发板。
3. 实验现象
可观察到板载LED灯间断闪烁。
4. 函数介绍
-
pinMode()
- 描述:将指定引脚配置为输入或者输出模式
- 函数原型:pinMode(pin, mode)
- 参数:
- pin:要设置其模式的引脚编号
- mode: INPUT(输入模式), OUTPUT(输出模式), INPUT_PULLUP(上拉输入模式)
- 返回值: 无返回值
-
digitalWrite()
- 描述:将数字HIGH或LOW值写入数字引脚
- 函数原型:digitalWrite(pin, value)
- 参数:
- pin:要设置其输出的引脚编号
- value:HIGH(1), LOW(0)
- 返回值: 无返回值
-
delay()
- 描述:将程序暂停给定参数的时间量(以毫秒为单位)
- 函数原型:delay(ms)
- 参数:ms 暂停的毫秒数
- 返回值: 无返回值
程序首先通过pinMode设置13引脚为输出模式,然后在loop里面通过digitalWrite来改变引脚的输出电平,HIGH输出高电平即为当前Arduino的工作电压5V,LOW输出低电平即为0V。delay函数暂停1s让我们可以清晰看到闪烁状态。你也可以减小等待时间,LED就会闪烁的更快了。