Table of Contents
Toggle前言:為什麼要理解數位腳與類比腳
初學 Arduino 或 ESP32 的朋友,常被「數位腳」與「類比腳」搞混。其實,了解它們的差異就像學會看地圖一樣重要,因為不同腳位對應不同的功能,錯接不僅會測不到資料,還可能燒壞板子。
Arduino 與 ESP32 控制板簡介
Arduino 的背景與特色
Arduino UNO 是最廣為人知的開發板,採用 ATmega328P MCU,腳位固定且標示清楚,適合初學者上手。
ESP32 的背景與特色
ESP32 是樂鑫(Espressif)開發的 Wi-Fi + Bluetooth SoC,性能與腳位都比 Arduino 彈性,內建 ADC、DAC、PWM 等功能,非常適合物聯網應用。
什麼是數位腳 (Digital Pins)
數位輸入輸出基本概念
數位腳只有「0」或「1」,HIGH/LOW 兩種狀態,像開關一樣。
電壓高低 (HIGH/LOW) 的判斷
Arduino UNO 使用 5V 邏輯,ESP32 則多為 3.3V,這點選擇感測器時務必注意。
什麼是類比腳 (Analog Pins)
類比輸入 (Analog Input) 與感測器
類比腳可以讀取連續變化的電壓值,例如光敏電阻、可變電阻輸出的訊號。
PWM 輸出 (類比輸出模擬)
Arduino 沒有真正的 DAC,只能用 PWM 模擬類比輸出;ESP32 則同時具備 PWM 與 DAC。
Arduino 的數位腳與類比腳分布
Arduino UNO 腳位圖快速說明
數位腳 D0~D13、類比腳 A0~A5,各有固定功能。
A0~A5 的用途與注意事項
A0~A5 可當類比輸入,也可當數位輸出,但 ADC 精度為 10 位元。
ESP32 的數位腳與類比腳分布
GPIO 腳位多工特性
ESP32 腳位稱為 GPIO,幾乎每隻腳都能多用途,但要看官方文件對應功能。
ADC、DAC 內建功能解析
ESP32 內建 12 位元 ADC 與雙通道 DAC,可直接輸出真正的類比電壓。
PWM 與 DAC 的差異
PWM 是快速切換高低電平,透過平均值模擬電壓;DAC 則是硬體真實輸出類比電壓,對需要平滑訊號的場合更理想。
在實作中選用數位或類比腳的小技巧
- 常見感測器與數位腳搭配
如紅外線避障感測器、按鈕開關。
- 常見感測器與類比腳搭配
如光敏電阻、可變電阻、溫度感測器(輸出電壓)。
Arduino 與 ESP32 程式範例比較
讀取數位腳狀態範例
// Arduino 讀取按鈕
int buttonPin = 2;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(115200);
}
void loop() {
int state = digitalRead(buttonPin);
Serial.println(state);
}
ESP32 幾乎相同,只需改腳位即可。
讀取類比腳數值範例
可參考之前文章:Arduino可變電阻教學
// Arduino 讀取光敏電阻
int sensorPin = A0;
void setup() {
Serial.begin(115200);
}
void loop() {
int value = analogRead(sensorPin);
Serial.println(value);
}
ESP32 也用 analogRead(),但預設分辨率更高。
PWM 輸出 LED 漸亮範例
// Arduino PWM
int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
for (int i=0; i<255; i++) {
analogWrite(ledPin, i);
delay(10);
}
}
ESP32 則使用 ledcWrite() 來控制 PWM 頻率與解析度。
常見錯誤與除錯技巧
- 忘了確認電壓邏輯 (5V vs 3.3V)。
- 把 DAC 腳當成一般 GPIO 用。
- 沒有在程式裡設定 pinMode()。
未來應用與擴充建議
隨著物聯網發展,ESP32 的多工腳位與內建無線功能讓它更適合遠端感測與控制。
結論
掌握數位腳與類比腳差異,就能正確選擇感測器、驅動裝置,寫程式也更順手。Arduino 適合入門學習,ESP32 則在功能與擴充上更勝一籌。
常見問題 (FAQ)
Q1:Arduino UNO 可以同時讀取數位與類比腳嗎?
可以,但要注意每次讀取會占用時間,建議使用中斷或分時讀取。
Q2:ESP32 的 ADC 解析度比 Arduino 高嗎?
是的,ESP32 預設為 12 位元,可設定更高。
Q3:PWM 與 DAC 哪個更適合音訊輸出?
DAC 輸出更平滑,適合音訊;PWM 需要濾波器才可用於音訊。
Q4:類比腳能不能當數位腳用?
大多可以,Arduino 的 A0~A5 就能當數位腳用,ESP32 的 GPIO 更靈活。
Q5:初學者應該選 Arduino 還是 ESP32?
若只想學基本電路與程式,選 Arduino;若需要 Wi-Fi、藍牙或多功能,選 ESP32。
