Arduino 入門教學:UNO R3 規格、功能與應用完整介紹

發布日期: |更新日期:
文章主圖:Arduino 入門教學:UNO R3 規格、功能與應用完整介紹

Arduino UNO R3 是什麼?

Arduino UNO R3 是最常見的 Arduino 入門開發板之一,適合用來學習微控制器、電子電路、感測器控制、馬達控制、LED 顯示、資料讀取與 IoT 原型開發。

Arduino UNO R3 的核心是 ATmega328P 微控制器,具備數位輸入輸出腳位、類比輸入腳位、PWM 輸出、UART、I2C、SPI 等常用介面。對初學者來說,它最大的優點是容易上手、範例多、社群資源豐富,而且可以直接透過 USB 連接電腦燒錄程式。

本文會完成哪些內容?

  • 認識 Arduino UNO R3 的用途與特色
  • 了解 UNO R3 的主要硬體規格
  • 說明數位腳位、類比腳位、PWM、UART、I2C、SPI 的作用
  • 介紹 Arduino UNO R3 的供電方式
  • 安裝 Arduino IDE 開發環境
  • 設定開發板與序列埠
  • 完成第一個 LED Blink 測試程式
  • 使用 Serial Monitor 測試序列輸出
  • 整理 Arduino UNO R3 常見應用
  • 提供故障排除與 Q&A
  • 補充進階學習方向與專案建議

Arduino UNO R3 適合誰學習?

  • 第一次接觸 Arduino 的初學者
  • 想學習感測器與電子電路控制的人
  • 想做溫度、濕度、光照、距離偵測專案的人
  • 想學習 IoT 原型開發的人
  • 想入門微控制器與嵌入式系統的人
  • 想做 LED、馬達、蜂鳴器、LCD 顯示控制的人
  • 學校課程、創客教育、專題製作或自學使用者

Arduino UNO R3 主要規格

Arduino UNO R3 使用 ATmega328P 作為主控晶片,工作電壓為 5V,常見輸入電壓建議為 7V 到 12V。它提供 14 個數位 I/O 腳位,其中 6 個可作為 PWM 輸出,並提供 6 個類比輸入腳位。

這些規格讓 UNO R3 很適合用來控制 LED、讀取感測器、輸出 PWM 控制馬達速度,或透過序列通訊與其他模組交換資料。

  • 主控晶片:ATmega328P
  • 工作電壓:5V
  • 建議輸入電壓:7V 到 12V
  • 數位 I/O 腳位:14 個
  • PWM 腳位:6 個,通常為 3、5、6、9、10、11
  • 類比輸入腳位:6 個,A0 到 A5
  • Flash 記憶體:32KB
  • SRAM:2KB
  • EEPROM:1KB
  • 時脈頻率:16MHz
  • 通訊介面:UART、I2C、SPI
  • USB 連接:可用於供電、燒錄程式與序列通訊

Arduino UNO R3 腳位功能說明

Arduino UNO R3 的腳位可以分成數位 I/O、類比輸入、電源腳位與通訊腳位。初學時不需要一次記住全部腳位,但要先理解每種腳位的用途。

數位 I/O 腳位

數位腳位可以輸出 HIGH 或 LOW,也可以讀取外部訊號。HIGH 通常代表 5V,LOW 通常代表 0V。常見應用包括控制 LED、讀取按鈕、控制繼電器或偵測簡單開關狀態。

pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
digitalWrite(13, LOW);

類比輸入腳位

A0 到 A5 是類比輸入腳位,可以讀取 0V 到 5V 之間的電壓,並轉換成 0 到 1023 的數值。常見用途包含讀取可變電阻、光敏電阻、溫度感測器、土壤濕度感測器等。

int value = analogRead(A0);
Serial.println(value);

PWM 輸出腳位

PWM 可以用來模擬類比輸出,常用於 LED 亮度調整、馬達速度控制與蜂鳴器控制。Arduino UNO R3 上帶有 ~ 符號的腳位通常支援 PWM。

analogWrite(9, 128);

UART、I2C 與 SPI 通訊介面

UART 常用於序列通訊,例如與電腦 Serial Monitor、藍牙模組或部分感測器溝通。I2C 常用於 LCD、OLED、RTC、SHT30 等模組。SPI 則常用於 SD Card、RFID、Ethernet Shield、TFT 顯示器等模組。

  • UART:D0 RX、D1 TX
  • I2C:A4 SDA、A5 SCL
  • SPI:D10 SS、D11 MOSI、D12 MISO、D13 SCK

