RGB三色燈簡介
RGB色彩模式包含紅綠藍三種,通過控制紅(R)、綠(B)、藍(G)三種顏色的變化使其相互疊加產(chǎn)生花式顏色。而其顏色值的輸出是通過PWM來控制的。RGB三基色按照不同的比例相加合成混色稱為相加混色,除相加混色法之外還有相減混色法。
PWM控制
PWM,即脈沖寬度調(diào)制,是英文“Pulse Width ModulaTIon”的縮寫。根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管基極或MOS管柵極的偏置,來實現(xiàn)晶體管或MOS管導(dǎo)通時間的改變,從而實現(xiàn)開關(guān)穩(wěn)壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字信號對模擬電路進行控制的一種非常有效的技術(shù)。
PWM功能簡介
PWM主要通過analogWrite () 進行控制,針對Arudino UNO板子中帶有"~"的3、5、6、9、10、11數(shù)字端口寫入一個模擬值,通知高電平與低電平持續(xù)時間的比值控制LED的亮度變化或者電機的轉(zhuǎn)速。
例如:欲使得內(nèi)置的Arudino UNO 中的led亮度變?yōu)樵瓉淼囊话悖帉慳nalogWrite (13,127)就可以了。一個電路讓一個端口循環(huán)輸出2.5V、3V、5V電壓,僅僅用硬件電路就困難了,這時候就是PWM大顯身手的時候了。
占空比:高電平與低電平持續(xù)時間之比。
硬件電路連接
| Arduino引腳 | RGB LED(共陰極) |
|---|---|
| D11 | R |
| D10 | B |
| D9 | G |
| GND | GND |
所需器件
| 名稱 | 數(shù)量 |
|---|---|
| 電阻 | 3 |
| RGB LED燈 | 1 |
| Arduino UNO開發(fā)板 | 1 |
控制代碼
控制RGB代碼如下
/*運行環(huán)境:Arduino 1.8.19*/
#define GREEN 9
#define BLUE 10
#define RED 11
int redValue;
int greenValue;
int blueValue;
void setup(){
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}
void loop(){
#define delayTime 1
redValue = 255;
greenValue = 0;
blueValue = 0;
for(int i = 0; i < 255; i += 1){
redValue -= 1;
greenValue += 1;
analogWrite(RED, redValue);
analogWrite(GREEN, greenValue);
delay(delayTime);
}
redValue = 0;
greenValue = 255;
blueValue = 0;
for(int i = 0; i < 255; i += 1){
greenValue -= 1;
blueValue += 1;
analogWrite(GREEN, greenValue);
analogWrite(BLUE, blueValue);
delay(delayTime);
}
redValue = 0;
greenValue = 0;
blueValue = 255;
for(int i = 0; i < 255; i += 1){
blueValue -= 1;
redValue += 1;
analogWrite(BLUE, blueValue);
analogWrite(RED, redValue);
delay(delayTime);
}
}


返回頂部
刷新頁面
下到頁底