English | 網站導覽 | 中央研究院  
menu_L  
  copyright
各項服務
電子郵件
網路通訊
資訊安全
弱點檢測服務
行政業務電腦化
高效能計算服務
大量儲存與備份
圖資電腦化
後設資料分析服務
網頁寄存
資訊訓練與推廣服務
軟體聯合採購
中央研究院討論區
服務手冊
申請專區
全院相關業務申請專區
院本部業務申請專區
電子賀卡下載區
banner與icon下載專區




   

Arduino基本介紹

發展科:石致和 2013-03-28

 這是個智慧型手機流行的年代,大家一定都聽過Android,但對於Anduinot卻充滿了陌生感。和Android相同的地方在於,兩者皆是使用開放原始碼的軟硬體平台。不同的是,Arduino提供了簡單好用的I/O介面,並具可使用類似於Java、C語言等高階語言的開發環境。

  Arduino是一種開放授權的互動環境開發技術,互動裝置其實無所不在,像是冷氣的恆溫裝置,便是使用感測器偵測環境溫度,進行室內溫度的自動調節;還有汽車使用的倒車雷達,過於靠近物體便會發出聲音警告駕駛者。這些裝置為生活增加不少安全及便利,互動能帶給使用者驚喜,有時會以藝術品的方式呈現在生活當中。

 以往要處理相關的電子設備時,需要透過工程師,逐一由單一小元件拼湊出整個電路。大多數的設計工具都是為了工程師設計,除了電路外還需要廣泛的知識,才有辦法完成電路。還好微處理器有了長足的進步,除了在使用上變得更為容易,價格上的減少更降低了學習的門檻。

Arduino的特色
 開放源碼(open-source)。不僅軟體是開放源碼,硬體也是開放的。軟體的開發環境可在網上免費下載,而Arduino 的電路設計圖也可從官方網站自行下載,依據自身之需求進行修,但須要符合創用CC授權條款(創用CC授權條款)。

 開發簡單,參考資料多。在以往的硬體環境中,要開發微控制器的程式,開發者需要具備電子、電機及相關科系的背景,一般人需花費大量時間能有機會進入這個開發環境中。Arduino 學習門檻較為簡單,不需要電子電機相關科系的背景,也可以很容易學會Arduino相關互動裝置的開發。由於 Arduino 以公開共享為基礎,多數人都樂於分享自己的的創品,網路上能找的創作案子非常豐富。以此會基礎,有時只需要參考分享者的作品,依據自身的需求行調整,就可以在短時間內完成自己的創作。

Arduino具備哪些東西
 主要可區分為三大類,分別是Arduino硬體、Arduino軟體及Arduino擴充原件。
硬體部分可購買現成的版子或是依據網路下載的電路途自行組裝,出學者建議購買現成的,根據Arduino官方網站所寫,台灣地區具有官方合法授權的代理商為藝科資訊 Aroboto Studio、PlayRobot 飆機器人/普特企業有限公司、iCshop (台灣)電子零件,電子材料,當然,還有別的商家,到網路上搜尋一下可找到不少,拍賣網站上也有,甚至也可以到國外網站去買。目前官方網站提供了許多不同的版子供開發者購買。

Arduino硬體介紹:
 

微控制器 ATMEGA328
工作電壓 5V
輸入電壓(推薦) 7-12V
輸入電壓(限制) 6-20V
數字I / O接腳 14(6個提供PWM輸出)
模擬輸入接腳 6支
EEPROM 1 KB(ATMEGA328)
震盪速度 16 MHz

硬體功能說明:
數位 I/O 接腳:
 14 支數位 I/O 接腳 可以當作 input 使用,也可以當作 output 使用,使用方法是透過 pinMode(), digitalWrite(), anddigitalRead() 這幾個函式。這 14 支數位 I/O 接腳,其中幾支腳有特殊的功能:
Serial 通訊 0(RX) 和 1 (TX) 這兩支腳。用來接收(RX)與傳輸(TX) TTL 訊號的序列資料。這兩支腳也連接到 USB Converter 晶片中。
外部中斷 2 和 3 這兩支腳。這兩支腳可以利用外部事件觸發中斷。詳細內容請參考 attachInterrupt() 函式。
PWM 3, 5, 6, 9, 10 和 11 共六支腳。透過 analogWrite() 函式可以提供 8-bit 的 PWM 輸出。
SPI 10 (SS), 11 (MOSI), 12 (MISO) 和 13 (SCK) 這四支腳。這四支腳搭配 SPI Library 可提供 SPI 序列通訊。
LED 13。內建一顆 LED,當 pin 腳為 HIGH 時,LED 打開,當 pin 腳為 LOW 時,LED 關閉。

類比輸入 接腳:
 Arduino Uno 有 6 支類比輸入腳,標記為 A0 到 A5,每支腳都可提供 10 位元的解析 (即 1024 種不同的數值)。這些腳位所用的參考電壓預設為 0 到 5V,不過參考電壓也是可以更改的,方法是透過 AREF 腳和 analogReference()
I2C 4 (SDA) 和 5 (SCL) 這兩支腳。透過 Wire library 可以提供 I2C 通訊。

 其它:

AREF 類比輸入的參考電壓,搭配 analogReference() 函式一起使用。
Reset 當 Reset 腳為 LOW 時,微控制器會重置。


Arduino軟體介紹:
 軟體取得:
 需要開發環境、編譯器、連結器、開發工具鏈、燒錄程式、板子與電腦連接所需要的驅動程式、等等等等,這些通通都已經準備好、打包好了,到Arduino官方網站的下載頁面http://arduino.cc/en/Main/Software即可下載,可在Windows、Mac OS X、Linux上運行。
 
開發環境
 Arduino 的軟體開發環境是開放源碼,可以在Arduino官網免費下載,它所用的程式語言語法類似於 C/C++,具備文字編輯介面、常用工具欄、圖形化控制介面及錯誤編輯器,運用這個工具進行城市的上傳,及各項感應器的溝通。

編譯環境:
 使用的Arduino編寫的軟件被稱為Sketch(腳本) 。 這些的腳本都寫在文本編輯器。 腳本名稱就是檔案名稱。上排圖形提供了新增、上傳、除錯及腳板切換介面。而console介面紀錄了完整的執行訊息,更可藉由此介面監視Arduino I/O數值。

Arduino開發環境的介面:

Verity
  檢查參數設定或引入程式是否產生錯誤。
Upload
  程式進行編譯,將程式碼透過USB介面燒錄至Arduino控制板。
New
  產生新的腳本
Open
  開啟腳本,顯示在同一頁面上。點擊不同腳本便顯示不同腳本。
Save
  腳本儲存。
Serial Monitor
  開啟監視器頁面,監視Arduino I/O介面。

 Arduino 程式主要由 setup() 和 loop() 這兩個函式組成:

 因為setup()和 loop()是每支 Arduino 程式都會用到的兩個函式,為了方便,Arduino已經幫大家準備好程式基本架構了,編寫 Arduino程式時,可直接點選 File > Examples > 1.Basics > Digital ReadSerial 這個範本檔,另存新檔後,然後再修改setup()和 loop()兩個函式的內容即可。

範例:
讀取光敏電阻
所需準備的材料:

  1. 光敏電阻 *1
  2. 電阻:1K歐姆 棕黑紅 *1
  3. 麵包板 *1
  4. 單心線 *N
  5. Arduino Borad *1

程式碼:
int potPin = 3;
int val = 0;
void setup(){
  //setup 初始環境設定
  Serial.begin(9600);
}
void loop(){
  //loop
  val = analogRead(potPin);
  Serial.print(val);
}

編譯結果:
 

參考文獻

  1. Arduino  http://www.arduino.cc/
  2. Arduino.TW台灣使用者社http://arduino.tw/index.php
  3. 維基百科 Arduino http://zh.wikipedia.org/wiki/Arduino
  4. Cooper Maa 的 Arduino 筆記http://coopermaa2nd.blogspot.tw/search/label/Arduino
最近異動時間2013-03-28 18:05:07

上一頁


 

台北市南港區115研究院路二段128號 Email:ascc@gate.sinica.edu.tw
上班時間電話:2789-8855 假日/夜間緊急聯絡電話:2788-6333
Copyright © 2009 中央研究院計算中心