Arduino UNO R3 供電方式

Arduino UNO R3 可以透過 USB、DC Jack 或 Vin 腳位供電。初學測試時最簡單的方式是使用 USB 連接電腦,這樣可以同時供電與燒錄程式。

若是接感測器、繼電器、馬達或外部模組,要特別注意電流需求。馬達與繼電器通常不建議直接由 Arduino 腳位供電,應使用外部電源與驅動模組。

  • USB 供電:適合初學測試與程式燒錄
  • DC Jack:可接外部電源,常見建議 7V 到 12V
  • Vin 腳位:可輸入外部電源,但需注意電壓範圍
  • 5V 腳位:提供 5V 電源,但不可超過板子可承受電流
  • 3.3V 腳位:提供 3.3V 電源,適合部分低電壓模組

安裝前準備

開始實作之前,請準備 Arduino UNO R3、USB 傳輸線、電腦與 Arduino IDE。若要做基本 LED Blink 測試,只需要 UNO R3 本身即可,因為板子上通常已經有內建 LED 連接到 D13 腳位。

  • Arduino UNO R3 開發板
  • USB Type-B 傳輸線
  • Windows、macOS 或 Linux 電腦
  • Arduino IDE
  • LED、電阻、麵包板與杜邦線,若要做外接 LED 測試才需要
  • 常用感測器模組,例如 DHT11、SHT30、LDR、HC-SR04,可作為延伸練習

Step 1:安裝 Arduino IDE

Arduino IDE 是撰寫、編譯與上傳 Arduino 程式的官方開發工具。初學者建議先使用 Arduino IDE,因為它內建許多範例,對學習 UNO R3 很方便。

安裝完成後,將 Arduino UNO R3 透過 USB 線連接到電腦。若是 Windows 環境,部分相容板可能需要額外安裝 CH340 或其他 USB-to-Serial 驅動程式。

Step 2:選擇 Arduino UNO 開發板

開啟 Arduino IDE 後,需要先選擇正確的開發板類型。若使用 Arduino UNO R3,請選擇 Arduino Uno。

Tools → Board → Arduino AVR Boards → Arduino Uno

如果板子選錯,可能會出現編譯錯誤、上傳失敗或程式無法正常執行。

Step 3:選擇正確的序列埠

Arduino UNO R3 透過 USB 連接電腦後,系統會產生一個序列埠。你需要在 Arduino IDE 中選擇正確的 Port。

Tools → Port → 選擇 Arduino UNO 對應的 COM Port 或 tty 裝置

在 Windows 中通常會看到 COM3、COM4、COM5 之類的名稱。在 Linux 或 macOS 中,常見名稱可能是 /dev/ttyACM0、/dev/ttyUSB0 或 /dev/cu.usbmodem。

Step 4:第一個 Arduino 程式:Blink LED

Blink 是 Arduino 最經典的入門範例,它會讓 UNO R3 板子上的內建 LED 每秒閃爍一次。這個範例可以用來確認 Arduino IDE、USB 連線、板子設定與上傳流程是否正常。

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

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

按下 Upload 後,如果上傳成功,UNO R3 板子上的 L LED 應該會每秒閃爍一次。這代表 Arduino IDE 與 UNO R3 已經可以正常運作。

Step 5:使用 Serial Monitor 測試序列輸出

Serial Monitor 是 Arduino 入門時非常重要的除錯工具。你可以透過它查看感測器數值、變數狀態或程式執行流程。

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

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

上傳後打開 Serial Monitor,並確認鮑率設定為 9600。如果畫面每秒顯示 Hello Arduino UNO R3,代表序列通訊正常。

Step 6:讀取類比輸入數值

接下來可以使用 A0 腳位讀取類比數值。這個範例可用於可變電阻、光敏電阻、溫度感測器或其他類比輸出模組。

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

void loop() {
  int value = analogRead(A0);
  Serial.println(value);
  delay(500);
}

analogRead() 會回傳 0 到 1023 的數值,代表輸入電壓從 0V 到 5V 的轉換結果。這是學習感測器讀取非常重要的基礎。

Step 7:PWM 控制 LED 亮度

PWM 可以讓 LED 亮度逐漸變化,也可以用於馬達速度控制。以下範例會讓接在 D9 的 LED 逐漸變亮再變暗。

