Arduino RGB LED配置!这就是我们在本教程中要介绍的内容!大多数情况下,你会使用单一颜色的led。例如红色、绿色或蓝色。一个RGB LED基本上是三个LED结合在一起,可以产生数千种颜色!

请注意,本教程不是关于WS2812B或类似的。我们有一个关于那些的单独教程。

RGB led解释

在我们进入Arduino RGB LED配置、接线等之前。让我们先来看看RGB LED本身的基本原理。RGB LED由3个LED组成。一个红色,一个绿色,和一个蓝色的LED都在同一个外壳中,每个都有单独的引线。这使得LED能够以不同的强度混合颜色,从而能够呈现数千种颜色。有4-1个RGB LED,包括一个白光LED。虽然这些比较少见,但它们的工作原理是一样的。

RGB LED引出线

你会遇到两种RGB led,它们的连接方式非常不同

  • 常见的阳极(+)-这种类型的LED有四个引脚。每一种颜色的阴极(-)和共享的阳极(+)。LED共用一个3.3V到5V的输入电压。将每个阳极接地将会照亮不同的颜色。
  • 共阴极(-)-这种类型的LED有四个引脚。每一种颜色的阳极(+)和共享阴极(-)。LED共享一个共同的地面,施加3.3V到5V的每个阳极将照亮不同的颜色。这是最常见的RGB LED。
Arduino RGB LED共阴极与共阳极

Arduino RGB LED颜色

人眼只有三个锥体(大多数人)。这些锥体是红色,绿色和蓝色的探测器。但是,LED和LCD只能单独显示这些颜色。这些LED可以混合以显示出这三种颜色的不同强度。由于每个LED的尺寸小,所以你的眼睛被欺骗看看并不实际上存在的颜色!

随着arduino和一个叫做的技术脉宽调制,我们可以单独脉冲LED的每种颜色以产生许多不同的颜色。Arduino的PWM可编程为0-255。0将关闭,255个将是100%亮度。这是256个可能的变化。这为我们提供了16,777,216种可能的颜色。

例如,如果我们将PWM设置为这些值,我们将获得颜色品红在我们的领导。或者至少这就是你的眼睛将被欺骗!

  • 红色的PWM = 255(100%)
  • 绿色PWM = 0 (0%)
  • 蓝色PWM = 255(100%)

一般来说,红色总是在LED的平侧,最长的引脚是常见的。然而,任何配置都是可能的。如果你没有LED的规格,你可能只需要一次测试一个引脚。

本项目零件清单

如果你想在家里完成本教程,这里有一个方便的项目部件列表。其中一些可能是从属链接。它们不需要你付出任何代价,但你可以支付给我们一小笔佣金,这样我们就可以继续创造像这样优秀的内容。

QTY. 部分/链接
1x. Arduino Uno
1x. USB B型线
1x. 无焊接面包板
1x. 跳线设备
1x. 电阻箱(220欧姆)
1x. LED套件(包括RGB)
买一个极客酒吧!

Arduino RGB LED接线图

由于普通阴极是迄今为止最常见的LED,您将在我们的Arduino RGB LED接线图中使用它。如图所示,RGB LED提升。

笔记:如果你的颜色看起来不正常或不正确,很可能是你的LED有一个定制的pinout。您可能需要尝试一次应用一个引脚,以确定哪个引脚是哪个颜色。普通引脚应该总是最长的引脚。

Arduino RGB LED接线图

Arduino RGB LED代码

这组代码将允许您简单地选择您希望导致的颜色为:

/ * Arduino RGB LED教程:单色:TheGeekPub.com更多Arduino教程:https://www.thegekpub.com/arduino-turorials/ * / const int pin_red = 9;//销9上的红色LED 9 const int pin_green = 10;//销10上的绿色LED in int pin_blue = 11;//引脚11 //变量上的蓝色LED持有我们的颜色强度int红色;int绿色;蓝色;/ *此功能“设置颜色”将设置LED的颜色而不是在上面的循环中遍布遍及。* / void setcolor(int r,int g,int b){damparwwrite(pin_red,r);Amplwwrite(Pin_Green,G);Amplwwrite(Pin_Blue,B); } void setup() { //set all three pins to output mode pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); //set the color of the LED setColor(248, 226, 55); //geek pub yellow! } void loop() { //nothing needed here }

这个代码会快速地循环遍历所有的1600万种颜色。如果它太快,您可以取消注释延迟。

/ * Arduino RGB LED教程:自动循环颜色通过:thegeekpub.com更多Arduino教程:https://www.thegekpub.com/arduino-turorials/ * / const int pin_red = 9;//销9上的红色LED 9 const int pin_green = 10;//销10上的绿色LED in int pin_blue = 11;//引脚11 //变量上的蓝色LED持有我们的颜色强度int红色;int绿色;蓝色;/ *此功能“设置颜色”将设置LED的颜色而不是在上面的循环中遍布遍及。* / void setcolor(int r,int g,int b){damparwwrite(pin_red,r);Amplwwrite(Pin_Green,G);Amplwwrite(Pin_Blue,B); } void setup() { //set all three pins to output mode pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { for (red = 0; red <= 255; red++) { for (green = 0; green <= 255; green++) { for (blue = 0; blue <= 255; blue++) { setColor(red, green, blue); //delay(10); } } } }

下一个步骤

现在您是Arduino RGB LED专家,您可以继续前进到下一个教程或返回索引!