0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

红绿灯的制作教程

454398 来源:wv 2019-10-15 10:45 次阅读

步骤1:修复LED

修复红色LED如图所示,将其固定在面包板上,并用黄色LED固定在面包板上,然后将绿色LED固定在面包板上。

步骤2:固定电线和开关。

h2》

取两条线并将其切换并固定到面包板上。如图所示,将两根导线的一根导线固定到面包板的负极,另一根导线固定到面包板的正极。

第3步:将电线固定到ARDUINO

首先用LED的顶部接一根跳线来固定红色。将LED固定到ARDUINO的4号插脚,并用另一根导线将黄色LED固定到ARDUINO的3号插针,将绿色LED固定到ARDUINO的2号插针,将红色LED固定在ARDUINO的7号插针,将绿色的LED固定到ARDUINO的6号插针。 》

将LED的下部红色LED接至ARDUINO接脚号10,将黄色LED接至ARDUINO接脚号9,将绿色LED接至ARDUINO接脚号8,将小的红色LED接至ARDUINO接脚号13,将绿色LED接至ARDUINO接脚号12。

步骤4:固定ARDUINO

用一根导线将面包板正极固定到ARDUINO引脚接地。并用另一根线将ARDUINO 3.3V固定在面包板上,如图所示。

ARDUINO程序。

//交通信号灯

//Ben Hovinga http://ben.hovinga.me

/灯光{GREEN,黄色,红色,PEDGREEN,PEDRED}

诠释灯[2] [5] = {{2,3,4,6,7},{8,9,10,12,13}};

//按钮{light [0],light [1]}

int btn [] = {5,11};

//计时器

int tgreen = 30000;//30s

int tyellow = 3000;//3s

int tred = 3000;//3s

int tpedwarn = 5000;//5s(必须小于tgreen)

int tpedwarnint = 500;//0.5s(必须小于tpedwarn)

//其他Val。不要更改

int btnval = 0;

布尔pedwait [] = {false,false};

布尔pedactive [] = {false,false };

int direct = 0;

int stp = 1;

boolean stpset = false;

unsigned long now = 0 ;

unsigned long changeat = -1;

unsigned long changeatped = -1;

boolean pedredon = true;

//SETUP

void setup(){

//为(int x = 0; x 《2; x ++){

for(int y = 0; y 《5; y ++){

pinMode(light [x] [y],OUTPUT);

}

//开始所有停止的操作(红色)

digitalWrite(light [x] [2],HIGH);

digitalWrite(light [x] [4],HIGH);

}

//为(int x = 0; x 《2; x ++){

pinMode(btn)分配按钮

[x],INPUT);

}

}

//RUN

void loop(){

//更新时间

现在= millis();

//检查是否按下按钮

表示(int x = 0; x 《2; x ++){

btnval = digitalRead(btn [x]);

如果(btnval == HIGH){

pedwait [x] = true ;////我们有人在等待穿越

}

}

////进入

开关(stp){

//绿色

情况1:

//设置

if(stpset == false){

changeat =现在+ tgreen-tpedwarn;//设置计时器

//如果(pedwait [direct] == true){

//打开ped的灯光

digitalWrite(light [direct] [3],HIGH);

digitalWrite(light [direct] [4],LOW);

//设置一些变量/p》

pedwait [direct] =假;

pedactive [direct] =真;

pedredon =假;

}

//打开绿色

digitalWrite(light [direct] [0],HIGH);

//关闭红色

digitalWrite(light [direct] [2],LOW);

stpset = true;//我们已经设置

}

//运行

else {

if(现在》 changeat){//

if(pedactive [direct] == true){

//关闭Ped

digitalWrite(light [direct] [3],LOW);

digitalWrite(light [direct] [4],HIGH);

pedredon = true;

}

//下一步

stp ++;

stpset = false;

}

}

中断;

//警告ped(如果可能)

情况2:

//设置

if(stpset == false){

changeat = now + tpedwarn;

changeatped = now + tpedwarnint;

stpset = true;

}

//运行

else {

//如果(pedactive [direct] == true){

if(pedredon = = true && changeatped 《现在){

digitalWrite(light [direct] [4],LOW);

pedredon = false;

changeatped =现在+ tpedwarnint;

}

if(pedredon == false && changeat 《现在){

digitalWrite(light [direct] [4],HIGH);

pedredon = true;

changeatped = now + tpedwarnint;

}

}

if(now》 changeat){//计时

//关闭

digitalWrite(light [direct] [0],LOW);

digitalWrite(light [direct] [4],HIGH);

pedredon = true;

pedactive [direct] = false;

//下一步

stp ++;

stpset = false;

}

}

中断;

//黄色

情况3:

//设置

if(stpset == false){

changeat = now + tyellow;

digitalWrite(light [direct] [1],HIGH);

stpset = true;

}

//运行

else {

if(现在》 changeat){//计时

//关闭

digitalWrite(light [direct] [1],LOW);

//下一步

stp ++;

stpset = false;

}

}

中断;

//红色

情况4:

//设置

if(stpset == false){

changeat = now + tred;

digitalWrite(light [direct] [2],HIGH);

stpset = true;

}

//运行

else {

如果(现在》 changeat) {//时间增加

//重新开始

stp = 1;

stpset = false;

//如果(direct == 1){

direct = 0;

}

else {

direct = 1;

}

}

}

中断;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 红绿灯
    +关注

    关注

    2

    文章

    34

    浏览量

    12017
