每根接腳都有名字和工作 📌

我們用的是 Arduino Leonardo — 接腳分四大家族(數位 / 類比 / PWM / 電源),還有個超能力:能變成鍵盤滑鼠

🌈 接腳四大家族

每種接腳負責不同工作。先認識它們,再學怎麼用。

數位 Digital

開或關,二選一
(HIGH = 5V / LOW = 0V)

D0 - D13

類比 Analog

讀感測器數值
(0V ~ 5V 連續變化)

A0 - A5

PWM 調光

快速開關模擬類比
調 LED 亮度、馬達速度

3 5 6 9 10 11 13

電源 Power

給其他元件供電
5V / 3.3V / GND

5V · 3.3V · GND

🗺️ 點點看:互動 Arduino 接腳地圖

點任一個接腳,右側顯示它能做什麼!

Micro USB RESET L (D13) PWR ATmega 32u4 ARDUINO LEONARDO SCL SDA AREF GND ~13 12 ~11 ~10 ~9 8 7 ~6 ~5 4 ~3 2 TX RX RX TX POWER ANALOG IN IOREF RST 3V3 5V GND GND VIN A0 A1 A2 A3 A4 A5 數位 PWM (~) 類比 電源 GND 控制

👆 點任一接腳

接腳資訊會出現在這裡 — 包含類型、能做什麼、特殊功能等。

📊 類比讀值是怎麼來的?拉拉看!

類比接腳把 0~5V 電壓轉成 0~1023 的數字(10-bit)。拉滑桿試試!

2.5V
512
0V 5V 2.5V
📐 公式:analogRead(A0) ≈ 電壓 × 1023 / 5

💻 4 個關鍵程式範例

不同接腳用不同函式 — 對照接腳家族看就懂了!

🟣 數位輸出:點亮 LED
void setup() { pinMode(13, OUTPUT); // 13 號設為輸出 } void loop() { digitalWrite(13, HIGH); // 5V 開燈 delay(1000); digitalWrite(13, LOW); // 0V 關燈 delay(1000); }
🔵 類比輸入:讀感測器
void setup() { Serial.begin(9600); } void loop() { int v = analogRead(A0); // 0-1023 float voltage = v * 5.0 / 1023; Serial.println(voltage); delay(500); }
🟠 PWM 調光:呼吸燈
void setup() { pinMode(9, OUTPUT); // ~9 支援 PWM } void loop() { for (int i = 0; i <= 255; i++) { analogWrite(9, i); // 漸亮 delay(5); } }
🟢 按鈕輸入:用內建上拉
void setup() { pinMode(2, INPUT_PULLUP); pinMode(13, OUTPUT); } void loop() { if (digitalRead(2) == LOW) digitalWrite(13, HIGH); // 按下 = 亮 else digitalWrite(13, LOW); }

📡 Leonardo 的通訊介面

想接 LCD 顯示器、藍牙模組、SD 卡?要用這幾種通訊。Leonardo 的接腳跟 Uno 有點不同 — 看清楚別接錯!

I2C(兩線)

用兩條線就能接很多裝置(LCD、感測器都常用)。

SDA = D2
SCL = D3
⚠️ 與 Uno 不同!

SPI(高速)

傳輸最快,常用於 SD 卡、彩色螢幕、無線模組。

在板子中央的
ICSP 6-pin header
(不是 D11-D13)

UART(序列)

USB 跟硬體 UART 是分開的兩條 — Leonardo 很特別!

USB ↔ Serial
D0/D1 ↔ Serial1

🦸 Leonardo 的超能力:變身鍵盤滑鼠!

Leonardo 的晶片支援 USB HID — 可以假裝成鍵盤或滑鼠,自動幫電腦打字、按鍵、移動游標!這是 Uno 做不到的。

⌨️ 鍵盤模擬:自動打字
#include <Keyboard.h> void setup() { pinMode(2, INPUT_PULLUP); Keyboard.begin(); } void loop() { if (digitalRead(2) == LOW) { Keyboard.print("Hello!"); delay(1000); // 避免重複 } }
🖱️ 滑鼠模擬:自動移動
#include <Mouse.h> void setup() { Mouse.begin(); } void loop() { Mouse.move(10, 0); // 右移 10px delay(100); Mouse.move(-10, 0); // 左移 10px delay(100); }
⚠️ 玩 HID 時要小心 — 程式跑起來會「自動操作電腦」!如果做錯可能很難停下來。建議先在按鈕觸發後才執行,並準備一個 reset 按鈕。

💡 挑接腳的小訣竅

💡 LED 亮暗 → ~PWM

要調 LED 亮度或馬達轉速,挑有「~」符號的接腳

🌡️ 感測器 → A0-A5

讀光感、溫度、搖桿等連續變化的感測器用類比腳

🔘 簡單開關 → 任一數位

單純的按鈕、繼電器,任何數位腳都行

⚠️ 避開 0 / 1

這兩腳是序列通訊用,會跟 USB 傳輸打架

✅ 13 號內建 LED

剛開始測程式時用 13 號最方便,板上已內建 L 燈

🛡️ 接地一定要

所有元件的 GND 一定要連回 Arduino 的 GND 才會運作

🧠 來考一下:你抓到接腳分類了嗎?

🤔 第 1 題:要調 LED 亮度,要用哪種接腳?

🤔 第 2 題:讀光感測器(一直變化的值)要用哪個?

🤔 第 3 題:類比讀值的範圍是?

🤔 第 4 題:Leonardo 比 Uno 多了什麼超能力?

🤔 第 5 題:在 Leonardo 上,I2C 的 SDA 接腳是哪一支?

🎉 Leonardo 接腳全認識了!

記住四大家族(數位 / 類比 / PWM / 電源)+ Leonardo 三大特色:D13 也是 PWM、I2C 在 D2/D3、能變鍵盤滑鼠!功課一的 RGB 燈用 PWM 控制紅綠藍 — 馬上來挑戰!