Arduino 入門介紹
Arduino 是甚麼?
Arduino 是一個開放原始碼的單晶片微控制器,使用者可以在 Arduino 板子上接上各種電子裝置,例如 LED 燈、喇叭、馬達、開關、溫濕度感測器、紅外線發射與接收器、LCD 顯示等.. 裝置。只要寫一些簡單的自動控制程式,就能利用 Arduino 做出各式各樣的自動控制應用。
為何選擇Arduino ?
1.便宜
相比其他單片開發平台而言,Arduino開發板價格相對便宜。
2.跨平台開發環境
Arduino軟體開發環境(IDE)能在Windows、Macintosh OSX和Linux操作系統中執行。
3.簡單明了的開發環境
Arduino的開發環境易於初學者使用,同時對進階使用者也夠靈活。Arduino以Processing開發環境為基礎,讓非熟悉電腦、電子的人士,如設計師、藝術家、學生,在學習程式的過程中得心應手。
4.開放原始碼的軟硬體平台
Arduino 的軟體開發環境(IDE)是以放原始碼的方式發行,進階使用者可自行修改、添加函式庫。開發板和擴充模組是遵循“知識共享許可協議”的前提下發行,設計人員可以做出屬於自己的模組,並進行相應的擴充和改進。
Arduino的硬體平台
Arduino 官方發行了一系列開發版,例如 Arduino UNO 含WiFi 的Arduino Yún,好景不常Arduino 於 2015年分家了,原本的開發團隊Arduino LLC,原本的生產公司Arduino Srl,Arduino LLC在美國可用Arduino品牌,美國以外只能用Genuino品牌行銷。Arduino Srl 在美國以外用Arduino品牌,在美國不能賣。
生產 Arduino 相容開發版的廠商很多,比較知名主打自有品牌的有Intel、adafruit 、Sparkfun 、Seeedstudio、 MTK(委託Seeedstudio)... 等。
Arduino LLC 發行的 Arduino Uno
Arduino Srl 發行的 Arduino Uno
Arduino的軟體開發平台
Arduino IDE源自於Processing程式語言的整合開發環境採用速寫本方式,編寫的程式被稱為「sketch」中文翻譯為 "草稿碼",Arduino IDE 1.0 後附檔名 .ino 。Arduino IDE可同時編譯多個草稿碼,Arduino主程式(.ino)的標籤部會特別顯示副檔名,其他的標籤C程式語言是 .c、 C++程式語言是 .cpp、標頭檔 .h、第三方提供的 .c .cpp .h 也可放在 Arduino\libraries\ 目錄底下不用刻意拉進Arduino IDE。
Arduino IDE使用與C語言和C++相似的程式語言,並且提供了包含常見的輸入/輸出函式的Wiring軟體函式庫。一個典型的Arduino C/C++ sketch程式會包含兩個函式,它們會在編譯後合成為main()函式:
setup(): 在程式執行開始時會執行一次,用於初始化設定。
loop(): 直到Arduino硬體關閉前會重複執行函式放的程式碼。
Arduino 程式語言範例
int LED_PIN=13;
void setup () { // 初始化副程式,程式起始時僅執行一次
pinMode (LED_PIN, OUTPUT); // 以數位輸出方式啟用Pin13
}
void loop () { // loop副程式,重複不斷執行
digitalWrite (LED_PIN, HIGH); // 打開LED
delay (1000); // 等待一秒,delay內含數值1000,代表延遲1000mS,即一秒。
digitalWrite (LED_PIN, LOW); // 關閉LED
delay (1000); //等待一秒
} // loop副程式結束
這是Arduino讓LED閃爍範的例程式。 每一個Arduino程序都必須擁有兩個過程:void setup(){}和void loop(){}。在void setup(){}裡面的代碼在導通電源時會執行一次,然後void loop(){}裡面的代碼會不斷執行。
參考資料
維基百科 https://zh.wikipedia.org
Arduino LLC https://www.arduino.cc/
Arduino Srl http://www.arduino.org/
setup(): 在程式執行開始時會執行一次,用於初始化設定。
loop(): 直到Arduino硬體關閉前會重複執行函式放的程式碼。
Arduino 程式語言範例
int LED_PIN=13;
void setup () { // 初始化副程式,程式起始時僅執行一次
pinMode (LED_PIN, OUTPUT); // 以數位輸出方式啟用Pin13
}
void loop () { // loop副程式,重複不斷執行
digitalWrite (LED_PIN, HIGH); // 打開LED
delay (1000); // 等待一秒,delay內含數值1000,代表延遲1000mS,即一秒。
digitalWrite (LED_PIN, LOW); // 關閉LED
delay (1000); //等待一秒
} // loop副程式結束
這是Arduino讓LED閃爍範的例程式。 每一個Arduino程序都必須擁有兩個過程:void setup(){}和void loop(){}。在void setup(){}裡面的代碼在導通電源時會執行一次,然後void loop(){}裡面的代碼會不斷執行。
參考資料
維基百科 https://zh.wikipedia.org
Arduino LLC https://www.arduino.cc/
Arduino Srl http://www.arduino.org/
沒有留言:
張貼留言