风筝
发表于: 2019-1-22 17:22:11 | 显示全部楼层

共阴极和共阳极RGB LED是两种不同类型的LED,其功能相同但工作方式不同。本篇文章主要介绍如何在Arduino开发板上使用这两种不同的RGB LED。


RGB LED广泛用于Arduino平台的许多项目中。他们致力于组合任何色调的基本颜色的基本概念,即红色、绿色和蓝色。所有颜色都有这些基本颜色成分。因此,我们可以使用RGB LED制作任何我们想要的颜色。


在市场上,有两种类型的RGB LED  - 共阴极和共阳极LED。人们(特别是初学者)经常感到困惑,因为普通的阴极易于使用,但是共阳极表现不同,即使它们来自同一品牌并且在相同的Arduino草图上外观相同。


所需的硬件

●    Arduino UNO开发板

●    共阴极RGB LED

●    共阳极RGB LED

●    面包板

●    跳线


什么是RGB LED?

这些LED有三种三基色(红色、绿色和蓝色)的微型LED,其中一个终端是共用的。一些具有共同的正极端子(阳极)而一些具有共同的负极端子(阴极)。当不同的电压施加到不同的LED时,它们会混合并产生数千种颜色。

Circuit diagram of CC and CA RGB LEDs.png

CC和CA RGB LED的电气原理图。


模数转换

对于0 V至5V的模拟电压,值(0  -  255)作为数字值输入。

这是通过以下公式来完成的:

数字值= 51 x 模拟电压


例如,如果需要2 V的模拟电压,则输入的数字值是51的2倍,等于102。

formula.jpeg

可以使用图中具有两个点的线的等式来评估该公式。


Arduino使用共阴极(CC)的RGB LED

电路的连接非常简单:

1.  将CC LED插入面包板。

2.  将共阴极的公共端,与Arduino中的GND引脚连接。

3.  将每个LED彩色端子(红色、绿色和蓝色)与Arduino中的数字引脚相连,每个引脚与221欧姆电阻串联。

4.  上载草图并打开串行监视器以输入值。


共阴极电路易于使用,编码简单。值越大,相应颜色的强度就越大。这称为Current Sourcing


CC RGB LED的工作过程:

Working of CC RGB LED.jpeg


代码

  1. while(Serial.available()==0){
  2.    }
  3.    redBrightness = Serial.parseInt(); //Stores value in variable
  4.    Serial.println(redBrightness);    //prints value on serial monitor
  5. analogWrite(red, redBrightness);     //sends analog signals to red LED
复制代码

result.jpeg


Arduino使用共阳极(CA)RGB LED

电路连接如下:

1.  将LED插入面包板。

2.  将LED的共阳极连接到Arduino的5V引脚(共阴极,我们将其连接到GND引脚)。

3.  将每个LED彩色端子(红色、绿色和蓝色)与Arduino中的数字引脚相连,每个引脚串联一只221欧电阻。


代码和共阴极类似。值越大,相应颜色的强度越多。这些LED的工作原理是Current Sinking


CC RGB LED的工作过程:

Working of CA RGB LED.jpeg


代码

  1. while(Serial.available()==0){
  2.    }
  3.    blueBrightness = 255 - Serial.parseInt();   
  4. /**
  5.     Here, the value is taken and the difference between value and 255(peak value) is stored in the variable.
  6. **/
  7.    
  8.    Serial.println(blueBrightness);    //Prints value on the serial monitor
  9.    Serial.println("   ");
  10. analogWrite(blue, blueBrightness);    //sends analog signals to blue LED
复制代码

例如:我们想为蓝色LED提供3 V电压。使用公式,3 x 51 = 153!

在串行监视器中输入153,差值为255  -  153 = 102。

因此,'blueBrightness'的值是102。使用公式,102被转换为2V的模拟电压。

现在,阳极处的5V电压与相反方向的2 V相反,净电压取为:

净电压= V1 + V2

= 5 +( -  2)[2V取为-2V,因为w.r.t方向相反。 5 V]

= 5  -  2

= 3

因此,最后,所需的净电压为3V。


本篇文章使用的完整代码如下: RGB LED.rar (679 Bytes, 下载次数: 26)

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-8 04:55 , Processed in 0.046446 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表