收藏 人收藏

    评论

    相关推荐

    【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目-实现开机起动

    接上文【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目 Linux 系统下 init 系统 大多数 Linux 发行版的 init 系统是和 System V 相兼容
    发表于 02-11 11:24

    【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯按钮项目

    接上文[【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目(https://bbs.elecfans.com/jishu_2475305_1_1.html) 红绿灯按钮
    发表于 02-06 15:39

    【ELF 2学习板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目

    ) 红绿灯项目 硬件 ELF 2学习板 :一款用于嵌入式系统学习的开发板。 红绿灯板 :一个简单的外部设备,包含红、绿、黄三个LED灯。 连接1* ELF 2学习板 红绿灯板 连接2 红绿灯
    发表于 02-06 11:55

    2025款比亚迪汉家族OTA升级内测 智驾体验大提升

    比亚迪汽车宣布,已面向2025款汉家族汽车首批内测用户OTA推送新版本。 此次升级包含5项新增功能、6项优化体验。新增功能方面,城市领航功能亮点十足,智驾领航状态下车辆可实时识别红绿灯,自动刹车
    的头像 发表于 01-23 11:45 422次阅读

    高德地图与长城汽车共建出行联合创新LAB

    近日,高德地图与长城汽车在河北举行出行联合创新LAB揭牌仪式,双方将围绕导航出行领域展开深度合作,共创未来用户智慧出行新体验。与此同时,基于高德地图AutoSDK 810新增盲区会车预警、智慧停车、巡航红绿灯、语音播报智能模式等全新功能,近期也将在长城汽车实现首次量产搭载。
    的头像 发表于 01-07 10:03 199次阅读

    基于CNN和英特尔开发板的红绿灯控制系统设计

    随着中国经济的快速增长和城市化进程的加速,城市交通拥堵、交通事故频发以及环境污染等问题日益严重,尤其是在大城市中,这些问题表现得尤为突出。交通拥堵不仅影响了市民的日常出行效率,更是严重影响了紧急车辆的快速通行,延误了救援时间,增加了事故和伤亡风险。在高峰时段,城市中心区域和主要交通干道常常出现严重拥堵,这不仅降低了城市的运行效率,也对紧急服务的及时响应构成了障碍。面对这些挑战,中国交通管理亟需转型升级,利用现代科技手段提高智能化水平,以实现对交通流量的实时监控、智能分析和优化控制。
    的头像 发表于 12-20 10:47 1665次阅读
    基于CNN和英特尔开发板的<b class='flag-5'>红绿灯</b>控制系统设计

    现代摩比斯公司推出新一代高亮度LED灯:色散角大幅提升

    在科技日新月异的今天,每一个细微的创新都可能引领行业的变革。近日,现代摩比斯公司宣布成功研发出一种全新的LED灯,这款灯具不仅适用于红绿灯,也完美适配于汽车尾灯,其色散角的显著提升更是为交通照明领域带来了新的突破。
    的头像 发表于 10-14 16:42 1181次阅读

    【星闪派物联网开发套件体验连载】智能交通灯

    感谢电子发烧友,感谢润和软件,提供星闪派物联网开发套件试用。 本次试用计划: 用星闪派物联网开发套件,先实现本地交通灯项目,接入WiFi连上云端,本地红绿灯状态上传云端,云端显示,云端远程控制红绿灯
    发表于 10-05 13:00

    直流电转换器闪绿灯怎么修

    直流电转换器闪绿灯可能由多种原因引起,针对这一问题,以下是一些可能的解决方法和维修步骤:
    的头像 发表于 10-01 15:15 542次阅读

    TomTom交通技术支持Miovision交通信号预测和车联网(V2X) 解决方案系列

    拥堵和排放,改善公共安全。 Miovision支持的产品如奥迪的红绿灯信息等,这项首创的技术可帮助驾驶员
    的头像 发表于 07-02 15:40 1342次阅读

    车辆调度系统

    【铭迹创新】车辆调度系统分为隧道内和隧道外,隧道内应用UWB精确定位、RFID等技术,对隧道内施工车辆进行定位及区分行车道,综合应用红绿灯,LED屏幕、广播等技术对隧道内车辆进行有效的施工调度。并可
    的头像 发表于 05-31 15:59 642次阅读
    车辆调度系统

    坦克400 Hi4-T第二次OTA升级:新增越野模式W-HUD显示功能

    在车机交互方面,增加了“车速球”桌面悬浮功能、“信息胶囊”实时推送系统信息以及车控功能快捷操作等。导航过程中新增红绿灯计时功能、拥堵聊天室、明星语音播报以及车道线分时段显示等。
    的头像 发表于 04-28 14:55 1044次阅读

    卷王元戎启行整活:“无图”+端到端

    ”)。     DeepRoute IO,是元戎启行为量产推出的新一代高阶智驾平台,搭载导航地图,应用端到端模型,是理想的“老司机”,丝滑、老练。   在导航地图覆盖范围内,IO平台及时、准确、稳定地识别红绿灯、施工场景、缓慢行驶或临停车辆,实现在城区点到点的智能驾驶,所到之处都能开,任
    发表于 04-25 15:52 854次阅读
    卷王元戎启行整活:“无图”+端到端

    STM32 ST-LINK Utility 4.2烧程序,过程中ST LINK的红绿灯一直不停闪烁,显示烧录成功芯片没有反应为什么?

    用的是STM32 ST-LINK Utility 4.2烧程序,这个软件可以识别芯片,过程中ST LINK的红绿灯一直不停闪烁,最后显示烧录成功,但是芯片没有反应
    发表于 03-20 07:35

    揭秘 “红绿灯倒计时” 原理

    如今,高德“红绿灯倒计时”功能已服务遍布全国范围内近240个城市的8万多个红绿灯路口,未来还将进一步拓展至更高数量级。
    的头像 发表于 02-21 17:19 2456次阅读