在本指南中,您將學(xué)習(xí)如何使用Arduino控制RGBLED。RGB(紅-綠-藍(lán))LED可以通過混合不同強(qiáng)度的紅、綠、藍(lán)光來產(chǎn)生多種顏色。您將學(xué)習(xí)創(chuàng)建一個(gè)基本Arduino RGB LED電路,并以一些基本顏色為例循環(huán)。
使用提供的原理圖和試驗(yàn)板圖像,以及下面的示例代碼,您應(yīng)該擁有輕松設(shè)置和控制RGBLED顏色輸出所需的一切。
所需零件
ArduinoUno的
面包板(和一些面包板電線)
3x電阻(220Ω)
RGB發(fā)光二極管
RGBLED有兩種類型:共陽極和共陰極。我們將在下面提供兩種類型的示例原理圖和代碼。
如何將RGBLED連接到Arduino
這是電路原理圖。該圖使用三個(gè)電阻器和一個(gè)共陽極RGBLED(您將在下面找到共陰極的原理圖)。

如果您使用的是共陽極LED,則需要將共陽極引腳連接到5V,如下所示:

在試驗(yàn)板上連接電路的步驟
如果您使用的是共陰極RGBLED,請將陰極連接到Arduino上的GND引腳。如果您的RGBLED是公共陽極,請將陽極連接到Arduino上的5V引腳。
將LED的紅色、綠色和藍(lán)色支腿分別連接到Arduino的引腳11、10和9,每個(gè)引腳都通過一個(gè)220歐姆電阻器。
確保您的Arduino通過USB電纜連接到計(jì)算機(jī)。
使用下面的面包板圖像之一作為設(shè)置連接的視覺指南:

連接到Arduino的共陰極RGBLED

連接到Arduino的共陽極RGBLED
上傳ArduinoRGBLED代碼
使用ArduinoIDE將下面的代碼上傳到您的Arduino,您應(yīng)該會看到LED循環(huán)使用不同的顏色,每種顏色停止一秒鐘。
RGBLED(共陰極)的完整Arduino代碼:
int redPin= 11;
int greenPin = 10;
int bluePin = 9;
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, 0); // Yellow Color
delay(1000);
setColor(0, 255, 255); // Cyan Color
delay(1000);
setColor(255, 0, 255); // Magenta Color
delay(1000);
setColor(255, 165, 0); // Orange Color
delay(1000);
setColor(128, 0, 128); // Purple Color
delay(1000);
setColor(255, 255, 255); // White Color
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
如果您使用的是共陽極RGBLED,則與共陰極RGBLED相比,邏輯是相反的。在共陰極RGBLED中,您為特定引腳提供電源(HIGH)以打開顏色。對于共陽極RGBLED,將特定引腳接地(LOW)以打開顏色。
因此,對于普通陽極RGBLED,要設(shè)置顏色,您需要在應(yīng)用之前從最大值(即255)中減去每個(gè)顏色值。此反轉(zhuǎn)可確保特定顏色的值為255(全強(qiáng)度)會導(dǎo)致該顏色被關(guān)閉,而值為0(無強(qiáng)度)會導(dǎo)致該顏色完全打開。
RGBLED(共陽極)的完整Arduino代碼:
int redPin= 11;
int greenPin = 10;
int bluePin = 9;
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, 0); // Yellow Color
delay(1000);
setColor(0, 255, 255); // Cyan Color
delay(1000);
setColor(255, 0, 255); // Magenta Color
delay(1000);
setColor(255, 165, 0); // Orange Color
delay(1000);
setColor(128, 0, 128); // Purple Color
delay(1000);
setColor(255, 255, 255); // White Color
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, 255 - redValue);
analogWrite(greenPin, 255 - greenValue);
analogWrite(bluePin, 255 - blueValue);
}
代碼的工作原理
此代碼首先通過變量redPin、greenPin和bluePin設(shè)置RGBLED引腳。如果您使用的引腳與示例電路中的引腳不同,請更改這些引腳。
然后,代碼以紅色、綠色、藍(lán)色、黃色、青色、品紅色、橙色、紫色和白色點(diǎn)亮RGBLED,并在每種顏色上暫停一秒鐘。
結(jié)論
通過更改函數(shù)中的值來嘗試不同的顏色組合!請記住,RGBLED結(jié)合了紅光、綠光和藍(lán)光來產(chǎn)生多種顏色。您現(xiàn)在可以使用Arduino和RGBLED創(chuàng)建彩色顯示器!
審核編輯:陳陳
-
led
+關(guān)注
關(guān)注
243文章
24344瀏覽量
685068 -
RGB
+關(guān)注
關(guān)注
4文章
819瀏覽量
61228 -
Arduino
+關(guān)注
關(guān)注
190文章
6510瀏覽量
195319
發(fā)布評論請先 登錄
arduino + wiscam 基于Windows控制RGB
怎樣用HTML應(yīng)用程序控制RGB LED
Arduino條LED RGB模塊HC-06開源
RGB LED褪色Arduino庫開源分享
將Arduino Uno與RGB LED連接
使用Arduino和Python Tkinter進(jìn)行RGB Led控制
在Arduino上使用共陰極和共陽極RGB LED
使用Arduino Uno的多個(gè)RGB Led Chaser
基于Arduino UNO的帶遙控器環(huán)境燈
Arduino控制的RGB LED燈條
Arduino RGB Led控制通過PC
帶有Arduino Uno的RGB LED雪花
如何使用Arduino的RGB Led產(chǎn)生16M色
使用Arduino的Android控制RGB LED燈條

如何使用Arduino控制RGB LED
評論