数字输出

Arduino 上一共有12个数字 I/O 管脚,被分成两个部分,其中每个部分都包含有 6 个可 用的 I/O 管脚,即管脚 2 ~ 7 和管脚 8 ~ 13。除了管脚 13上接了一个1K的电阻之外,其他各个管脚都直接连接到ATmega单片机上。

利用一个 6 位的数字跑马灯,来验证 Arduino 数字 I/O 的输出功能。

跑马灯

电路中在每个 I/O 管脚上加的那个 1K 电阻被称为限流电阻,由于发光二极管在电路中没有等效电阻值,使用限流电阻可以使元件上通过的电流不至于过大,能够起到保护的作用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int BASE = 2; 
int NUM = 6; //脚位数
int index = 0;
void setup()
{
for (int i = BASE; i < BASE + NUM; i ++) //定义6个脚位为输出
{
pinMode(i, OUTPUT);
}
}
void loop()
{
for (int i = BASE; i < BASE + NUM; i ++) //给6个脚位低电平
{
digitalWrite(i, LOW);
}
digitalWrite(BASE + index, HIGH);
index = (index + 1) % NUM; //1,2,3,4,5,0
delay(100);
}

运行程序,连接在 Arduino 数字 I/O 管脚 2 到管脚 7 上的发光二极管会依次点亮 0.1 秒,然后再熄灭。