在这个Arduino教程中,我们将学习RGB LED是什么以及如何与Arduino板一起使用它。您可以观看以下视频或阅读下面的书面教程。
RGB LED可以通过混合红色,绿色和蓝色混合3个基本颜色来发射不同的颜色。因此,它实际上由3个独立的LED红色,绿色和蓝色包装在一个案例中。这就是为什么它有4个引线,3种颜色中的每一个引线和一个常见的阴极或阳极,这取决于RGB LED型。在本教程中,我将使用一个共同的阴极。
本教程所需的组件
- RGB LED ..........................................亚马逊/Bangggod./aliexpress.
- 3x 220欧姆电阻.................. ..亚马逊/伯格多德/aliexpress.
- Arduino Board .................................亚马逊/伯格多德/aliexpress.
- 面包板和跳线.........亚马逊/伯格多德/aliexpress.
必威外围提钱披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。
Arduino和RGB LED电路原理图
阴极将连接到地面,3个阳极将通过220欧姆电阻连接到可以提供PWM信号的Arduino板上的3个数字引脚。我们将使用PWM进行模拟模拟输出,这将为LED提供不同的电压电平,因此我们可以获得所需的颜色。
我们将使用PWM进行模拟模拟输出,这将为LED提供不同的电压电平,因此我们可以获得所需的颜色。
源代码
现在让我们看看Arduino素描。我将使用PINS 7,6和5,我会将它们命名为Redpin,GreenPin和Bluepin。在设置部分中,我们需要将它们定义为输出。在素描的底部,我们拥有这个定制的函数,名为setcolor(),它需要3个不同的参数redvalue,greenvalue和bluevalue。这些参数表示LED的亮度或PWM信号的占空比,该PWM信号是使用ADMWWWRITE()函数创建的。这些值可以从0到255变化,这表示PWM信号或最大LED亮度的100%占空比。
int Redpin = 7;int greenpin = 6;int bluepin = 5;void setup(){pinmode(Redpin,输出);Pinmode(绿色,输出);Pinmode(Bluepin,输出);void循环(){setcolor(255,0,0);//红色延迟(1000);SetColor(0,255,0);//绿色延迟(1000); setColor(0, 0, 255); // Blue Color delay(1000); setColor(255, 255, 255); // White Color delay(1000); setColor(170, 0, 255); // Purple Color delay(1000); } void setColor(int redValue, int greenValue, int blueValue) { analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue); }
所以现在在循环函数中,我们将使我们的程序变为每个秒钟的颜色。为了在LED上获得红灯,我们将调用SETCOLOR()函数,并为redValue参数设置255的值,以及两个其他参数的0。我们可以获得另外两个基本颜色,绿色和蓝色。用于获取其他颜色,我们需要混合参数值。例如,如果将所有3个LED设置为最大亮度,我们将获得白色颜色,如果我们将以下值设置为参数,我们将获得紫色:170 RedValue,0 GreenValue和255 BlueValue。这是素描的演示。