大人的兒童節 — Arduino 燈光體驗課

Arduino UNO × WS2812B LED 燈條


① 認識你的材料

元件說明
Arduino UNO微控制器開發板,今天的「大腦」
USB 線供電 + 上傳程式用
WS2812B 燈條全彩 LED 燈條,每顆燈珠可獨立控制顏色
杜邦線 ×3紅(5V)、黑/白(GND)、綠/黃(訊號 Signal)

② 接線(3 條線就好!)

燈條端Arduino 端
5V(紅線)5V
GND(黑/白線)GND
DIN / Signal(綠/黃線)D6(數位腳位 6)

💡 提示:燈條有方向性,注意箭頭方向,DIN 是「輸入端」。

③ 認識 Arduino IDE

Arduino IDE 是我們寫程式、上傳到板子的工具。打開後請確認:

1. 選擇開發板:Tools → Board → Arduino Uno

2. 選擇連接埠:Tools → Port → 選擇有顯示 Arduino 的 COM 埠

3. 上傳按鈕:左上角「→」箭頭,按下去就會把程式燒進板子

④ 安裝 FastLED 函式庫

我們使用 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(大型語言模型)來加速開發。

請打開以下任一 AI 工具:

工具網址
ChatGPThttps://chat.openai.com
Claudehttps://claude.ai
Geminihttps://gemini.google.com

提示詞(Prompt)範例:

我正在使用 Arduino UNO 搭配 WS2812B LED 燈條(接在 D6),使用 FastLED 函式庫。燈條共有 8 顆燈珠。請幫我寫一個「彩虹流動」的效果。

你也可以試著問 AI:

• 「幫我做一個呼吸燈效果,從暗到亮再到暗」

• 「讓燈條每 0.5 秒變換隨機顏色」

• 「做一個跑馬燈,一顆燈從頭跑到尾」

• 「加入聲音感測器(KY-038 接 A0),讓燈光跟著聲音閃動」

💡 給 AI 的提示越具體(燈珠數、腳位、想要的效果),得到的程式碼品質越好。這就是 Prompt Engineering