[quote]文章摘要:Rgb灯珠(RGB贴片灯)Rgb珠Rgb贴片灯) Rgb-LED光源 RGB LED通过混合三个基本颜色(红R、绿G、蓝B),可以产生不同的颜色。因此,实际上由三个单独的LED构成,红色、绿色、蓝色被封装在...
[/code]
Rgb珠Rgb贴片灯)
Rgb-LED光源
RGB LED通过混合三个基本颜色(红R、绿G、蓝B),可以产生不同的颜色。因此,实际上由三个单独的LED构成,红色、绿色、蓝色被封装在一个外壳中。理由是有4条导线,3种颜色有1条导线。Rgbled灯珠有共同阴极或共同阳极两种。这里采用了上公阴的LED。
</p>模块介绍Arduino控制器× 1220Ω电阻× 3面包板× 1电源× 1杜邦线 × nArduino以及RGB LED电路示意图
我们将RGB LED的共阴极接地,通过220欧姆电阻将3个阳极连接到Arduino板上能够提供PWM信号的3个数字销上。PWM用于模拟输出,向LED提供不同的电压以获得必要的颜色。
</p>Arduino代码
将LEDRgb的3个针连接到Arduino7,6,5号针上,redPin,greenPin,bluePin命名。将三个引脚定义为输出。setColor()函数用于接收三个不同的参数redValue、greenValue、blueValue。这些参数表示使用LED的亮度或analogWrite()函数创建的PWM信号的占空比。这些值表示PWM信号的100%占空比或最大LED亮度0?可以在255之间变化。
int redPin= 7;int greenPin = 6;int bluePin = 5;void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);}void loop() { setColor(255, 0, 0); //Red Color delay(1000); setColor(0, 255, 0); //Green Color delay(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);}
loop()函数创建用于每秒改变LED颜色的程序。要在LED上显示红色信号,请调用setColor()函数,将redValue参数的值设置为255,将其他两个参数的值设置为0。同样,可以分别得到绿色和蓝色两种基本颜色。要获得其他颜色,必须混合参数值。例如,如果将所有3个LED设定为最大亮度,则变为白色。想要紫色的情况下,请尝试170redValue、0greenValue、255blueValue的参数。 |