双色LED是一种可以显示二色颜色的LED灯, 可以有三种状态: 灭, 颜色1亮, 颜色2亮 . 根据颜色组合的不同, 分为红蓝双色, 黄蓝双色, 红绿双色等等.
双色LED是一种常用的LED. 常于指示状态, 比如:红色表示忙碌, 绿色表示Ready.
一, 双色LED( TWO-COLOR LED) 原理
双色LED其实就是把二个LED做在一个元件中( 内部原理图如下). 根据接线的不同,分为共阳型和共阴型二种。
二个LED有四个脚, 但双色LED只有三个脚, 两个LED共用一个脚.
如果共用的是阳极,则称为共阳型. 如果共用的是阴极,则称为共阴型. 两者的使用电路是不同的. 选购\使用元器件是要注意区分.
二、双色LED灯实验(使用双色LED模块)
1, 双色LED模块
如下图:图中模块有三个管脚,
其中 (图中左侧)标注‘-’的管脚接GND,中间的管脚接数字IO,(图中右侧)标注"S"的管脚也接数字IO
当中间管脚为高电平,则LED亮灯为一种颜色。
当S管脚为高电平,则LED亮灯为另一种颜色。
2, 接线
用杜邦线把模块三个脚分别接到开发板上,其中把 "-"线接 GND, 中间的脚接D5, "S"脚接D8
3, 在Arduino IDE中写个Arduino程序控制双色LED灯
int pin1 = 5; //双色LED管脚1
int pin3 = 8; //双色LED管脚3
void setup() {
pinMode(pin1, OUTPUT); //设置管脚1为输出状态
pinMode(pin3, OUTPUT); //设置管脚3为输出状态
}
void loop() {
//熄灭
digitalWrite(pin1, LOW); //设置管脚1为LOW
digitalWrite(pin3, LOW); //设置管脚3为LOW
delay(1000); //等待1000毫秒
//颜色1亮
digitalWrite(pin1, HIGH); //设置管脚1为HIGH
digitalWrite(pin3, LOW); //设置管脚3为LOW
delay(1000); //等待1000毫秒
//颜色2亮
digitalWrite(pin1, LOW); //设置管脚1为LOW
digitalWrite(pin3, HIGH); //设置管脚3为HIGH
delay(1000); //等待1000毫秒
//颜色1亮 + 颜色2亮 (形成混合色)
digitalWrite(pin1, HIGH);//设置管脚1为HIGH
digitalWrite(pin3, HIGH); //设置管脚3为HIGH
delay(1000); //等待1000毫秒
}
运行效果: 双色LED每隔一秒换一种颜色\状态 ( 灭 --> 颜色1亮 --> 颜色2亮 -->颜色1+颜色2混合色 )
三、双色LED灯实验(使用双色LED元器件自已搭电路)
1, 准备元器件和器材
双色LED共阴型 一个
面包板一块
1K 电阻二个
杜邦线若干
2, 双色LED电路原理图
图中红框部分是共阴型双色LED, 它的中间管脚接GND, 两侧管脚分别接一个1K欧姆的阻流电阻,再接MCU的GPIO输出脚
3, 用面包板接线
共阴型双色LED元器件(上图)有三个脚,中间的脚是阴极
接线如下图: 阴极接GND, 两侧两脚分别接1K欧姆电阻,再分别接D5, D8
4, 在Arduino IDE中写个Arduino程序控制双色LED灯
int pin1 = 5; //双色LED管脚1
int pin3 = 8; //双色LED管脚3
void setup() {
pinMode(pin1, OUTPUT); //设置管脚1为输出状态
pinMode(pin3, OUTPUT); //设置管脚3为输出状态
}
void loop() {
//熄灭
digitalWrite(pin1, LOW); //设置管脚1为LOW
digitalWrite(pin3, LOW); //设置管脚3为LOW
delay(1000); //等待1000毫秒
//颜色1亮
digitalWrite(pin1, HIGH); //设置管脚1为HIGH
digitalWrite(pin3, LOW); //设置管脚3为LOW
delay(1000); //等待1000毫秒
//颜色2亮
digitalWrite(pin1, LOW); //设置管脚1为LOW
digitalWrite(pin3, HIGH); //设置管脚3为HIGH
delay(1000); //等待1000毫秒
//颜色1亮 + 颜色2亮 (形成混合色)
digitalWrite(pin1, HIGH);//设置管脚1为HIGH
digitalWrite(pin3, HIGH); //设置管脚3为HIGH
delay(1000); //等待1000毫秒
}
运行效果: 双色LED每隔一秒换一种颜色\状态 ( 灭 --> 颜色1亮 --> 颜色2亮 --> 颜色1+颜色2混合色 )
这个程序与使用双色LED模块是一样的.
课后练习题:
1,连接一个双色LED灯到Arduino开发板,编写一个程序,让LED灯来亮。
用万用表测量一下,通过LED灯的电流是多少。限流电阻两端的电压是多少。LED灯两端的电压是多少
如果要增加电流到10ma,限流电阻应改为多少? 修改电阻,看LED灯亮度有否变化,电流是否变化。
2,连接一个双色LED灯到Arduino开发板,编写一个程序,让LED灯上电时即开始亮颜色1,5秒种后亮颜色2。
3,连接一个双色LED灯到Arduino开发板,编写一个程序,让LED灯上电后闪烁颜色1,8秒种后闪烁颜色2,然后再5秒后常亮颜色2.