Arduino学习(四) 双色LED实验

Arduino学习(四) 双色LED实验_第1张图片

双色LED是一种可以显示二色颜色的LED灯,  可以有三种状态:  灭,  颜色1亮, 颜色2亮 .  根据颜色组合的不同,  分为红蓝双色,  黄蓝双色, 红绿双色等等.

双色LED是一种常用的LED. 常于指示状态, 比如:红色表示忙碌, 绿色表示Ready. 

一, 双色LED( TWO-COLOR LED) 原理

双色LED其实就是把二个LED做在一个元件中( 内部原理图如下).  根据接线的不同,分为共阳型和共阴型二种。

Arduino学习(四) 双色LED实验_第2张图片


 二个LED有四个脚, 但双色LED只有三个脚,  两个LED共用一个脚. 

 如果共用的是阳极,则称为共阳型. 如果共用的是阴极,则称为共阴型.  两者的使用电路是不同的.  选购\使用元器件是要注意区分.



二、双色LED灯实验(使用双色LED模块)

1, 双色LED模块

     如下图:

     Arduino学习(四) 双色LED实验_第3张图片

图中模块有三个管脚,

  其中  (图中左侧)标注‘-’的管脚接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电路原理图

Arduino学习(四) 双色LED实验_第4张图片

图中红框部分是共阴型双色LED, 它的中间管脚接GND,  两侧管脚分别接一个1K欧姆的阻流电阻,再接MCU的GPIO输出脚


3, 用面包板接线

Arduino学习(四) 双色LED实验_第5张图片

  共阴型双色LED元器件(上图)有三个脚,中间的脚是阴极

接线如下图: 阴极接GND, 两侧两脚分别接1K欧姆电阻,再分别接D5, D8

Arduino学习(四) 双色LED实验_第6张图片



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.








你可能感兴趣的:(arduino)