Arduino 入門完整教學|電子零件、基礎電學、IDE 與介面實作

發布日期: |更新日期:
文章主圖:Arduino 入門完整教學|電子零件、基礎電學、IDE 與介面實作

本篇文章將以完整學習路線的方式,帶你從 Arduino 基礎觀念開始,逐步了解 Arduino IDE 安裝、程式結構、基本函數、數位輸入輸出、按鍵與 LED 控制、4x4 Keypad、七段顯示器、RS232、SPI 通訊介面,以及計時器與中斷機制。

1. Arduino 是什麼?

Arduino 是一套開源電子開發平台,包含硬體開發板、開發軟體 Arduino IDE,以及大量可重複使用的函式庫。常見的 Arduino UNO、Mega、Nano 等開發板,都可以用來控制 LED、按鍵、馬達、感測器、顯示器與通訊模組。

  • LED 燈號控制
  • 溫濕度感測器讀取
  • 馬達控制
  • 自動澆水系統
  • 環境監測系統
  • 門禁與密碼鍵盤
  • LCD 或七段顯示器顯示資料
  • RS232、SPI、I2C 通訊實驗
  • IoT 物聯網資料收集

2. 學 Arduino 前需要具備哪些基礎?

很多初學者一開始只想直接複製程式碼,但 Arduino 不只是寫程式,它同時包含電子電路與硬體控制。因此,在正式進入 Arduino 程式設計前,建議先理解電壓、電流、電阻、歐姆定律、正負極、GND、數位訊號、類比訊號、麵包板接線與 LED 限流觀念。

  • 電壓 Voltage
  • 電流 Current
  • 電阻 Resistance
  • 歐姆定律 V = I × R
  • 正極、負極與接地 GND
  • 數位訊號 HIGH / LOW
  • 類比訊號 Analog
  • 麵包板接線方式
  • LED 極性
  • 電阻限流觀念

3. Arduino 常見電子零件與電路符號

學習 Arduino 時,常見的電子零件包括電阻、LED、按鍵開關、電容、二極體、電晶體、蜂鳴器、可變電阻、感測器模組、七段顯示器、4x4 Keypad 與 LCD 顯示器。初學者應該學會辨識基本電路符號,因為後續看接線圖、電路圖或模組說明時,都會用到這些符號。

4. Arduino 麵包板與工具儀錶使用

麵包板是 Arduino 初學者最常使用的電路實驗工具。它可以讓你不用焊接,就能快速測試電路。常見工具包括麵包板、杜邦線、USB 傳輸線、三用電錶、電阻色碼表、Arduino UNO 開發板與電源供應器。使用麵包板時要特別注意電源正負極,不要把 5V 和 GND 短路。

5. Arduino IDE 安裝與開發環境設定

Arduino IDE 是撰寫、編譯與上傳 Arduino 程式的官方開發工具。初學者可以先使用 Arduino IDE 2.x 版本。安裝後需要選擇正確的開發板型號與 COM Port,接著可以使用 Blink 範例測試是否能成功上傳程式。

  • 下載 Arduino IDE
  • 安裝開發軟體
  • 使用 USB 線連接 Arduino UNO
  • 開啟 Arduino IDE
  • 選擇開發板型號:Arduino Uno
  • 選擇正確 COM Port
  • 開啟 Blink 範例
  • 編譯並上傳程式

6. 第一個 Arduino 程式:Blink LED

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

Blink 範例會讓 Arduino 開發板上的 LED 每秒閃爍一次。這個範例雖然簡單,但已經包含 setup()、loop()、pinMode()、digitalWrite() 與 delay() 等 Arduino 程式最重要的基本結構。

7. Arduino 程式語言語法與流程控制

Arduino 程式語言主要基於 C/C++,因此會使用變數、條件判斷、迴圈、函數與陣列。初學者不需要一開始就學完 C++,但至少要理解變數、if else 條件判斷、for 迴圈、while 迴圈與自訂函數。

8. Arduino 基本函數整理

Arduino 常用基本函數包括 pinMode()、digitalWrite()、digitalRead()、analogRead()、analogWrite()、delay()、millis()、Serial.begin()、Serial.print()、Serial.println() 與 attachInterrupt()。其中 pinMode()、digitalWrite()、digitalRead() 與 Serial.println() 是初學者最常使用的函數。

9. Arduino IDE 檔案結構說明

Arduino 的主要程式檔案副檔名是 .ino。一個 Arduino 專案通常會是一個資料夾,資料夾名稱會和 .ino 檔案名稱相同。當專案變大時,也可以拆成 .h 與 .cpp 檔案,將感測器、顯示器與通訊功能分開管理。

10. Arduino 按鍵與 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);
  }
}

