一、 實驗說明:讓 ESP32 混色輸出七彩燈光!
在先前的專題中,我們學會了如何控制單色 LED 的亮滅與 PWM 呼吸燈調光。但如果想做出更酷炫的氣氛燈、情境指示燈或智慧家居燈光,我們就需要使用 RGB LED 發光二極體!
本實驗我們將帶大家使用 ESP32 搭配共陰極 RGB LED,透過 PWM 脈衝寬度調變技術獨立控制紅(R)、綠(G)、藍(B)三原色的發光強度,混色輸出千變萬化的七彩酷炫燈效!
二、 實驗材料準備清單
本篇實作 ESP32 RGB LED 混色專案所需的硬體元件如下:
ESP32 開發板
麵包板 (Breadboard)
共陰極 RGB LED
杜邦跳線若干
USB 傳輸線 × 1
🛒 一次備齊創客工具!
歡迎直接購買米羅科技的 ESP32 物聯網應用學習套件,免去東奔西跑湊零件的煩惱。內含 RGB LED 模組、各類感測器及基礎電子元件,是學校課堂教學與個人專案開發的最佳首選!
三、 核心知識:RGB LED 腳位定義與 ESP32 接線對照
辨識 RGB LED 針腳極性與混色原理
RGB LED 內部封裝了紅(Red)、綠(Green)、藍(Blue)三個獨立的 LED 晶片。透過調整這三種顏色的亮度比例,就可以組合成自然界中的各種顏色(如紅+綠=黃、紅+藍=紫、紅+綠+藍=白)。
RGB LED 通常具有 4 支針腳:
最長的針腳: 共陰極(Common Cathode),必須連接至 GND。
其餘 3 支針腳: 分別對應控制 Red (R)、Green (G)、Blue (B) 的陽極(正極)。
▼注意:假如使用下列程式碼發生編譯錯誤,則表示您目前安裝的ESP32函式庫較為新版,請務必將「#include <analogWrite.h>」這一行移除並重新編譯,則可編譯成功並正常運行。
四、實作實驗程式碼:
請將以下程式碼複製到 Arduino IDE 中並上傳至 ESP32 開發板:
1. 範例程式碼
#include <analogWrite.h>
int redPin = 15; // R 紅色LED控制腳 連接到ESP32的 GPIO15
int greenPin = 17; // G 綠色LED控制腳 連接到ESP32的 GPIO17
int bluePin = 16; // B 藍色LED控制腳 連接到ESP32的 GPIO16
void setup()
{
pinMode(redPin, OUTPUT); //設置redPin對應的管腳GPIO15為輸出
pinMode(greenPin, OUTPUT); //設置greenPin對應的管腳GPIO17為輸出
pinMode(bluePin, OUTPUT); //設置bluePin對應的管腳GPIO16為輸出
}
void loop()
{
// Basic colors:
color(255, 0, 0); // 红色亮
delay(1000); //延時一秒
color(0,255, 0); //綠色亮
delay(1000); //延時一秒
color(0, 0, 255); //藍色亮
delay(1000); //延時一秒
// Example blended colors:
color(255,255,0); // 黄色亮
delay(1000); //延時一秒
color(128,0,255); // 紫色亮
delay(1000); //延時一秒
color(255,255,255); // 白色亮
delay(1000); //延時一秒
color(0,0,0); // 關閉led
delay(1000); //延時一秒
}
//顏色控制函數
void color (unsigned char red, unsigned char green, unsigned char blue)
{
analogWrite(redPin, red);
analogWrite(greenPin,green);
analogWrite(bluePin, blue);
}
2. 燒錄與操作測試
點擊 Arduino IDE 的 「上傳 (Upload)」 按鈕。
上傳完成後,觀測麵包板上的 RGB LED,將會每隔 1 秒依序切換 不同顏色!
五、 初學者常見卡關問題與排錯指南(Troubleshooting)
1. RGB LED 顏色顯示異常(例如程式寫紅色,出來卻是綠色)?
腳位接錯: RGB LED 的 R、G、B 針腳非常接近,請重新對照接線表,確認 GPIO 是否連結正確。
2. 通電後 LED 完全不亮?
極性或元件類型買錯:
請確認最長針腳是否確實接至 ESP32 的 GND。
若使用的是 共陽極(Common Anode) RGB LED,最長腳需接 5V,且程式碼中的亮滅數值需要反轉(
255為全滅,0為全亮)。
七、 結語與下一篇教學
恭喜你!成功掌握了使用 ESP32 控制 RGB LED 並透過 PWM 進行混色調光的技巧。學會了色彩控制後,你可以結合前幾篇學到的「可變電阻」或「溫濕度感測器」,做出一款會隨溫度變色的智慧氣氛燈!下一篇教學,我們將帶大家解鎖更多實用的物聯網感測與控制專題!
👉 下一篇預告: 【ESP32】第十四篇:水位感測器應用

