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

    浏览量

    11867
收藏 人收藏

    评论

    相关推荐

    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 742次阅读

    【飞腾派4G版免费试用】红绿灯项目-2飞腾派 openkylin 进行IO控制2

    | 接上文【飞腾派4G版免费试用】红绿灯项目-2飞腾派 openkylin 进行IO控制
    发表于 01-17 19:46

    基于51单片机的带时间显示的红绿灯设计

    带时间显示的红绿灯设计,30秒南北绿灯,东西红灯;3次闪烁黄灯;切换为30秒东西绿灯,南北红灯; 具体定时时间可根据程序自行修改,带有源程序、仿真图。
    发表于 08-23 15:51 989次阅读
    基于51单片机的带时间显示的<b class='flag-5'>红绿灯</b>设计

    无线局域网竟然也需要红绿灯管理!?

    本篇部分内容来源自世界无线局域网应用发展联盟(WAA)同名白皮书原文。 1. WLAN的红绿灯技术 之前,我们解读过WAA在其夏季论坛上发布的 《企业典型场景高品质WLAN网络建设白皮书》 ,白皮书
    的头像 发表于 07-24 19:00 426次阅读
    无线局域网竟然也需要<b class='flag-5'>红绿灯</b>管理!?

    基于STM32单片机的红绿灯系统设计

    整个系统以STM32 单片机作为核心控制器,然后该控制器可以控制OLED显示以及语音播报,可以通过光电管感应人体,当红灯情况下光电管1识别到人体时,语音播报“请耐心等待”并播报绿灯剩余时间,当光电管2识别到人体则播报“请不要闯红灯”。当绿灯情况下识别到人体时,语音播报“请
    的头像 发表于 07-24 15:08 1208次阅读
    基于STM32单片机的<b class='flag-5'>红绿灯</b>系统设计

    用树莓派控制交通红绿灯(进阶版)

    哇奥,今天才发现上一次建造的红绿灯居然不对,绿灯一般在下方,当红灯变绿灯时黄灯闪烁,我做的是绿灯变红灯时黄灯闪烁!。这在我们开发时也会碰到,就像找bug一样,对于发现的问题要及时修正。
    的头像 发表于 07-02 15:10 1028次阅读
    用树莓派控制交通<b class='flag-5'>红绿灯</b>(进阶版)

    用树莓派控制交通红绿灯(简洁版)

    前面我们通过控制LED灯和读取按钮状态,简单演示了树莓派如何通过GPIO来与外部世界沟通。今天我们要用树莓派模拟一个控制交通的红绿灯,让大家进一步学习如何通过程序和计算机的I/O来解决实际问题。
    的头像 发表于 07-02 15:08 1205次阅读
    用树莓派控制交通<b class='flag-5'>红绿灯</b>(简洁版)

    Arduino迷你红绿灯

    电子发烧友网站提供《Arduino迷你红绿灯.zip》资料免费下载
    发表于 06-30 14:30 0次下载
    Arduino迷你<b class='flag-5'>红绿灯</b>

    公交车LED屏显示红绿灯倒计时数

    介绍一种在公交车LED屏上显示红绿灯倒计时数的方案,本方案的核心是在公交车上增加一台根据公交车行驶位置数据从百度红绿灯API接口获取红绿灯倒计时数据并转化为控制车载LED屏显示的设备,为了研制该设备
    的头像 发表于 06-30 12:21 1000次阅读
    公交车LED屏显示<b class='flag-5'>红绿灯</b>倒计时数

    红绿灯倒计时API开发文档

    百度红绿灯倒计时API开发文档
    发表于 06-30 11:53 3次下载

    Air780EG与百度红绿灯API对接测试过程总结

    Air780EG使用EVB_Air780X_V1.7开发板,借助串口调试助手与EVB_Air780X_V1.7对接,通过AT命令控制HTTP对接百度红绿灯API。本文是对这个测试过程的总结。EVB_Air780X_V1.7获取百度红绿灯信息示例
    发表于 06-30 11:48 2次下载

    使用Fuxa为Arduino红绿灯制作HMI屏幕

    电子发烧友网站提供《使用Fuxa为Arduino红绿灯制作HMI屏幕.zip》资料免费下载
    发表于 06-25 15:15 3次下载
    使用Fuxa为Arduino<b class='flag-5'>红绿灯</b><b class='flag-5'>制作</b>HMI屏幕

    红绿灯识别知识点

    红绿灯识别是自动驾驶中最为基础的功能,识别方法主要有两种,一种基于视觉图像识别,一种基于v2x。 v2x,即通过红绿灯自己实时发送信号状态,再由车辆低延迟接收信号。该方法要对红绿灯进行改造,不仅
    发表于 06-06 09:54 0次下载
    <b class='flag-5'>红绿灯</b>识别知识点

    中文编程鸿蒙Hi3861开发基础案例之-03交通红绿灯

    中文编程鸿蒙Hi3861开发模拟交通红绿灯亮与灭控制
    的头像 发表于 05-11 11:27 1411次阅读
    中文编程鸿蒙Hi3861开发基础案例之-03交通<b class='flag-5'>红绿灯</b>