第5章 Arduino IDE 安裝與第一支程式:Blink、setup、loop 完整教學

發布日期: |更新日期:
文章主圖:第5章 Arduino IDE 安裝與第一支程式:Blink、setup、loop 完整教學

學習 Arduino IDE 與第一支程式

本章將帶你完成 Arduino IDE 的安裝與基本設定,認識程式編輯、編譯、上傳及序列埠除錯等常用功能。

你也會建立第一支 Arduino 程式,理解 setup() 與 loop() 的執行方式,並透過 Blink 範例確認開發板、USB 連線與通訊埠設定是否正確。

本章以 Arduino Uno 與 Arduino IDE 2.x 為主要示範環境;不同開發板的板型名稱、內建 LED 腳位及驅動需求可能不同。

本章學習目標

  • 安裝 Arduino IDE。
  • 認識 Arduino IDE 的操作介面。
  • 建立第一個 Arduino 專案。
  • 了解 setup() 與 loop() 的用途。
  • 上傳第一支 Blink 程式。
  • 使用 Serial Monitor 觀察程式輸出。

什麼是 Arduino IDE

Arduino IDE(Integrated Development Environment,整合開發環境)是 Arduino 官方提供的免費開發工具,也是初學者學習 Arduino 時最常使用的程式開發環境。

使用 Arduino IDE 可以編寫與編譯程式、將程式上傳至開發板、管理函式庫與開發板套件,並使用 Serial Monitor 或 Serial Plotter 觀察執行結果。

  • 編寫 Arduino 程式。
  • 編譯程式並檢查語法錯誤。
  • 將程式上傳至 Arduino 開發板。
  • 管理函式庫(Library)。
  • 安裝與管理開發板套件(Board Package)。
  • 使用 Serial Monitor 顯示文字與數值。
  • 使用 Serial Plotter 將連續數值繪製成折線圖。
  • 支援 Windows、Linux 與 macOS。

Arduino IDE 版本比較

Arduino IDE 主要版本比較
版本 說明
Arduino IDE 2.x 建議初學者使用,介面現代化,提供程式自動完成、語法提示、多分頁編輯及較完整的開發功能。
Arduino IDE 1.8.x 舊版開發環境,仍可在部分舊教材、舊系統或既有專案中看到。

本教材建議使用 Arduino IDE 2.x。實際可安裝版本仍應依作業系統支援情況與 Arduino 官方目前提供的版本為準。

安裝 Arduino IDE

請從 Arduino 官方網站下載符合目前作業系統的 Arduino IDE 安裝程式,再依安裝精靈完成安裝。

安裝前應先確認作業系統版本與處理器架構。若電腦由公司或學校管理,也可能需要系統管理員權限才能完成安裝或安裝 USB 驅動程式。

  1. 進入 Arduino 官方網站的軟體下載頁面。
  2. 選擇適合 Windows、Linux 或 macOS 的安裝版本。
  3. 下載安裝程式或壓縮套件。
  4. 依畫面指示完成安裝。
  5. 啟動 Arduino IDE,確認主視窗可以正常開啟。

認識 Arduino IDE 操作介面

Arduino IDE 啟動後,主要會看到功能表、工具列、程式編輯區、訊息或輸出視窗,以及底部狀態列。

工具列中的 Verify 用來編譯並檢查程式,Upload 用來編譯後上傳至開發板;開發板與通訊埠選擇區則決定程式要傳送到哪一塊板子。

  • 功能表(Menu):開啟檔案、範例、工具與設定。
  • 驗證(Verify):編譯程式並檢查錯誤。
  • 上傳(Upload):將程式編譯後寫入開發板。
  • Board 選擇:指定目前使用的開發板型號。
  • Port 選擇:指定 Arduino 連接的序列通訊埠。
  • 程式編輯區(Editor):輸入與修改程式碼。
  • Output 視窗:顯示編譯、上傳與錯誤訊息。
  • Serial Monitor:顯示 Arduino 經由序列埠輸出的文字與數值。

第一次設定 Arduino IDE

Arduino IDE 安裝完成後,至少要選擇正確的開發板與通訊埠。這兩項設定錯誤時,即使程式本身沒有問題,也可能無法成功上傳。

Step 1:選擇開發板

  1. 開啟 Tools。
  2. 進入 Board。
  3. 選擇 Arduino AVR Boards。
  4. 選擇 Arduino Uno。

