Arduino 红绿灯

今天我们来做一个简单的红绿灯模拟程序,用于控制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

      推荐示例程序https://download.csdn.net/download/LiuYiCheng123456/90273414https://download.csdn.net/download/LiuYiCheng123456/90273414

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值