這個實驗可以讓初學者理解 Arduino 的輸入與輸出控制。按鍵接到 D2 與 GND,LED 使用 D13 腳位。當按下按鍵時,LED 亮起;放開按鍵時,LED 熄滅。

11. Arduino RS232 介面說明

RS232 是常見的序列通訊介面,常用於工業設備、感測器模組、PLC 或控制器資料交換。Arduino 本身 UART 是 TTL 電位,不是標準 RS232 電位,因此若要連接真正 RS232 設備,通常需要 MAX232 或 RS232 轉 TTL 模組。

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello Arduino RS232");
  delay(1000);
}

12. Arduino SPI 介面說明

SPI 是一種高速同步序列通訊介面,常用於 SD 卡模組、顯示器、感測器與無線通訊模組。Arduino UNO 常見 SPI 腳位為 D10 SS、D11 MOSI、D12 MISO、D13 SCK。

13. Arduino 4x4 Keypad 與七段顯示器實驗

4x4 Keypad 可用來製作密碼輸入、選單控制或簡易操作介面。七段顯示器則常用於顯示數字,例如倒數計時、溫度數值或狀態碼。這類實驗可以幫助初學者理解輸入掃描、數字顯示與人機介面設計。

14. Arduino 計時器與中斷機制

Arduino 程式中常見的 delay() 雖然簡單,但它會讓程式暫停,導致其他任務無法即時處理。因此,當專案變複雜時,應該學習 millis()、計時器與中斷機制。

const int ledPin = 13;
unsigned long previousMillis = 0;
const long interval = 1000;
int ledState = LOW;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;

    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    digitalWrite(ledPin, ledState);
  }
}

15. Arduino 安裝、設定與測試流程

  • 安裝 Arduino IDE
  • 安裝 USB 驅動程式
  • 連接 Arduino 開發板
  • 選擇正確開發板
  • 選擇正確連接埠
  • 開啟 Blink 範例
  • 編譯程式
  • 上傳程式
  • 觀察 LED 是否閃爍
  • 開啟序列監控視窗測試輸出

16. Arduino 供電、停止與重置觀念

Arduino 不像 Linux Server 一樣有 service start 或 service stop 指令。Arduino 程式一旦上傳到開發板,接上 USB 或外部電源後就會自動啟動。若要停止執行,可以拔除電源、按下 Reset 重新啟動,或上傳一個空白程式。

17. Arduino 常見故障排除

常見問題包括 Arduino IDE 找不到 COM Port、上傳程式失敗、LED 不會亮、按鍵狀態亂跳。排查時應先確認 USB 線、開發板型號、COM Port、驅動程式、GND 接線、LED 極性與程式腳位設定。

  • 找不到 COM Port:更換 USB 資料線、檢查 Windows 裝置管理員、安裝 CH340 驅動。
  • 上傳失敗:確認開發板型號、COM Port、序列監控視窗是否占用連線。
  • LED 不會亮:檢查 LED 極性、限流電阻、GND、pinMode 與腳位編號。
  • 按鍵狀態亂跳:使用 INPUT_PULLUP,或加入 debounce 去彈跳程式。

18. Arduino 初學者常見 Q&A

Q1:Arduino 適合完全沒有電子基礎的人學嗎?

適合。但建議不要只複製程式碼,應該同步學習電壓、電流、電阻、LED、按鍵與麵包板接線。

Q2:Arduino UNO、Nano、Mega 要先買哪一種?

初學者建議先買 Arduino UNO。UNO 教學資源最多,接線也比較清楚,適合入門學習。

Q3:Arduino 可以做 IoT 嗎?

可以,但 Arduino UNO 本身沒有網路功能,需要搭配 Ethernet Shield、Wi-Fi 模組,或改用 ESP8266、ESP32。

19. Arduino 進階學習方向

  • Arduino + LCD 顯示器
  • Arduino + SHT30 溫濕度感測器
  • Arduino + W5500 Ethernet Shield
  • Arduino + RS232 工業設備通訊
  • Arduino + SPI SD 卡資料記錄
  • Arduino + 中斷控制
  • Arduino + Timer 非阻塞控制
  • Arduino + IoT 資料上傳
  • Arduino + PHP / MySQL 後端接收資料
  • Arduino + Web Dashboard 顯示感測數據

結論

Arduino 是學習電子控制、感測器應用與 IoT 開發非常適合的入門平台。真正完整的 Arduino 學習,不應該只停留在 Blink 範例,而是要從電子零件、基礎電學、麵包板接線、Arduino IDE、程式語法、GPIO 控制、序列通訊、SPI、Keypad、七段顯示器、計時器與中斷逐步建立完整基礎。

相關資源與文章匯出
查看 Arduino 入門免費教材 下載 DOCX PDF/列印

← 回文章列表