若使用 Arduino Nano、Mega、ESP32 或其他開發板,必須選擇相符的板型。部分非 AVR 開發板需要先透過 Boards Manager 安裝對應的開發板套件。

Step 2:選擇通訊埠

使用 USB 線將 Arduino Uno 連接到電腦,再於 Arduino IDE 中選擇新增出現的通訊埠。

最可靠的辨識方法是先查看未連接開發板時的通訊埠清單,再接上 Arduino,比較新增的項目。

不同作業系統常見的 Arduino 通訊埠名稱
作業系統 常見名稱
Windows COM3、COM4、COM5 等,實際編號依電腦而異。
Linux /dev/ttyUSB0、/dev/ttyACM0 等。
macOS /dev/cu.usbmodemXXXX 或其他由系統建立的序列裝置名稱。

找不到通訊埠時的檢查方式

  • 確認 USB 線支援資料傳輸;部分充電線只有供電功能。
  • 重新插拔 USB 線,並改用另一個 USB 連接埠測試。
  • 確認 Arduino 開發板的電源指示燈是否亮起。
  • 確認作業系統是否已辨識 USB 序列裝置。
  • 相容版開發板可能使用不同的 USB 轉序列晶片,必要時需安裝對應驅動程式。
  • 關閉可能占用序列埠的其他程式,再重新開啟 Arduino IDE。
  • Linux 使用者若遇到權限問題,應依所用發行版檢查序列裝置群組權限。

Arduino 程式的基本架構

Arduino Sketch 最基本的結構由 setup() 與 loop() 兩個函式組成。開發板重設或上電後,會先執行一次 setup(),接著持續重複執行 loop()。

void setup()
{
}

void loop()
{
}

setup() 只執行一次

setup() 通常用來完成程式啟動時的初始化工作,例如設定腳位模式、啟動序列埠、初始化顯示器或感測器,以及建立通訊。

void setup()
{
  Serial.begin(9600);
  pinMode(13, OUTPUT);
}

loop() 持續循環執行

setup() 執行完成後,Arduino 會持續重複執行 loop() 中的內容,直到開發板斷電、重設或載入其他程式。

感測器讀值、按鍵判斷、LED 控制與通訊處理等需要持續更新的工作,通常會放在 loop() 內。

第一支程式:Blink

Blink 是 Arduino IDE 內建的基礎範例。它會讓開發板上的內建 LED 依固定時間亮起與熄滅,可用來確認程式編譯、USB 連線、開發板選擇及通訊埠設定是否正常。

  1. 開啟 File。
  2. 選擇 Examples。
  3. 進入 01.Basics。
  4. 開啟 Blink。
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}

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

Blink 程式逐行解析

LED_BUILTIN 代表內建 LED 腳位

在經典 Arduino Uno 上,板載 LED 通常連接到數位腳位 D13,因此 LED_BUILTIN 在此板型上對應該腳位。

使用 LED_BUILTIN 而不是直接寫入數字,可讓程式在不同開發板之間保有較好的可攜性,因為不同板型的內建 LED 腳位不一定相同。

pinMode() 設定腳位模式

pinMode(LED_BUILTIN, OUTPUT);

pinMode() 用來設定數位腳位的工作模式。OUTPUT 表示該腳位將由 Arduino 輸出高電位或低電位,以控制 LED 或其他外部電路。

digitalWrite() 控制高低電位

digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED_BUILTIN, LOW);

digitalWrite() 用來控制已設為 OUTPUT 的數位腳位。HIGH 代表輸出邏輯高電位,LOW 代表輸出邏輯低電位。

在 Arduino Uno 的板載 LED 電路中,HIGH 會使 LED 亮起,LOW 會使 LED 熄滅。實際輸出電壓取決於開發板的邏輯電壓,不應假設所有 Arduino 相容板都固定為 5V。

delay() 暫停程式執行

delay(1000);

delay() 的參數單位是毫秒。delay(1000) 會暫停約 1000 毫秒,也就是約 1 秒。

在 Blink 範例中,LED 亮 1 秒後熄滅 1 秒,因此一個完整的亮滅循環約為 2 秒。

編譯並上傳 Blink 程式

  1. 確認 Arduino Uno 已透過可傳輸資料的 USB 線連接電腦。
  2. 確認 Arduino IDE 已選擇正確的 Board。
  3. 確認 Arduino IDE 已選擇正確的 Port。
  4. 按下 Verify,先編譯程式並檢查語法。
  5. 確認 Output 視窗未顯示編譯錯誤。
  6. 按下 Upload,將程式寫入 Arduino。
  7. 觀察 Output 視窗的上傳結果與開發板上的內建 LED。

