交通信号灯


项目介绍

交通灯,也就是马路上十字路口的红绿灯,在我们的日常生活中很常见。交通灯是由红、黄、绿三种颜色组成的,根据一定的时间规律循环交替亮起或熄灭。每个人都应该遵守交通规则,这可以避免许多交通事故。

想学习交通灯的原理吗?我们可以用红、黄、绿3个LED外接电路来模拟马路上的交通灯。因此我们特别设计了这款交通灯模块,模块上的红、黄、绿3个LED灯模拟交通灯。

模块参数

工作电压DC 5V
电流100 mA
最大功率0.5 W
工作温度-10°C ~ +50°C
输入信号数字信号
尺寸47.6 x 23.8 x 11.8 mm
定位孔大小直径为 4.8 mm
接口间距为2.54 mm 5pin防反接口

模块原理图

交通灯模块原理图

前面实验二我们就学习了如何控制一个LED,由原理图可以得知,控制这个模块就好比分别控制3个独立的LED灯(我们这个灯可直接由单片机IO口驱动),给对应颜色灯高电平就亮起对应的颜色。比如,我们给信号“R”输出高电平,也就是3.3V,则红色LED点亮。

实验组件

ESP32 Plus主板
ESP32 Plus主板 x1
Keyes 交通灯模块
Keyes 交通灯模块 x1
XH2.54-5P 转杜邦线母单线
XH2.54-5P 转杜邦线母单线 x1
USB线
USB线 x1

模块接线图

交通灯模块接线图

代码

from machine import Pin
import time

led_red = Pin(5, Pin.OUT)
led_yellow = Pin(13, Pin.OUT)
led_green = Pin(12, Pin.OUT)

while True:
    led_green.value(1) # 绿灯亮
    time.sleep(5) # 延迟5 s
    led_green.value(0) # 绿灯关闭
    for i in range(3): #黄灯闪烁3次
        led_yellow.value(1)
        time.sleep(0.5)
        led_yellow.value(0)
        time.sleep(0.5)
    led_red.value(1) # 红灯亮
    time.sleep(5) # 延迟5 s
    led_red.value(0) #红灯关闭

实验结果

按照接线图正确接好模块,用USB线连接到计算机上电,单击 运行按钮 来执行程序代码。代码开始执行,能看到模块上绿色LED亮5秒然后熄灭,黄色LED闪烁3次然后熄灭,红色LED亮5秒然后熄灭。模块按此顺序循环亮灭。

单击 停止按钮 或Ctrl+C退出程序