1.簡介
本篇要介紹的是 RGB LED 全彩模組,「RGB」這三個字母分別代表 Red(紅)、Green(綠)、Blue(藍)
透過調整紅、綠、藍三色的亮度比例,我們就能混合出各種不同的色彩,這個原理與電腦螢幕、電視或手機顯示器的成像方式相同,都是藉由三種光色的組合,創造出豐富多變的色彩世界
每個原色亮度可設定 0~255 的數值,可組合出多達1600 萬種顏色,也就是所謂的「全彩」效果

2.材料介紹與準備
3.電路連接
本次範例所使用的模組為共陰型(GND 腳位)。共有四支腳,其中三支分別對應 R(紅)、G(綠)、B(藍)
- -:GND
- R:D9
- G:D8
- B:D7

4.範例1:RGB LED燈顏色變換
LED 會依序顯示紅色、綠色與藍色三種顏色,每種顏色持續顯示 1 秒鐘。
程式說明:
int red=9; //設置紅燈腳位
int green=8; //設置綠燈腳位
int blue=7; //設置藍燈腳位
void setup() {
pinMode(red, OUTPUT); //設置藍燈為輸出
pinMode(green, OUTPUT); //設置紅燈為輸出
pinMode(blue, OUTPUT); //設置綠燈為輸出
}
void loop() {
digitalWrite(red, HIGH); //設置紅燈亮起
digitalWrite(green, LOW); //設置綠燈熄滅
digitalWrite(blue, LOW); //設置藍燈熄滅
delay(1000);
digitalWrite(red, LOW); //設置紅燈熄滅
digitalWrite(green, HIGH); //設置綠燈亮起
digitalWrite(blue, LOW); //設置藍燈熄滅
delay(1000);
digitalWrite(red, LOW); //設置紅燈熄滅
digitalWrite(green, LOW); //設置綠燈熄滅
digitalWrite(blue, HIGH); //設置藍燈亮起
delay(1000);
}
5.範例2:RGB LED燈呼吸效果
透過在迴圈中逐步改變 PWM 的輸出值(0~255),讓 LED 的亮度緩慢上升與下降。當紅、綠、藍三個通道以不同的節奏進行時,就能讓顏色彼此交錯變化,呈現出柔和的「呼吸燈」效果。
程式說明:
int Red = 9;
int Green = 8;
int Blue = 7;
int r, g, b;
void setup() {
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
}
void loop() {
for (r = 0; r < 256; r++) { // 由藍到紫
analogWrite(Red, r);
delay(5);
}
for (b = 255; b > 0; b--) { // 由紫到紅
analogWrite(Blue, b);
delay(5);
}
for (g = 0; g < 256; g++) { // 由紅到黃
analogWrite(Green, g);
delay(5);
}
for (r = 255; r > 0; r--) { // 由黃到綠
analogWrite(Red, r);
delay(5);
}
for (b = 0; b < 256; b++) { // 由綠到藍綠色
analogWrite(Blue, b);
delay(5);
}
for (g = 255; g > 0; g--) { // 由藍綠色到藍色
analogWrite(Green, g);
delay(5);
}
}