上傳成功後,開發板通常會重新啟動並執行新程式。預期結果是內建 LED 約每秒切換一次亮滅狀態。

若 LED 沒有閃爍,應先確認所用開發板是否具有內建 LED,以及該板型的 LED_BUILTIN 定義是否適用。

使用 Serial Monitor 觀察程式輸出

Serial Monitor 是 Arduino 開發中最常用的除錯工具之一。程式可以透過 Serial.print() 或 Serial.println() 將文字與數值傳送到電腦,協助觀察感測器資料、程式流程及變數狀態。

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

void loop()
{
  Serial.println("Hello Arduino");
  delay(1000);
}
  1. 將程式上傳至 Arduino。
  2. 開啟 Tools。
  3. 選擇 Serial Monitor。
  4. 將 Serial Monitor 的鮑率設定為 9600。
  5. 觀察視窗是否約每秒顯示一次 Hello Arduino。

Serial.begin(9600) 與 Serial Monitor 的鮑率必須一致,否則可能看到亂碼或無法正確閱讀輸出。

Serial Monitor 可用來觀察溫度、光敏電阻、超音波距離、按鍵狀態與通訊資料,是後續感測器實作的重要工具。

使用 Serial Plotter 顯示數值變化

Serial Plotter 可以將 Arduino 經由序列埠輸出的連續數值繪製成圖形,適合觀察溫度、光照強度與距離等資料隨時間的變化。

要讓圖形容易判讀,程式應以穩定格式輸出數值,並避免在同一資料列混入不必要的說明文字。

常見上傳問題與故障排除

編譯時出現語法錯誤

先查看 Output 視窗指出的錯誤行號與訊息,檢查分號、括號、函式名稱及大小寫。Arduino 程式語言區分英文大小寫,例如 setup() 與 Setup() 並不相同。

上傳時找不到開發板

確認 Board 與 Port 是否正確、USB 線是否可傳輸資料,以及作業系統是否已辨識 USB 序列裝置。相容版開發板也可能需要額外的 USB 轉序列驅動程式。

通訊埠被其他程式占用

若上傳時顯示無法開啟通訊埠,請先關閉其他 Serial Monitor、終端機或可能使用同一通訊埠的程式,再重新執行上傳。

Serial Monitor 顯示亂碼

檢查 Serial.begin() 設定的鮑率是否與 Serial Monitor 右下角或工具列中的鮑率一致。例如程式使用 Serial.begin(9600),Serial Monitor 也應選擇 9600 baud。

本章實作練習

  1. 安裝並啟動 Arduino IDE 2.x。
  2. 連接 Arduino Uno,選擇正確的 Board 與 Port。
  3. 開啟 Blink 範例並完成編譯與上傳。
  4. 將兩個 delay(1000) 改成 delay(500),比較 LED 閃爍速度。
  5. 再將 LED 亮燈延遲設為 200 毫秒、熄燈延遲設為 800 毫秒,觀察不對稱閃爍效果。
  6. 建立使用 Serial.println("Hello Arduino"); 的程式,並在 Serial Monitor 查看輸出。
  7. 故意將 Serial Monitor 設成不同鮑率,觀察結果後再改回正確設定。

本章重點整理

  • Arduino IDE 可用來編寫、編譯與上傳 Arduino 程式。
  • 上傳前必須確認 Board 與 Port 設定正確。
  • setup() 在開機或重設後執行一次,loop() 則持續循環。
  • Blink 可用來驗證基本開發環境與開發板連線。
  • pinMode() 設定腳位模式,digitalWrite() 控制數位輸出,delay() 以毫秒為單位暫停程式。
  • Serial Monitor 適合檢查文字與數值,Serial Plotter 適合觀察連續資料的變化。

下一章學習方向

完成開發環境與第一支程式後,下一步可學習 Arduino 程式語法與變數,包括基本 C/C++ 語法、常用資料型別、常數、運算子與條件判斷。

先建立程式設計基礎,再進入 GPIO、Digital I/O、Analog Input、PWM、UART、I²C 與 SPI,能讓後續硬體控制與感測器實作更容易理解。

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

← 回文章列表