int ledPin = 9;

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

void loop() {
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(ledPin, brightness);
    delay(10);
  }

  for (int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(ledPin, brightness);
    delay(10);
  }
}

Arduino UNO R3 常見應用

Arduino UNO R3 的用途非常廣,從最簡單的 LED 控制,到感測器資料讀取、馬達控制、LCD 顯示、資料記錄、無線通訊與 IoT 原型都可以實作。

  • LED 閃爍與燈光控制
  • 按鈕輸入與開關控制
  • 溫度與濕度感測
  • 光照感測與自動照明
  • 超音波距離測量
  • 伺服馬達角度控制
  • 直流馬達速度控制
  • LCD 或 OLED 顯示資料
  • 蜂鳴器警報系統
  • SD Card 資料記錄
  • Ethernet Shield 或 Wi-Fi 模組網路連線
  • IoT 感測資料上傳

Arduino UNO R3 與感測器專案範例

如果你已經完成 Blink、Serial Monitor 與 analogRead 測試,下一步可以開始接感測器。以下是常見的 Arduino UNO R3 入門專案方向。

  • 使用 DHT11 或 DHT22 讀取溫度與濕度
  • 使用 SHT30 透過 I2C 讀取高精度溫度濕度
  • 使用 HC-SR04 超音波模組測量距離
  • 使用 LDR 光敏電阻做自動夜燈
  • 使用 DS18B20 做防水溫度量測
  • 使用 16x2 LCD 顯示感測器數值
  • 使用 W5500 Ethernet Shield 上傳資料到伺服器
  • 使用繼電器模組控制風扇或燈具

Arduino UNO R3 開發時的注意事項

  • 不要讓 I/O 腳位直接承受過大電流
  • 馬達、繼電器與大功率負載應使用外部電源與驅動電路
  • 外部電源與 Arduino 通常需要共地
  • 接線前先確認模組工作電壓是 5V 還是 3.3V
  • 使用感測器前先確認腳位順序,避免 VCC 與 GND 接反
  • 不確定接法時,先查模組規格或使用萬用電表確認
  • 上傳程式失敗時,先檢查 Board、Port、USB 線與驅動程式

常見故障排除

問題 1:Arduino IDE 找不到 UNO R3 的 Port

如果 Arduino IDE 看不到序列埠,通常是 USB 線、驅動程式或系統權限問題。請先確認 USB 線可以傳輸資料,而不是只能充電的線。

  • 更換 USB 傳輸線
  • 更換 USB Port
  • Windows 檢查裝置管理員是否有 COM Port
  • 相容板可能需要安裝 CH340 驅動
  • Linux 使用者需確認是否有序列埠權限

問題 2:上傳程式時出現 avrdude 錯誤

avrdude 錯誤通常代表電腦無法和 Arduino bootloader 正常通訊。常見原因是 Board 選錯、Port 選錯、USB 線不良、驅動未安裝或 D0/D1 腳位被外部模組占用。

  • 確認 Board 選擇 Arduino Uno
  • 確認 Port 選擇正確
  • 拔掉接在 D0、D1 的外部模組後再上傳
  • 重新插拔 USB
  • 更換 USB 線
  • 按下 Reset 後再嘗試上傳

問題 3:LED Blink 沒有閃爍

如果使用板子內建 LED,請確認程式使用的是 13 腳。如果使用外接 LED,請確認 LED 極性、電阻與接線方式。LED 長腳通常為正極,短腳通常為負極。

pinMode(13, OUTPUT);
digitalWrite(13, HIGH);

問題 4:Serial Monitor 顯示亂碼

Serial Monitor 顯示亂碼通常是鮑率設定不同。程式中 Serial.begin() 設定多少,Serial Monitor 也要選相同速度。

Serial.begin(9600);

如果程式使用 9600,Serial Monitor 也要選 9600 baud。

問題 5:接上感測器後數值不正確

感測器數值不正確通常與接線、電壓、函式庫或腳位設定有關。請先確認 VCC、GND、Signal 腳位是否正確,並確認感測器需要 5V 還是 3.3V。

  • 確認感測器腳位順序
  • 確認供電電壓
  • 確認 GND 是否共地
  • 確認使用正確函式庫
  • 確認程式腳位與實際接線一致
  • 使用 Serial Monitor 印出原始數值協助除錯

Arduino UNO R3 入門學習路線

