# Arduino 簡介
###### tags: `Arduino`
Arduino是一個**開源**的**嵌入式**硬體平台,為新手和專業人員提供一種低成本且簡單的方法來建立各種能夠具有環境感測功能的機器。
常見作品包括感測器、簡單機器人、和運動檢測器。
[建議閱讀文章: Arduino Uno功能簡介](https://openhome.cc/Gossip/Books/mBlockArduino1-3and1-4.html)
## 認識 Arduino IDE
Arduino IDE (Integrated Development Environment 整合開發環境),我們可以透過它設計Arduino程式來控制主板上安裝的各式套件。它是以C/C ++的語言編寫的跨平台應用程式。
### 基本操作
#### (P)存檔
+ 點擊`檔案`,`另存新檔`
+ 檔案名稱請用英文與數字命名,存檔時不可用中文名稱命名。
+ 如要用特殊符號做英數字區隔來命名,請使用底線符號`_`來命名
+ 如: `buzzer_1031_version1`
#### (P)開發板與序列埠設定
+ **開發板** : 即你使用的Arduino系統主板,如`Arduino uno`
+ **序列埠** : 用來傳輸主板與Arduino IDE的資訊
+ **序副埠監控視窗** : 通常用來檢視程式運行狀況之用
+ **主板連接電腦** : 開發板請選擇對應開發板,本次學校使用的是`Arduino uno` 。在`Arduino uno`板接上連接線連接電腦後,請開啟Arduino IDE並選擇對應的序列埠,通常後面會用括弧提示,如下圖。

___
#### (P)驗證、上傳、新增、開啟、儲存

+ 打勾符號代表`驗證`,檢驗程式碼有無出錯
+ 向右箭頭表示`上傳`,檢驗程式無語法錯誤後,上傳至adruino開發板執行程式
+ 紙張符號表示`新增`,開啟一個新的arduino檔
+ 向上箭頭表示`開啟`,開啟指定檔案或者最近的檔案
+ 向下箭頭表示`儲存`,儲存目前的檔案
#### (P) 認識 setup() 與 loop()
`setup()` 與 `loop()` 是影響程式運作流程的重要函式。
+ `setup()`的程式碼只會被==執行一次==,通常放些初始設置,如設定腳位、設定伺服馬達初始角度
+ `loop()`的程式碼會被==重複執行==,對於持續偵測,持續循環執行的功能可放此處
```cpp=
void setup() {
// setup()區塊內的程式碼會被執行一次
}
void loop() {
// loop()區塊內的程式碼會被重複執行
}
```
[Arduino作品目錄](https://hackmd.io/KH0oMN6ZSiuiogFCy5s_mA)