Arduino初初教程3 ——交通灯

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

通过前面两次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 编辑 ]

附件 Arduino初初教程3 ——交通灯_第1张图片

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

你可能感兴趣的:(Arduino初初教程3 ——交通灯)