電子界的 Hello World:讓 LED 閃爍。
一、學習目標
- 理解電壓、電流、電阻關係
- 計算限流電阻
- 建立第一個電路
- 焊接 / 麵包板實作
二、所需材料
| 元件 | 數量 | 規格 |
|---|---|---|
| LED | 1 | 紅色 5mm,V_F=2V,I_F=20mA |
| 電阻 | 1 | 計算後選擇 |
| 9V 電池 + 電池扣 | 1 | 或用 5V USB |
| 麵包板 | 1 | |
| 跳線 | 數條 |
三、限流電阻計算
公式
$$ R = \frac{V_{source} - V_F}{I_F} $$
計算
9V 電源、紅 LED、20 mA:
$$ R = \frac{9 - 2}{0.02} = 350\ \Omega $$
選擇就近標準值:360 Ω 或 390 Ω。
功率
$$ P_R = (V_{source} - V_F) \times I_F = 7 \times 0.02 = 0.14\ \mathrm{W} $$
選 1/4 W(0.25W)電阻足以。
四、電路圖
9V (+) ─── R(360Ω) ─── LED(+)|>|(-) ─── (-) 9V
重點
- LED 有極性:長腳 = 陽極(+),短腳 = 陰極(-)
- 電阻可在 + 或 - 側
- 無電阻直接接 = LED 燒毀
五、麵包板組裝步驟
- 9V 電池正極 → 麵包板 + 軌
- 9V 電池負極 → 麵包板 - 軌
-
- 軌 → 電阻一端
- 電阻另一端 → LED 陽極
- LED 陰極 → - 軌
點亮!
六、進階:MCU 控制閃爍
Arduino 範例
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
接線
- Arduino Pin 13 → 360Ω → LED 陽極 → LED 陰極 → GND
注意:Arduino I/O 腳位最大 40mA,加電阻保護。
STM32 HAL 範例
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
HAL_Delay(500);
七、進階變化
PWM 漸亮漸暗(呼吸燈)
for (int b = 0; b <= 255; b++) {
analogWrite(LED_PIN, b);
delay(10);
}
for (int b = 255; b >= 0; b--) {
analogWrite(LED_PIN, b);
delay(10);
}
RGB LED
混色控制 R、G、B 三個 PWM。
多顆 LED
- Charlieplexing:N 腳位驅動 N(N-1) 顆
- 移位暫存器(74HC595)
- LED Driver IC(TLC5940 等)
- 矩陣
八、常見問題與排除
| 問題 | 原因 | 解法 |
|---|---|---|
| LED 不亮 | 極性反 | 反過來接 |
| LED 不亮 | 沒接電源 | 檢查電池 |
| LED 立即燒毀 | 沒加電阻 | 加電阻 |
| LED 暗 | 電阻太大 | 重新計算 |
| LED 閃爍不規律 | MCU 程式問題 | 檢查 delay |
九、本專案重點
✅ 您學到:
- [x] 歐姆定律實際應用
- [x] LED 限流計算
- [x] 麵包板使用
- [x] MCU 數位輸出
- [x] PWM 基礎
- [x] 故障排除