---
# System prepended metadata

title: Arduino IDE 簡介
tags: [OpenHCI'24 Arduino]

---

# Arduino IDE 簡介

## 介面總覽

* 初始畫面 [[1]](https://crazymaker.com.tw/installing-and-getting-started-with-arduino-ide-v2/#google_vignette)
    * **驗證**: 檢驗程式碼是否有錯誤
    * **上傳**: 將程式碼燒錄到Arduino
    * **選擇開發板, 序列埠**: 要選擇對應的開發板，編譯時才會正確;下拉選單選擇電腦對應到Arduino的COM port。
    * **草稿碼**: 點開可以看到預設路徑中存檔的草稿碼(程式碼)，也可以新增新的草稿碼。
    * **開發板管理員**: 可以透過它安裝其他開發板
    * **程式庫管理員**: 可以透過它安裝其他人寫好的程式庫。
    * **除錯器**: 好像要搭配其他東西才能使用，我也沒有用過，有興趣可去官網研究Debugger
    * **搜尋**: 可搜尋程式碼中的關鍵字
    * **序列埠監控視窗**: 可以透過這個視窗接收或傳送訊息給Arduino
    * **序列繪圖家**: 可以把Arduino回傳的資料作立即的繪圖
    ![Image 1](https://hackmd.io/_uploads/H1MNNCh70.png)

* 初始程式碼
    ```C
    void setup() {
      // put your setup code here, to run once:

    }

    void loop() {
      // put your main code here, to run repeatedly:

    }
    ```
    
    * setup() 與 loop() 是影響程式運作流程的重要函式。
        * `setup()`:程式碼只會被「**執行一次**」
            通常放些初始設置，如：設定腳位、設定伺服馬達初始角度
            
        * `loop()`: 程式碼會被「**重複執行**」
            對於持續偵測，持續循環執行的功能可放此處



## 匯入範例程式、函式庫

* 三種方式，匯入[[2]](https://imacnoob.blogspot.com/2012/11/arduino-library.html)
    * 第一種：Library Manager 搜尋，並 Install
       ![Image 4](https://hackmd.io/_uploads/BJO-X037A.png)


    * 第二種：下載壓縮檔，並直接匯入
        ![Image 3](https://hackmd.io/_uploads/ryfVGChmR.png)


    * 第三種：將檔案直接放入檔案目錄
        ==注意：複製過去之後，記得要重新啟動Arduino IDE。==
        ![Image 5](https://hackmd.io/_uploads/ryS0mRnmR.png)

## 常見函式

1. **pinMode()** - 設定指定腳位（pin）的模式。例如，設定為輸入（INPUT）或輸出（OUTPUT）模式。
2. **digitalWrite()** - 向數位腳位寫入高（HIGH）或低（LOW）電位，用於控制開關類設備。
3. **digitalRead()** - 讀取數位腳位的電位狀態，返回 HIGH 或 LOW。
4. **analogRead()** - 讀取類比腳位的電壓值，返回一個範圍在 0 到 1023 之間的整數，代表 0V 到 5V。
5. **analogWrite()** - 向類比腳位輸出模擬信號，通常是以 PWM（脈衝寬度調變）形式輸出，範圍從 0 到 255。
6. **delay()** - 暫停程式執行指定的毫秒數。
7. **Serial.begin()** - 啟動串列通訊，設定資料傳輸的波特率（如 9600）。
8. **Serial.print()** - 透過串列端口發送數據或文字到連接的電腦或其他裝置。

這些函式大多數用於基本的 Arduino 程式設計，用來控制和讀取各種感測器和執行器。

## 參考連結

* [[1] Arduino IDE 2.0 安裝與介紹](https://crazymaker.com.tw/installing-and-getting-started-with-arduino-ide-v2/#google_vignette)
* [[2] 如何安裝Ardiuno的Library? ](https://imacnoob.blogspot.com/2012/11/arduino-library.html)



