购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1.3 交通信号灯试验

现在做一套交通信号灯,信号灯要从绿灯亮变成黄灯亮,再变成红灯亮,然后再重新开始。时间间隔可以随意设定。这个项目可用于一个实用的铁路交通灯模型或孩子的玩具城市。首先要按照规定的方式做这个项目,当知道项目是如何工作的之后,再按照自己的想法去修改它。

1.硬件连接

要实现交通信号灯试验,需要以下硬件。

(1)红、绿、黄LED灯:3个。

(2)220Ω的电阻:3个。

(3)多彩面包板试验跳线:若干。

(4)面包板:1个。

按照图2-20所示的原理图和图2-21所示的实物图将3个LED灯依次接到数字10,7,4脚上,如图2-21所示。

使用一根跳线将 Arduino 的地端连接到面包板底部的地线上。使用一根地线将每一个LED的阴极引脚通过一个电阻连到公共地上。本次把电阻连接到LED的阴极上(对于这个简单的电路,电阻连在阴极上还是阳极上都没有关系)。

2.程序代码

输入下列代码并检查,如无错误,把代码上传到Arduino中。LED现在模拟交通信号灯系统的工作状态,如图2-22所示。

在这个交通灯模拟试验中,红黄绿三色小灯要模拟真实的交通灯,此处使用的是Arduino的delay()函数来控制延时时间,这相对于C语言来说就要简单许多了。

图2-20 交通信号灯试验电路原理图

图2-21 交通信号灯试验实物接线图

程序代码如下:

int ledred=10;//定义数字10红灯

int ledydllow=7;//定义数字7黄灯

int ledgreen=4;//定义数字4绿灯

void setup()

{

pinmode(ledred,OUTPUT);//设置红灯接口为输出接口

pinmode(ledyellow,OUTPUT);//设置黄灯接口为输出接口

pinmode(ledgreen,OUTPUT);//设置绿灯接口为输出接口

void loop()

{

digitalWrite(ledred,HIGH);//点亮红灯

delay(1000);//延时1000毫秒=1秒

digitalWrite(ledred,LOW);//熄灭红灯

digitalWrite(ledyellow,HIGH);//点亮黄灯

delay(200);//延时200毫秒

digitalWrite(ledyellow,LOW);//熄灭黄灯

digitalWrite(ledgreen,HIGH);//点亮绿灯

dylay(1000);//延时1000毫秒

digitalWrite(ledgreen,LOW);//熄灭绿灯

} SsRrV73vq9TtT59ohXhV2EEkcCvvig5nkm+XrvW2FJnmIqR31z4gXtyjMDGDjo/C

点击中间区域
呼出菜单
上一章
目录
下一章
×