本篇介紹 Arduino 常見的電阻、LED、按鍵、電容與麵包板,並說明電路符號、接線方法及初學者實作重點。
Arduino 是學習電子電路與嵌入式控制最常見的入門平台,但許多初學者在開始接線前,常會先遇到幾個問題:電阻要怎麼看?LED 為什麼要串電阻?按鍵為什麼需要上拉或下拉?電容有什麼作用?麵包板內部到底怎麼連通?電路圖上的符號又代表什麼意思?
本篇文章將以 Arduino 初學者最常使用的電子零件為核心,完整介紹電阻、LED、按鍵、電容與麵包板,並搭配 Arduino IDE 安裝設定、LED 閃爍測試、按鍵控制 LED、序列監控測試、供電、重啟與序列監控觀念、常見故障排除、Q&A 與進階學習方向,幫助讀者建立完整的 Arduino 電路入門基礎。
1. 為什麼學 Arduino 要先認識電子零件與電路符號?
許多初學者以為學 Arduino 只要會寫 digitalWrite()、digitalRead() 就可以,但真正的 Arduino 專案通常都會連接外部電子零件,例如 LED、按鍵、感測器、繼電器、LCD 或馬達。
如果不了解電子零件的功能,就算程式正確,電路也可能無法正常運作,甚至可能造成 LED 燒毀、Arduino 腳位過載或電源短路。
- 理解電阻、LED、按鍵、電容與麵包板的基本用途
- 看懂常見電路符號與接線圖
- 知道 LED 為什麼需要串接限流電阻
- 知道按鍵為什麼需要上拉或下拉
- 知道電容如何用於濾波、穩壓與按鍵去彈跳
- 建立 Arduino GPIO 輸入與輸出的基本觀念
2. Arduino 入門常見電子零件總覽
在 Arduino 入門階段,最常使用的電子元件通常不會太複雜,但每一個都非常重要。電阻、LED、按鍵、電容與麵包板,是學習 Arduino 電路設計時最基本的五大元件。
這些元件看起來簡單,但它們會出現在幾乎所有 Arduino 基礎專案中,例如 LED 閃爍、按鍵開關、感測器讀取、蜂鳴器警報、LCD 顯示與 IoT 資料收集。
- 電阻 Resistor:限制電流、分壓、上拉與下拉
- LED 發光二極體:顯示 Arduino 輸出狀態
- 按鍵 Button:提供使用者輸入訊號
- 電容 Capacitor:濾波、穩壓與訊號穩定
- 麵包板 Breadboard:不用焊接即可快速測試電路
3. 電阻 Resistor 完整教學
3.1 電阻的功能
電阻是最基本也最常用的電子元件,主要功能是限制電流通過。以 Arduino 控制 LED 為例,如果 Arduino 腳位直接接 LED 而沒有串接電阻,LED 可能因電流過大而燒毀,也可能讓 Arduino GPIO 腳位承受過大電流。
在 Arduino 入門應用中,電阻常用於 LED 限流、保護 GPIO 腳位、建立按鍵上拉或下拉電路、製作分壓電路,以及降低訊號干擾。
3.2 電阻的電路符號
傳統電阻符號:
---/\/\/\/---
歐規電阻符號:
---[ R ]---
在 Arduino 教學文章或電路圖中,只要看到 R、R1、R2 或鋸齒狀符號,通常就是電阻。
3.3 Arduino 常見電阻值
- 220Ω:常用於 LED 限流
- 330Ω:常用於 LED 限流,亮度較溫和
- 1KΩ:常用於訊號保護或簡單限流
- 4.7KΩ:常用於 I2C 上拉或訊號上拉
- 10KΩ:常用於按鍵上拉或下拉
3.4 LED 限流電阻計算
LED 串接電阻時,可以用歐姆定律估算電阻值。這個計算可以幫助你避免 LED 電流過大,也能避免 Arduino 腳位負載過重。
公式:
R = (Vcc - Vf) / I
Vcc:Arduino 輸出電壓,例如 5V
Vf:LED 順向電壓,例如紅色 LED 約 2V
I:希望流過 LED 的電流,例如 0.01A
範例:
R = (5V - 2V) / 0.01A
R = 300Ω
實際可選用 330Ω 電阻。
4. LED 發光二極體完整教學
4.1 LED 是什麼?
LED 全名是 Light Emitting Diode,也就是發光二極體。它具有方向性,電流必須由正極流向負極才會發光。
在 Arduino 專案中,LED 常用來顯示狀態,例如電源指示、錯誤警示、感測器觸發、按鍵狀態或程式執行狀態。
4.2 如何判斷 LED 正負極?
- 長腳通常是正極 Anode
- 短腳通常是負極 Cathode
- LED 外殼平邊通常靠近負極
- 電路圖中的箭頭代表發光方向
4.3 LED 電路符號
LED 電路符號概念:
|>|
-----| |-----
↗ ↗
箭頭代表發光方向。
4.4 Arduino LED 基本接線
Arduino D13 → 330Ω 電阻 → LED 正極
LED 負極 → Arduino GND
4.5 Arduino LED 閃爍程式
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
上傳程式後,LED 應該會亮 1 秒、熄滅 1 秒,持續循環。如果 LED 沒有亮,請先檢查 LED 正負極、電阻是否串接、GND 是否連接,以及 Arduino IDE 是否選對開發板與序列埠。
5. 按鍵 Button 完整教學
5.1 按鍵在 Arduino 中的用途
按鍵是最常見的輸入元件,可以讓使用者控制 Arduino,例如按下按鍵讓 LED 亮、切換模式、啟動感測、重置流程或觸發警報。
Arduino 可以透過 digitalRead() 讀取按鍵輸入。不過按鍵接線如果沒有上拉或下拉,輸入腳位可能會出現不穩定狀態。
5.2 按鍵電路符號
按鍵電路符號概念:
---o o---
按下時,兩端接點導通。
5.3 什麼是 Floating Input?
Arduino 的數位輸入腳位如果沒有明確接到 HIGH 或 LOW,就可能受到環境雜訊影響而亂跳,這種狀態稱為 floating input。
為了讓按鍵輸入穩定,通常需要使用上拉電阻、下拉電阻,或 Arduino 內建的 INPUT_PULLUP。
5.4 下拉電阻 Pull-down 接法
5V → 按鍵 → Arduino D2
Arduino D2 → 10KΩ 電阻 → GND
未按下:D2 讀到 LOW
按下:D2 讀到 HIGH
5.5 內建上拉 INPUT_PULLUP 接法
Arduino D2 → 按鍵 → GND
未按下:D2 讀到 HIGH
按下:D2 讀到 LOW
INPUT_PULLUP 是 Arduino 初學者很推薦使用的方式,因為可以少接一顆 10KΩ 電阻,但要注意邏輯會反過來:按下是 LOW,放開是 HIGH。
5.6 按鍵控制 LED 程式
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
6. 電容 Capacitor 完整教學
6.1 電容的作用
電容可以暫時儲存電荷,在電壓變化時吸收或釋放能量。Arduino 電路中,電容常被用來穩定電源、降低雜訊、避免感測器讀值不穩,或改善按鍵彈跳。
在實際專案中,如果感測器讀值跳動、馬達啟動時 Arduino 重啟、按鍵按一次卻觸發多次,都可能和電源雜訊或訊號不穩有關,這時就可能需要電容輔助。
6.2 電容電路符號
無極性電容:
---| |---
有極性電解電容:
---| |---
+ -
無極性電容通常不分方向,但電解電容有正負極,接反可能造成損壞,因此接線時要特別注意。
6.3 Arduino 常見電容值
- 0.1uF:常用於 IC 或感測器電源旁路
- 1uF:小型濾波或穩壓
- 10uF:電源濾波
- 100uF:電源緩衝
- 100nF:按鍵去彈跳或訊號濾波
6.4 什麼是按鍵彈跳?
機械按鍵在按下或放開的瞬間,接點可能會在極短時間內快速導通與斷開,造成 Arduino 誤判為多次按下,這就是按鍵彈跳。
按鍵彈跳可以透過硬體電容濾波,也可以透過程式 debounce 處理。初學者建議先學程式 debounce,因為比較容易觀察與修改。
6.5 程式去彈跳範例
const int buttonPin = 2;
const int ledPin = 13;
int lastButtonState = HIGH;
int ledState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
}
digitalWrite(ledPin, ledState);
lastButtonState = reading;
}
7. 麵包板 Breadboard 完整教學
7.1 麵包板的用途
麵包板可以讓電子零件不用焊接就能互相連接,非常適合 Arduino 初學者進行測試。當電路確認可行後,再考慮焊接到洞洞板或製作 PCB。
使用麵包板時,最重要的是理解內部哪些孔位相通、哪些孔位不相通。很多初學者接線看起來正確,但電路不動,原因通常就是插錯排或沒有跨過中間溝槽。
7.2 麵包板中間區域如何連通?
常見麵包板中間區域:
A B C D E F G H I J
| | | | | | | | | |
同一列相通 同一列相通
一般麵包板中,A–E 的同一排孔位相通,F–J 的同一排孔位相通,中間溝槽兩側不相通。
7.3 麵包板電源軌
麵包板兩側通常有紅色與藍色電源軌。紅色常用來接 5V 或 3.3V,藍色常用來接 GND。不過有些麵包板的電源軌中間會斷開,需要用跳線連接。
7.4 Arduino 與麵包板基本接線
Arduino 5V → 麵包板紅色電源軌
Arduino GND → 麵包板藍色電源軌
Arduino D13 → 電阻 → LED 正極
LED 負極 → GND
7.5 初學者常見麵包板錯誤
- LED 插反導致不亮
- 按鍵沒有跨過中間溝槽
- 5V 與 GND 插到同一排造成短路
- 電源軌中間斷開但沒有跳線連接
- Arduino GND 沒有和外部電路共地
- 杜邦線插錯列,導致看起來接了但其實沒有導通
8. Arduino IDE 安裝與基本設定
要將程式上傳到 Arduino UNO,需要先安裝 Arduino IDE。安裝完成後,透過 USB 將 Arduino UNO 連接到電腦,接著選擇正確的開發板與序列埠。
如果是 Windows 電腦,部分 Arduino 相容板可能需要安裝 CH340 USB 驅動。若 Arduino IDE 找不到 COM Port,請先檢查 USB 線是否支援資料傳輸,再檢查 Windows 裝置管理員。
- 下載並安裝 Arduino IDE
- 使用 USB 線連接 Arduino UNO
- 選擇開發板:Arduino Uno
- 選擇正確 COM Port
- 開啟 Blink 範例
- 編譯並上傳程式
- 觀察 Arduino 板上 LED 是否閃爍
選擇開發板:
工具 → 開發板 → Arduino AVR Boards → Arduino Uno
選擇序列埠:
工具 → 連接埠 → 選擇 Arduino UNO 對應的 COM Port
開啟 Blink:
檔案 → 範例 → 01.Basics → Blink
9. 完整實作:按鍵控制 LED
9.1 實作目標
本實作要完成一個最基礎的 Arduino 輸入與輸出控制:按下按鍵時 LED 亮起,放開按鍵時 LED 熄滅。
這個範例可以同時練習 LED 輸出、按鍵輸入、INPUT_PULLUP、麵包板接線與 GPIO 腳位控制。
9.2 所需材料
- Arduino UNO x1
- LED x1
- 330Ω 電阻 x1
- 按鍵 x1
- 麵包板 x1
- 杜邦線數條
- USB 傳輸線 x1
9.3 接線方式
LED 部分:
Arduino D13 → 330Ω 電阻 → LED 正極
LED 負極 → GND
按鍵部分:
Arduino D2 → 按鍵 → GND
程式使用 INPUT_PULLUP
9.4 完整程式碼
const int buttonPin = 2;
const int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
9.5 測試結果
完成接線並上傳程式後,按下按鍵時 LED 應該亮起,放開按鍵時 LED 應該熄滅。如果 LED 反應相反,請檢查程式邏輯是否使用 INPUT_PULLUP。如果完全沒有反應,請檢查接線、GND、LED 正負極與按鍵方向。
10. 供電、重啟與序列監控測試
Arduino 不像 Linux 或 Windows 服務需要手動啟動。當 Arduino 接上 USB 或外部電源後,就會自動執行已經上傳到板子內的程式。
若要停止 Arduino 程式執行,可以拔除 USB 線或外部電源。若要重啟,可以按下板上的 RESET 按鈕、重新插拔 USB、重新上傳程式,或關閉再打開外部電源。
10.1 使用序列監控視窗測試按鍵
const int buttonPin = 2;
void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
int buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
delay(200);
}
打開 Arduino IDE 的序列監控視窗後,未按下按鍵時通常顯示 1,按下按鍵時通常顯示 0。這可以幫助你確認按鍵輸入是否正常。
11. 常見故障排除
11.1 LED 不亮
LED 不亮時,請先檢查 LED 正負極是否接反、是否有串接限流電阻、Arduino 腳位是否設定正確、程式是否成功上傳、GND 是否接好,以及杜邦線是否鬆脫或插錯列。
11.2 LED 一直亮或一直不亮
如果 LED 一直亮或一直不亮,可能是程式邏輯寫反、按鍵使用 INPUT_PULLUP 時誤把 LOW 當成未按下、D2 腳位短路到 GND 或 5V,或按鍵方向插錯。
11.3 按鍵按一次卻觸發多次
這通常是按鍵彈跳造成的。可以使用 debounce 程式、加電容濾波,或改用穩定的按鍵模組。
11.4 麵包板接線看起來正確但不動
這種情況通常要檢查是否插在同一排導通孔、是否跨過中間溝槽、電源軌是否中間斷開、5V 與 GND 是否短路,以及 Arduino GND 是否與外部電路共地。
11.5 Arduino IDE 無法上傳程式
- 確認 USB 線是否支援資料傳輸
- 確認是否選對 Arduino Uno 開發板
- 確認是否選對 COM Port
- 確認序列監控視窗沒有占用連線
- 重新插拔 USB 或重開 Arduino IDE
- 若是 CH340 相容板,請確認已安裝 CH340 驅動
12. Arduino 電子零件常見 Q&A
Q1:Arduino LED 一定要接電阻嗎?
建議一定要接。電阻可以限制流過 LED 的電流,避免 LED 燒毀,也能保護 Arduino GPIO 腳位。
Q2:LED 接反會壞掉嗎?
一般低電壓測試時,LED 接反通常只是不會亮,但仍不建議長時間錯接。正確方式是 LED 正極接 Arduino 輸出,負極接 GND。
Q3:按鍵一定要外接 10KΩ 電阻嗎?
不一定。如果使用 Arduino 的 INPUT_PULLUP,就可以不用外接 10KΩ 上拉電阻。不過要記得 INPUT_PULLUP 的邏輯是未按下 HIGH、按下 LOW。
Q4:電容可以隨便接嗎?
不可以。無極性電容通常不分方向,但電解電容有正負極,接反可能造成損壞。
Q5:麵包板左右兩邊是相通的嗎?
通常中間溝槽左右兩邊不相通,需要用跳線連接。電源軌也可能中間斷開,因此接線前最好用三用電表確認導通。
Q6:Arduino 初學者應該先買哪些零件?
建議先準備 Arduino UNO、麵包板、LED、220Ω 或 330Ω 電阻、10KΩ 電阻、按鍵、杜邦線、電容與可變電阻。這些零件足夠完成多數入門實驗。
Q7:學完這些元件後可以做什麼?
可以開始做 LED 控制、按鍵開關、蜂鳴器警報、感測器讀取、LCD 顯示、溫度監控、馬達控制與簡單 IoT 專案。
13. 進階學習方向
熟悉電阻、LED、按鍵、電容與麵包板後,就可以進一步學習 Arduino 的感測器、通訊協定與控制應用。
- PWM 控制 LED 亮度
- 類比輸入與可變電阻
- 蜂鳴器控制
- 繼電器控制
- I2C LCD 顯示器
- SPI 模組控制
- UART 與 RS232 通訊
- DHT11 或 SHT30 溫溼度感測器
- 伺服馬達與 DC 馬達控制
- Arduino 與 Raspberry Pi 串接
- Arduino IoT 溫度監控專案
結論
Arduino 入門最重要的不是一開始就學複雜模組,而是先把基礎電子零件與電路符號搞懂。電阻負責限制電流與穩定訊號,LED 可以顯示輸出狀態,按鍵可以作為輸入控制,電容能協助濾波與去彈跳,而麵包板則能讓你快速測試各種電路。
只要能理解這些基礎元件,你就已經具備學習 Arduino 感測器、LCD、I2C、SPI、UART、RS232、馬達控制與 IoT 應用的基礎能力。這也是從 Arduino 初學者進入嵌入式系統與物聯網開發的重要第一步。