首页 分享 基于arduino UNO的倒计时交通信号灯系统

基于arduino UNO的倒计时交通信号灯系统

来源:花匠小妙招 时间:2026-06-01 03:09

基于arduino UNO的倒计时交通信号灯系统

大一新生,刚开始学arduino,看的是程晨老师的《Arduino 电子设计 实战 指南 零基础篇》,有一道课后题是制作一个带倒计时的交通信号灯,利用 实验 室器材花了一个多小时时间做出来的。使用arduino uno开发板和共阳极数码管,其中红灯倒计时由9到0,绿灯倒计时由5到0,黄灯倒计时由2到0。
实物图
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
原理图
在这里插入图片描述
代码 如下,过于粗糙,欢迎大家斧正。

int pinNum; int redLed = 10; int yellowLed = 11; int greenLed = 12; int smgtwo = 2; int smgthree = 3; int smgfour = 4; int smgfive = 5; int smgsix = 6; int smgseven = 7; int smgeight = 8; int smgnine = 9; void trafficLights(int red,int yellow,int green) { digitalWrite(redLed ,red); digitalWrite(yellowLed ,yellow); digitalWrite(greenLed ,green); } void smg(int two,int three,int four,int five,int six,int seven,int eight,int nine) { digitalWrite(smgtwo,two); digitalWrite(smgthree,three); digitalWrite(smgfour,four); digitalWrite(smgfive,five); digitalWrite(smgsix,six); digitalWrite(smgseven,seven); digitalWrite(smgeight,eight); digitalWrite(smgnine,nine); } void setup() { for(pinNum=2;pinNum<=12;pinNum++) { pinMode(pinNum,OUTPUT); } } void loop() { trafficLights(HIGH,LOW,LOW); smg(HIGH,HIGH,HIGH,HIGH,LOW,HIGH,HIGH,LOW); delay(1000); smg(HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,LOW); delay(1000); smg(LOW,LOW,HIGH,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(HIGH,HIGH,HIGH,LOW,HIGH,HIGH,HIGH,LOW); delay(1000); smg(HIGH,HIGH,HIGH,LOW,LOW,HIGH,HIGH,LOW); delay(1000); smg(HIGH,HIGH,LOW,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(HIGH,LOW,HIGH,HIGH,LOW,HIGH,HIGH,LOW); delay(1000); smg(HIGH,LOW,HIGH,HIGH,HIGH,HIGH,LOW,LOW); delay(1000); smg(LOW,LOW,LOW,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(LOW,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,LOW); delay(1000); trafficLights(LOW,HIGH,LOW); smg(HIGH,HIGH,HIGH,LOW,LOW,HIGH,HIGH,LOW); delay(1000); smg(HIGH,HIGH,LOW,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(HIGH,LOW,HIGH,HIGH,LOW,HIGH,HIGH,LOW); delay(1000); smg(HIGH,LOW,HIGH,HIGH,HIGH,HIGH,LOW,LOW); delay(1000); smg(LOW,LOW,LOW,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(LOW,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,LOW); delay(1000); trafficLights(LOW,LOW,HIGH); smg(HIGH,LOW,HIGH,HIGH,HIGH,HIGH,LOW,LOW); delay(1000); smg(LOW,LOW,LOW,HIGH,LOW,LOW,HIGH,LOW); delay(1000); smg(LOW,HIGH,HIGH,HIGH,HIGH,HIGH,HIGH,LOW); delay(1000); }

java

运行

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283

这里自定义了两个 函数 ,一个trafficLights用来控制红绿灯的亮灭,一个swg用来控制数码管显示的数字。
本人是大一新生某不知名邮电大学电子信息 类 专业,对硬件方面非常感兴趣,欢迎各位私聊交流。

相关知识

基于arduino UNO的倒计时交通信号灯系统
基于Arduino的植物浇水系统
使用Arduino Uno的自动植物浇水系统
Arduino Uno乐高支架
基于Arduino的自动浇灌系统
立创EDA开源项目:基于ESP32与Arduino Uno的智能花盆机器人DIY全解析
基于Arduino的土壤湿度检测
使用Arduino Uno开发板制作自动灌溉系统
基于arduino单片机智能浇花系统设计
基于Arduino的植物状态监测系统

原文链接: 基于arduino UNO的倒计时交通信号灯系统 https://www.huajiangbk.com/newsview2606246.html

分类:花卉
上一篇: AI 的深度强化学习调配交通信号...下一篇: 文明出行小常识丨路口的红灯、绿灯...

推荐分享