2019独角兽企业重金招聘Python工程师标准>>>

通过前面两次I/O输出的介绍,这次我们就来实现一个交通灯的例子
实物连接效果如图所示:
数码管的控制引脚不变,3个led灯连接到模拟端口0、1、2,分别对应绿、黄、红,引脚输出低点亮LED。
说明:当6个模拟口作为数字口的时候,其对应序号是接着其他的数字口的,即模拟口0--5对应就是数字口14--19。
实例功能如下:
红灯亮9秒,接着绿灯亮9秒,接着黄灯亮3秒,接着红灯亮9秒,如此循环。数码管显示当前LED灯熄灭剩余秒数
程序如下(直接粘贴到Arduino开发环境下就可直接应用,程序中略去了数码管显示0-9数字子函数,可参考初初教程2):
//设置控制各段及LED的数字IO脚
int a = 7;
int b = 6;
int c = 5;
int d = 11;
int e = 10;
int f = 8;
int g = 9;
int ledG = 14;
int ledY = 15;
int ledR = 16;
//引脚设置、初始化
void setup()
{
  int i;//定义变量
  for(i=5;i<=16;i++)
    pinMode(i,OUTPUT);//设置5~16引脚为输出模式
}
//程序执行部分
void loop()
{  
  while(1)
  {
//红灯
    digitalWrite(ledR,LOW);
digitalWrite(ledY,HIGH);
digitalWrite(ledG,HIGH);
    digital_9();    //显示9
delay(1000);    //延时1s
digital_8();    //显示8
    delay(1000);    //延时1s
    digital_7();    //显示7
    delay(1000);    //延时1s
    digital_6();    //显示6
    delay(1000);    //延时1s
    digital_5();    //显示5
    delay(1000);    //延时1s
    digital_4();    //显示4
    delay(1000);    //延时1s
    digital_3();    //显示3
    delay(1000);    //延时1s
    digital_2();    //显示2
    delay(1000);    //延时1s
    digital_1();    //显示1
    delay(1000);    //延时1s
//绿灯
    digitalWrite(ledR,HIGH);
    digitalWrite(ledY,HIGH);
digitalWrite(ledG,LOW);
    digital_9();    //显示9
delay(1000);    //延时1s
digital_8();    //显示8
    delay(1000);    //延时1s
digital_7();    //显示7
delay(1000);    //延时1s
    digital_6();    //显示6
    delay(1000);    //延时1s
    digital_5();    //显示5
    delay(1000);    //延时1s
    digital_4();    //显示4
    delay(1000);    //延时1s
    digital_3();    //显示3
    delay(1000);    //延时1s
    digital_2();    //显示2
    delay(1000);    //延时1s
    digital_1();    //显示1
    delay(1000);    //延时1s
//黄灯
    digitalWrite(ledR,HIGH);
    digitalWrite(ledY,LOW);
digitalWrite(ledG,HIGH);
digital_3();    //显示3
    delay(1000);    //延时1s
    digital_2();    //显示2
    delay(1000);    //延时1s
    digital_1();    //显示1
    delay(1000);    //延时1s
  }
}
有兴趣童鞋的可以编写一个带参数的数码管显示子函数,能够使程序更加精减
[ 本帖最后由 晨光熹微 于 2011-6-27 20:20 编辑 ]

附件

转载于:https://my.oschina.net/u/732489/blog/134018

