使用Arduino控制LED实现红绿灯效果
文章目录
前言
点亮和熄灭LED是arduino的一项基础技能,本文将简单介绍其具体操作及简易红绿灯的制作。
一、了解LED
LED(light-emitting diode),中午名为发光二极管,是一种常用的发光器件,通过电子与空穴复合释放能量发光,可高效地将电能转化为光能。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
在使用LED时需分清它的正负极。一般LED较长一端引脚为正极,较短一端为负极。
可参考以下两张图片:
二、Blink(控制LED亮灭)
1.连接电路图
1.1.所需硬件
arduino UNO × 1
发光二极管 × 1
220Ω电阻 × 1
杜邦线 若干
数据线 × 1
面包板 × 1
1.2.电路图及原理图
2.代码
Blink的代码在arduino的示例中。中文版打开方式:
文件 > 示例 > 01.Basics > Blink
但使用arduino自带的代码时需注意:代码中的LED_BUILTIN指的是arduino开发板上的L(LED缩写),如果连接好电路后直接按照它提供的代码运行会出现L正常闪烁而面包板上的LED没反应,所以需要自己把代码中的LED_BUILTIN全部改为9(9号引脚)。
当然你也可以从我这里直接复制。代码如下:
// 当您按下重置或给电路板通电时,设置功能运行一次
void setup() {
// 将数字引脚9初始化为输出
pinMode(9, OUTPUT);
}
// 循环函数永远重复运行
void loop() {
digitalWrite(9, HIGH); // 通过向9号引脚输出高电平打开LED
delay(1000); // 延迟一秒钟
digitalWrite(9, LOW); // 通过使电压为低来关闭LED
delay(1000); // 延迟一秒钟
}
三、实现简单的红绿灯效果
1.分析
红绿灯一般由三种颜色(绿色、黄色和红色)的信号灯组成,一般红灯亮起时间最长,绿色和黄色依次次之。为了省事,我们将红灯时间定为10秒,绿灯为8秒,黄灯为5秒,从红灯开始,依次亮起。
2.连接电路图
2.1.所需硬件
arduino UNO × 1
发光二极管(绿色) × 1
发光二极管(黄色) × 1
发光二极管(红色) × 1
220Ω电阻 × 3
杜邦线 若干
数据线 × 1
面包板 × 1
2.2.电路图及原理图
3.代码
int red=10,green=9,yellow=8; //定义red为10号引脚,green为9号引脚,yellow为8号引脚
// 当您按下重置或给电路板通电时,设置功能运行一次
void setup()
{
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
}
// 循环函数永远重复运行
void loop()
{
digitalWrite(red, HIGH); // 输出高电平打开红色LED
delay(10000); // 延迟十秒钟
digitalWrite(red, LOW); // 通过使电压为低来关闭红色LED
digitalWrite(green, HIGH); // 输出高电平打开绿色LED
delay(8000); // 延迟八秒钟
digitalWrite(green, LOW); // 通过使电压为低来关闭绿色LED
digitalWrite(yellow, HIGH); // 输出高电平打开黄色LED
delay(5000); // 延迟五秒钟
digitalWrite(yellow, LOW); // 通过使电压为低来关闭黄色LED
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了如何控制LED的亮灭,以及简易交通信号灯的实现,而通过改变信号灯的延迟时间还可以实现流水灯的效果,各位可以自行往下探索。
另:本人是初学者。如有不足,望各路大神指正!