電子界的 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 燒毀

五、麵包板組裝步驟

  1. 9V 電池正極 → 麵包板 + 軌
  2. 9V 電池負極 → 麵包板 - 軌
    • 軌 → 電阻一端
  3. 電阻另一端 → LED 陽極
  4. 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] 故障排除

下一專案

02-感測器讀取.md