交通信号灯循环
本课属于 Coddy Arduino 学习旅程的“项目”单元。第 1 课,共 24 课。
这个项目分四步搭建一个街道路口:汽车信号灯、优化时间控制、供行人使用的按钮,以及带蜂鸣器的行人信号灯。整个路口的电路已经连接好,所以每一步的电路都保持不变。今天只使用三盏汽车信号灯。
交通信号灯会一直重复相同的步骤:绿灯、黄灯、红灯,然后再回到绿灯。每个步骤都会点亮一盏灯,另外两盏灯熄灭,并保持一段时间。
如果相同的几行代码反复出现,就把它们放进一个函数里。这个函数会点亮传给它的灯,并熄灭其他灯:
void showLight(int pin) {
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(pin, HIGH);
}这样,loop()中的每个步骤只需两行:showLight(greenPin);,以及一个delay(),用来等待这盏灯保持点亮的时长。
挑战
简单汽车信号灯连接在引脚 12(红色)、11(黄色)和 10(绿色)。让它们循环亮起:
- 将这三个引脚设为输出
- 绿色亮 3000 毫秒
- 黄色亮 1000 毫秒
- 红色亮 3000 毫秒,然后重新开始
一次只能亮一盏汽车信号灯。按下运行观看路口信号灯,然后按检查。
亲手试试
// 汽车信号灯
const int redPin = 12;
const int yellowPin = 11;
const int greenPin = 10;
void setup() {
// 将三个灯的引脚设为输出模式
}
void loop() {
// 绿灯亮 3 秒,黄灯亮 1 秒,红灯亮 3 秒
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
项目中的所有课
自己练习: Arduino 在线编辑器