Arduino UNO × WS2812B LED 燈條
| 元件 | 說明 |
|---|---|
| Arduino UNO | 微控制器開發板,今天的「大腦」 |
| USB 線 | 供電 + 上傳程式用 |
| WS2812B 燈條 | 全彩 LED 燈條,每顆燈珠可獨立控制顏色 |
| 杜邦線 ×3 | 紅(5V)、黑/白(GND)、綠/黃(訊號 Signal) |
| 燈條端 | Arduino 端 | |
|---|---|---|
| 5V(紅線) | → | 5V |
| GND(黑/白線) | → | GND |
| DIN / Signal(綠/黃線) | → | D6(數位腳位 6) |
💡 提示:燈條有方向性,注意箭頭方向,DIN 是「輸入端」。
Arduino IDE 是我們寫程式、上傳到板子的工具。打開後請確認:
1. 選擇開發板:Tools → Board → Arduino Uno
2. 選擇連接埠:Tools → Port → 選擇有顯示 Arduino 的 COM 埠
3. 上傳按鈕:左上角「→」箭頭,按下去就會把程式燒進板子
我們使用 FastLED 來控制燈條,它比原廠更快、更靈活。
1. 點選 Sketch → Include Library → Manage Libraries...
2. 搜尋欄輸入「FastLED」
3. 找到 FastLED(作者 Daniel Garcia),點 Install
把以下程式碼貼進 Arduino IDE,然後按上傳(→):
#include <FastLED.h>
#define LED_PIN 6
#define NUM_LEDS 1
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(50);
}
void loop() {
leds[0] = CRGB::Red;
FastLED.show();
}
✅ 上傳成功後,你應該會看到第一顆燈珠亮紅色!
把 CRGB::Red 換成其他顏色試試看:
| 寫法 | 顏色 |
|---|---|
CRGB::Red | 紅 |
CRGB::Green | 綠 |
CRGB::Blue | 藍 |
CRGB::White | 白 |
CRGB::Purple | 紫 |
CRGB::Yellow | 黃 |
CRGB(255, 100, 0) | 橘(自訂 RGB) |
💡 CRGB(R, G, B) 中三個數字範圍 0~255,分別代表紅、綠、藍的亮度。
把 NUM_LEDS 改成你燈條實際的燈珠數(例如 8),然後在 loop() 裡控制每一顆:
#define NUM_LEDS 8
void loop() {
leds[0] = CRGB::Red;
leds[1] = CRGB::Orange;
leds[2] = CRGB::Yellow;
leds[3] = CRGB::Green;
leds[4] = CRGB::Blue;
leds[5] = CRGB::Indigo;
leds[6] = CRGB::Purple;
leds[7] = CRGB::White;
FastLED.show();
}
恭喜你已經學會基礎操作!接下來,我們要體驗學生平常如何借助 AI(大型語言模型)來加速開發。
請打開以下任一 AI 工具:
| 工具 | 網址 |
|---|---|
| ChatGPT | https://chat.openai.com |
| Claude | https://claude.ai |
| Gemini | https://gemini.google.com |
你也可以試著問 AI:
• 「幫我做一個呼吸燈效果,從暗到亮再到暗」
• 「讓燈條每 0.5 秒變換隨機顏色」
• 「做一個跑馬燈,一顆燈從頭跑到尾」
• 「加入聲音感測器(KY-038 接 A0),讓燈光跟著聲音閃動」
💡 給 AI 的提示越具體(燈珠數、腳位、想要的效果),得到的程式碼品質越好。這就是 Prompt Engineering!