Arduino学习(四) 双色LED实验

双色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.








### 回答1: 使用Arduino按键控制LED实验的原理是:将按键连接到Arduino开发板的数字引脚上,利用数字引脚的输入模式检测按键是否按下,如果按键按下,则将相应的数字引脚电平变化,控制LED的亮灭。借助Arduino开发板的控制能力,实现了按键控制LED的简单功能。 ### 回答2: Arduino按键控制LED实验是一种简单的电路原理和编程实现。通过这个实验,我们可以学习电路原理,以及如何用Arduino语言控制硬件。具体实现步骤如下: 步骤一:准备材料 首先,我们需要准备一些材料,包括Arduino开发板、LED、面包板、杜邦线、电阻和按键。 步骤二:搭建电路 将LED和按键接入面包板上,然后用杜邦线连接到Arduino开发板上。为了避免电源过流,我们需要在电路中加入电阻,并注意阻值的大小。具体电路图如下: 步骤三:编写Arduino程序 我们需要编写Arduino程序,用语言控制LED的亮度。在这里我们需要定义输入输出端口,然后通过if语句判断按键按下还是抬起来实现亮灭。具体代码如下: int buttonPin = 2; // 定义按键输入端口 int ledPin = 6; // 定义LED输出端口 boolean buttonState = false; // 定义按键状态变量 void setup() { pinMode(ledPin, OUTPUT); // LED 输出模式 pinMode(buttonPin, INPUT); // 按键 输入模式 } void loop() { buttonState = digitalRead(buttonPin); // 读取按键状态 if (buttonState == HIGH) { // 按键按下 digitalWrite(ledPin, HIGH); // LED亮 } else { // 按键抬起来 digitalWrite(ledPin, LOW); // LED灭 } } 步骤:调试 完成输入输出端口和代码的编写后,就可以将程序上传到Arduino中,并连接电源调试。在调试过程中,我们需要注意按键的灵敏度,以及电路是否连接正确。 总结 Arduino按键控制LED实验只需要一些简单的电路原理和编程实现就可以完成。通过这个实验,我们可以学习如何使用Arduino语言控制硬件,为后续更复杂的实验做好了基础。 ### 回答3: Arduino按键控制LED实验原理 Arduino按键控制LED实验是基于Arduino开发板的,其实原理非常简单。我们需要用到一些基础电子元器件和Arduino开发板才能进行实验。 所需材料: 1. Arduino Uno开发板 2. LED 3. 按键 4. 电阻 5. 连接线 接线原理: 在这个实验中,我们将LED连接到Arduino数字引脚13,并连接一个按钮到数字引脚2。按钮随时准备监视当其触发时电路中的流动,并根据输入的电压调整引脚状态,以对接该设备。 在这个实验中,我们可以看到两个输入:一是从按钮中的引脚读取输入,另一个是从微控制器中读取13号引脚的输出。 操作原理: 当连接电源并输入程序时,Arduino将通过程序从数字引脚13给LED提供电源。LED的亮度取决于连接到数字引脚的电阻的电阻值。 而当我们按下按钮时,按钮将连接到电阻,并产生电流流向数字引脚2。当这些信息输入到芯片中,程序会相应地改变13号引脚的状态,使LED亮灭。 总的来说,Arduino按键控制LED实验原理就是通过按下按钮,输入信号到芯片中,使程序执行操作,从而产生对引脚状态的调整,最终控制LED的亮灭。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值