Table of Contents
Toggle前言
想讓你的房間、櫃子或展示區充滿科技感?利用 ESP32 搭配 RGB LED,你就能輕鬆打造出一場屬於自己的七彩燈光秀!
本篇教學將一步步教你如何接線、撰寫程式、控制顏色變化,甚至用 Wi-Fi 遙控燈光,實現專業級燈效。
什麼是 RGB LED?
RGB LED 是由 紅 (Red)、綠 (Green)、藍 (Blue) 三個 LED 組合而成的燈珠。
透過改變各色亮度,就能混合出千變萬化的顏色。
共陽與共陰
- 共陽(共正極):三色共用正極,分別接地控制亮度。
- 共陰(共負極):三色共用負極,分別接電源控制亮度。
小提醒:在 Arduino/ESP32 專案中,通常使用共陰型較為直覺。
ESP32 的優勢
ESP32 是一款功能強大的微控制器,擁有:
- 雙核心處理器
- 內建 Wi-Fi / 藍牙
- 多達 16 組可調 PWM(LEDC)通道
這些特性讓 ESP32 成為控制 RGB LED 的完美選擇。
準備材料
ESP32 開發板 x 1
RGB LED x 1 (共陰型推薦)
杜邦線 x 若干 (公對公、公對母各數條)
麵包板 x 1
優良店家推薦:
硬體接線教學
RGB LED 腳位說明
以共陰型 RGB LED 為例:
- 腳1:紅色
- 腳2:綠色
- 腳3:藍色
- 腳4:共陰(GND)
接線圖
我買的模組RGB LED,省去接電阻的麻煩。如你買的是單顆RGB LED,請參考,這接線圖
紅色接17號腳 + 220Ω電阻
綠色接16號腳 + 220Ω電阻
藍色接4號腳 + 220Ω電阻

PWM 控制原理
ESP32 透過 LEDC 模組 提供高精度 PWM 控制,可設定:
- 頻率(Hz)
- 解析度(bit)
- 通道(channel)
PWM 的概念就像「開關閃爍的速度」:
開得越久,燈越亮;關得越久,燈越暗。
範例一:基本顏色切換
const int Red = 17;
const int Green = 16;
const int Blue = 4;
void setup() {
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
}
void loop() {
analogWrite(Red,255);
analogWrite(Green,0);
analogWrite(Blue,0);
delay(1000);
analogWrite(Red,0);
analogWrite(Green,255);
analogWrite(Blue,0);
delay(1000);
analogWrite(Red,0);
analogWrite(Green,0);
analogWrite(Blue,255);
delay(1000);
}
範例二:自動變色燈光秀
const int Red = 17;
const int Green = 16;
const int Blue = 4;
int changeTime = 10;
void setup() {
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
}
void loop() {
int r, g, b;
// 由藍到紫
for (r = 0; r < 256; r++) {
analogWrite(Red, r);
delay(changeTime);
}
// 由紫到紅
for (b = 255; b > 0; b--) {
analogWrite(Blue, b);
delay(changeTime);
}
// 由紅到黃
for (g = 0; g < 256; g++) {
analogWrite(Green, g);
delay(changeTime);
}
// 由黃到綠
for (r = 255; r > 0; r--) {
analogWrite(Red, r);
delay(changeTime);
}
// 由綠到藍綠色
for (b = 0; b < 256; b++) {
analogWrite(Blue, b);
delay(changeTime);
}
// 由藍綠色到藍色
for (g = 255; g > 0; g--) {
analogWrite(Green, g);
delay(changeTime);
}
}
此段程式透過變化 PWM 值,創造出平滑的顏色漸層,就像夜店的舞台燈一樣流暢。
for迴圈教學,請參考之前文章:【Arduino入門】LED跑馬燈設計教程
實際測試照片&影片

進階應用
- 聲控燈效:搭配麥克風模組,隨節拍變色。
- 節日裝飾:萬聖節、聖誕節打造主題燈。
- 智慧家居:整合 Home Assistant 或 MQTT 控制。
實作心得
這個專案不僅能學到 PWM,還能實際看到燈光變化的樂趣。
當你第一次讓 RGB LED 隨程式變色時,那份成就感真的會讓人上癮!
結論
利用 ESP32 + RGB LED,你可以輕鬆製作出酷炫的七彩燈光秀。
無論是展示作品、派對裝飾、還是智慧家居,都能用簡單的硬體與程式實現專業效果。
快動手試試,點亮你的創意生活吧!
常見問答(FAQ)
Q1:可以用 Arduino UNO 控制嗎?
可以,但 PWM 通道與 Wi-Fi 功能有限,建議用 ESP32。
Q2:可以用手機控制嗎?
可以,只要手機與 ESP32 在同一 Wi-Fi 網路下即可。
Q3:能否多組 RGB 同時控制?
可以,ESP32 支援多達 16 個 PWM 通道。
Q4:PWM 頻率該設多少?
一般建議 5000Hz,避免閃爍且亮度穩定。
參考資料
- Arduino官網ESP32資料: https://forum.arduino.cc/t/esp32-s3-onboard-rgb-led/1198754
- 傑森創工: https://blog.jmaker.com.tw/rgb-led/
