Arduino基础入门篇06——流动的LED灯
2018-08-01 本文已影响9人
TonyCode
上一篇介绍了Arduino数字I/O引脚及相关函数,并点亮了板载LED灯。本篇将使用面包板搭建电路,多个LED灯配合显示流动效果。
1. 实验材料
- Uno R3开发板
- 配套USB数据线
- 面包板及配套连接线
- 6个LED灯
- 6个220Ω电阻
2. 实验步骤
-
根据原理图搭建电路
直插式LED灯有两个引脚,长引脚为正极,短引脚为负极。LED灯点亮就是电流从正极流入,从负极流出。6个LED灯的负极连接到开发板的GND引脚,正极分别连接220Ω限流电阻连接到开发板的数字I/O引脚。
实验原理图如下图所示:
流水灯电路连接图
实物连接图如下图所示:
实物连接图
-
新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/* * Led_Flash * 依次点亮1~6号LED灯,依次熄灭6~1号LED灯,如此循环 */ int delayTime = 200; int ledPin; void setup() { for (ledPin = 1; ledPin < 7; ledPin++) //依次设置1~6个数字引脚为输出模式 { pinMode(ledPin, OUTPUT); //设置第ledPin个引脚为输出模式 } } void loop() { for (ledPin = 1; ledPin < 7; ledPin++) //每隔delayTime依次点亮1~6引脚相连的led灯 { digitalWrite(ledPin, HIGH); //点亮ledPin引脚相连的led灯 delay(delayTime);//延时delayTime } for (ledPin = 6; ledPin > 0; ledPin--) //每隔delayTime依次熄灭6~1引脚相连的led灯 { digitalWrite(ledPin, LOW); //熄灭ledPin引脚相连的led灯 delay(delayTime);//延时delayTime } }
-
连接开发板,设置好对应端口号和开发板类型,进行程序下载。
程序下载
3. 实验现象
LED灯依次点亮,依次熄灭,达到流动效果。

4. 程序分析
在setup部分通过for循环将1 ~ 6号引脚设置为输出模式。在loop部分,通过两个for循环依次点亮1 ~ 6号LED灯,依次熄灭6 ~ 1号LED灯,使用的依然是digitalWrite函数。
延时时间定义为200,你可以改变它来控制流动速度。还可以通过修改程序中引脚的输出顺序来尝试更多不同的点亮LED的方式。