9317| 1
|
[入门] Arduino学习(四) 双色LED实验 |
本帖最后由 tyjjr 于 2019-1-25 10:40 编辑 双色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灯 [mw_shl_code=applescript,true]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毫秒 }[/mw_shl_code] 运行效果: 双色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灯 [mw_shl_code=applescript,true]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毫秒 }[/mw_shl_code] 运行效果: 双色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秒后常亮颜色 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed