今天我们来做一个简单的红绿灯模拟程序,用于控制LED灯的亮灭,模拟交通信号灯的工作方式。代码使用Arduino开发板,通过控制引脚的电平状态来控制LED灯的亮灭。话不多说,我们现在就开始吧!
代码结构
引脚设置
pinMode(LED_BUILTIN, OUTPUT); // 设置引脚 LED_BUILTIN 为输出模式(OUTPUT 是输出模式)
pinMode(A0, OUTPUT); // 设置引脚 A0 为输出模式
pinMode(A1, OUTPUT); // 设置引脚 A1 为输出模式
在 setup() 函数中,通过 pinMode() 函数设置引脚的模式。 LED_BUILTIN 是Arduino板上的内置LED,通常连接到13号引脚。 A0 和 A1 是模拟出引脚。
主循环
loop()函数是Arduino程序的主循环,它会不断重复执行。在这个循环中,程序模拟了一个红绿灯的工作流程。
辅助函数
for (int i = 0; i < 3; i++){
digitalWrite(PIN, HIGH); // 打开引脚
delay(500); // 暂停 0.5 秒
digitalWrite(PIN, LOW); // 关闭引脚
delay(500); // 暂停 0.5 秒
}
light(int PIN) 函数用于控制指定引脚的LED灯闪烁三次。
功能实现
红灯阶段
- 将引脚 A0 设置为高电平,点亮红灯。
- 等待7秒(7000毫秒)。
- 将引脚 A0 设置为低电平,熄灭红灯。
- 调用 light(A0) 函数,让红灯闪烁三次。
绿灯阶段
- 将引脚 A1 设置为高电平,点亮绿灯。
- 等待9.5秒(9500毫秒)。
- 将引脚 A1 设置为低电平,熄灭绿灯。
- 等待0.5秒(500毫秒)。
黄灯阶段
- 调用 light(LED_BUILTIN) 函数,让内置LED(黄灯)闪烁三次。
注意事项
- 引脚选择:代码中使用了`A0`、`A1`和`LED_BUILTIN`引脚。确保这些引脚连接了LED灯。
- 延时时间:代码中的延时时间(如7000毫秒、9500毫秒、500毫秒等)可以根据实际需求进行调整。
- 闪烁频率:light()函数中的延时时间(500毫秒)决定了LED灯的闪烁频率,可以根据需要调整。
总结
这段代码通过Arduino开发板模拟了红绿灯的工作流程,通过控制引脚的电平状态来控制LED灯的亮灭,实现了红灯10秒、绿灯10秒、黄灯3秒的循环。
完整代码https://download.csdn.net/download/LiuYiCheng123456/90273396https://download.csdn.net/download/LiuYiCheng123456/90273396