Arduino初初教程3 ——交通灯相关推荐

  1. Ardino基础教程 4_交通灯

    实验四:交通灯 上面我们已经完成了单个小灯的控制实验,接下来我们就来做一个稍微复杂一点的交通灯实验,其实聪明的朋友们可以看出来这个实验就是将上面单个小灯的实验扩展成3 个颜色的小灯,就可以实现我们模拟 ...

  2. Arduino初初教程10——温湿度传感器

    2019独角兽企业重金招聘Python工程师标准>>> 这里使用的温湿度传感器是 SHT1X温湿度传感器 如图   SHT1x温湿度传感器是瑞士Sensirion公司推出的单片数字温 ...

  3. Arduino初初教程8——模拟量输出

    为什么80%的码农都做不了架构师?>>> Arduino通过PWM的方式在引脚上输出一个模拟量,较多的应用在LED亮度控制.电机转速控制等方面.PWM方式是通过对一系列脉冲的宽度进行 ...

  4. Arduino初初教程7——模拟量采集

    2019独角兽企业重金招聘Python工程师标准>>> 模拟量采集需要用到模拟量器件,这里主要指一些随着环境变化输出电压值随之变化的器件,如火焰传感器.部分温度传感器.可调电阻等等 ...

  5. 「雕爷学编程」Arduino动手做(34)——三色LED交通灯模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  6. 基于改进YOLOv7&OpenCV的行人过马路速度与交通灯实时监测系统(源码&教程)

    1.研究背景 横穿马路的行人运动速度太快.太慢或者突变都可能影响驾驶者的判断,从而导致交通事故.车载辅助系统应能够在交通路口为驾驶者提供异常行人的速度预判信息.文献[1-2]通过对不同红绿灯情形进行建 ...

  7. 【Arduino】交通灯控制设计 四位数码管

    实验现象 在Arduino开发板上设计红黄绿Led灯定时循环同步数码管显示,以数码管时间显示进行定时循环控制,要求红绿灯定时15秒,黄灯定时5秒.并在此基础之上设计串口通信键盘输入变量进行红黄绿LED ...

  8. 学会做arduino交通灯

    arduino单片机浅显入门之让灯亮起来 请先百度"面包板"和arduino单片机了解面包板的电路和单片机的引脚组成 目的:让多个灯灯受控制地亮,具备交通灯控制能力 这是一个最简单 ...

  9. Python基于OpenCV的智能交通灯系统(南北车流量比例)[源码&部署教程]

    1.研究背景: 在传统城市道路交通信号灯的应用过程中,存在专业技术人员较缺乏.项目投入资金少.信号灯故障抢修较困难等问题,为城市居民生活与出行带来极大不便.对此,文章进行深入研究,分析了城市道路智慧交 ...

最新文章

  1. python语言必背代码-Python入门必须知道的11个知识点
  2. break、continue和return的使用
  3. python获取邮箱地址_Python操作邮箱
  4. AtCoder - arc100_c Or Plus Max(SOSdp)
  5. python常用的绘图库_Python3绘图库Matplotlib(01)
  6. ubuntu 10.04   花屏   启动缓慢   处理办法
  7. Python人脸识别的简要介绍(附实例、Python代码)
  8. 说要干掉苹果的罗永浩却打起了微软
  9. 如何用iMazing Profile Editor编辑配置文件
  10. C向Python传递数组参数时,调用函数后才能销毁
  11. python简单绘图代码-python绘图代码
  12. 车用总线技术 | J1939协议实用指南与J1939数据记录方案
  13. python自动打印如何实现-Python 实现自动完成A4标签排版打印功能
  14. 项目管理-产品开发流程
  15. 联想计算机 屏幕 无法进入,解决方案:联想笔记本如何进入BIOS?联想出现在计算机屏幕上。...
  16. sql 按照天环比_同比环比sql实例
  17. 水电水利建设项目水环境与水生生态保护技术政策
  18. 【wpf】如果让Bingding 如何让后台数据强制更新界面
  19. 流体机械原理及设计07
  20. Vue3+TS + element-plus 项目 动态生成Icon图标

热门文章

  1. 对Document library中修改文档的Author之实现修改在list(三)
  2. 编写安全的ASP代码
  3. Java基础教程,第三讲,运算符 变量定义 数据类型转换
  4. 小博老师解析Java核心技术 ——JDBC数据库操作类封装
  5. CISCO-生成树-安全保护配置
  6. 可视化-grafana_使用influxDB数据
  7. MySQL 中的运算符
  8. shell的嵌入命令大全
  9. 【转载】用三段 140 字符以内的代码生成一张 1024×1024 的图片
  10. Sparkamp;Spark性能调优实战