初學 Arduino 不建議一開始就做太複雜的專案。比較好的方式是先學會輸出、輸入、類比讀取、PWM、序列通訊,接著再學感測器、LCD、馬達與網路模組。

  1. LED Blink 與 digitalWrite
  2. 按鈕輸入與 digitalRead
  3. 類比輸入與 analogRead
  4. PWM 輸出與 analogWrite
  5. Serial Monitor 除錯
  6. 溫度、濕度、光照等感測器
  7. LCD 或 OLED 顯示
  8. 馬達與繼電器控制
  9. SD Card 資料記錄
  10. Ethernet 或 Wi-Fi 網路通訊
  11. IoT 資料上傳與伺服器整合

進階應用:Arduino UNO R3 與 IoT

Arduino UNO R3 本身沒有內建 Wi-Fi,但可以透過 W5500 Ethernet Shield、ESP8266 模組、ESP-01 或其他通訊模組連接網路。這樣就能把感測器資料傳送到網站、資料庫或 API Server。

例如你可以使用 UNO R3 搭配 SHT30 溫溼度感測器與 W5500 Ethernet Shield,每隔一段時間將資料送到 PHP API,再存入 MySQL 或 MariaDB,建立自己的 IoT 感測記錄系統。

Arduino UNO R3
   ↓
感測器:SHT30 / DHT22 / DS18B20
   ↓
通訊模組:W5500 Ethernet Shield / Wi-Fi 模組
   ↓
Web API:PHP / Node.js / Python
   ↓
Database:MySQL / MariaDB
   ↓
Dashboard:Web 圖表與告警系統

Q&A 常見問題

Q1:Arduino UNO R3 適合初學者嗎?

適合。UNO R3 是 Arduino 最常見的入門板之一,範例多、資料多、接線簡單,很適合第一次學習微控制器、電子電路與感測器控制的人。

Q2:Arduino UNO R3 可以做 IoT 嗎?

可以,但 UNO R3 本身沒有內建網路功能,需要搭配 Ethernet Shield、Wi-Fi 模組或其他通訊模組,才能將資料傳送到網路伺服器或雲端平台。

Q3:Arduino UNO R3 可以直接控制馬達嗎?

不建議直接用 Arduino 腳位驅動馬達,因為馬達需要的電流通常超過 I/O 腳位可承受範圍。應使用馬達驅動模組,例如 L298N、TB6612FNG 或 MOSFET 驅動電路。

Q4:Arduino UNO R3 和 ESP32 有什麼不同?

UNO R3 適合入門學習基本電子控制,ESP32 則具備 Wi-Fi、Bluetooth、較高效能與更多功能。如果你是初學者,可以先從 UNO R3 學基礎,再進階到 ESP32 做 IoT 專案。

Q5:Arduino UNO R3 可以接幾個感測器?

可接數量取決於腳位、通訊介面、供電與程式記憶體。I2C 感測器可以共用 SDA、SCL,但每個裝置需要不同位址。類比感測器則通常會占用 A0 到 A5 腳位。

Q6:Arduino 程式上傳成功,但功能不正常怎麼辦?

請先用 Serial Monitor 印出關鍵變數,確認程式是否有進入 loop、感測器是否有讀到數值、腳位是否正確。很多 Arduino 問題不是程式錯,而是接線、電源或模組腳位定義錯誤。

延伸閱讀與內鏈建議

  • Arduino UNO R3 LED Blink 入門實作
  • Arduino 溫度感測器 SHT30 實作教學
  • Arduino 16x2 LCD 顯示器教學
  • Arduino W5500 Ethernet Shield 網路資料上傳教學
  • Arduino 與 MySQL IoT 資料記錄系統
  • ESP32 入門教學:Wi-Fi 與 IoT 應用

總結

Arduino UNO R3 是非常適合初學者的微控制器開發板,具備數位 I/O、類比輸入、PWM、UART、I2C、SPI 等常用功能,可以用來學習 LED 控制、感測器讀取、馬達控制、LCD 顯示與 IoT 原型開發。

學習 Arduino UNO R3 時,建議先從 Arduino IDE 安裝、Board 與 Port 設定、Blink 測試、Serial Monitor、analogRead 與 PWM 控制開始,再逐步進入感測器、顯示器、資料記錄與網路通訊。

相關資源與文章匯出
下載 Arduino UNO R3 入門教材 下載 DOCX PDF/列印

← 回文章列表