这是一个基于MicroPython的智能交通信号灯控制系统,它集成了四位共阳极数码管和RGB模块,实现了一个完整的并带倒计时功能的交通灯模拟系统。红灯,绿灯,黄灯,倒计时可在代码中自行定义。可用于教育实验学习嵌入式系统和交通灯的控制原理,以及工业交通路口:社区、校园等小型路口的交通信号控制展示模型,交通系统演示模型或科普展览
| 两位数码管模块 | RGB全彩LED模块 |
| VCC—3.3 GND—GND SDI—GP16 SCLK—GP17 OAD—GP18 | V—3.3 R—GP2 B—GP1 G—GP0 |

代码说明:下载代码后上传Pico文件直接运行,程序设定了输出绿灯8秒,红灯10秒,黄灯5秒。时间可自定义修改!(如下图)


这个代码实现了一个基于 MicroPython 的交通信号灯控制系统,结合了 7 段数码管显示和 LED 颜色控制功能。实现了一个交通信号灯模拟系统,包含绿、黄、红三种灯的循环切换每种灯亮时,7 段数码管会显示相应的倒计时时间,倒计时最后 3 秒会有闪烁效果,增强警示作用。
硬件控制:
使用machine.Pin类控制 GPIO 引脚,实现对 HC595 移位寄存器和 LED 的控制引脚配置为输出模式(Pin.OUT)用于驱动外部设备
HC595 移位寄存器操作:
通过串行数据(SDI)、时钟(SCLK)和锁存(RCLK)引脚控制移位寄存器hc595_shift()函数实现串行数据发送hc595_latch()函数将移位寄存器数据锁存到输出寄存器
七段数码管显示:
使用段码表(seg_table)定义 0-9 数字的显示编码支持共阳极数码管(COMMON_ANODE参数)display_number()函数实现 4 位数字的显示,并支持前导零隐藏
LED 控制:
实现了红、绿、蓝三色 LED 的控制函数通过led_on()和led_off()处理共阳极 LED 的高低电平转换
倒计时功能:
countdown()函数实现带颜色指示的倒计时功能最后 3 秒的闪烁效果通过快速开关显示实现循环控制实现交通灯的自动切换
时间控制:
使用time.sleep()和time.sleep_us()实现不同精度的延时控制精确的时间控制确保数码管刷新和 LED 切换的流畅性
主程序结构:
初始化函数设置初始状态,测试程序验证硬件功能,主循环实现交通灯状态的无限循环切换,这个代码展示了嵌入式系统中常见的外设控制技术,包括串行通信控制、数码管显示、LED 控制和时间管理等核心概念,适合作为 MicroPython 硬件编程的学习案例。
联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意
提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...