孫宏偉 肖正洪
摘 要:Arduino是源于意大利的一個開放源代碼的硬件平臺,基于單片機系統(tǒng)開發(fā),具有使用簡單、功能多樣等優(yōu)點,廣泛應(yīng)用于互動產(chǎn)品創(chuàng)新設(shè)計。文中介紹了Arduino UNO的資源、開發(fā)環(huán)境、程序語法的主要結(jié)構(gòu),并通過具體實例說明其使用方法。
關(guān)鍵詞:開源硬件;Arduino UNO;創(chuàng)新設(shè)計
Arduino是源于意大利的一個開放源代碼的硬件平臺,該平臺包括一塊具備簡單I/O功能的電路板以及一套程序開發(fā)環(huán)境軟件。Arduino可以用來開發(fā)交互產(chǎn)品,比如它可以讀取大量的開關(guān)和傳感器信號,并且可以控制電燈、電機和其他各式各樣的物理設(shè)備;Arduino也可以開發(fā)出與PC相連的周邊裝置,能在運行時與PC上的軟件進行通信。Arduino的硬件電路板可以自行焊接組裝,而程序開發(fā)環(huán)境的軟件則可以從網(wǎng)上下載。由于Arduino具有高度的模塊化特點,因此有時叫它“電子積木”。UNO在意大利文中的意思為“1”。Arduino UNO硬件尺寸皆同于舊版,主要核心還是ATMEGA328,與之前版本的最大差異在于USB to Serial芯片的使用,這帶來的好處是價格降低了,更主要的是使得Arduino UNO在PC端可以顯示為一個USB設(shè)備。Arduino UNO的實物圖,如圖1-1所示。
一、Arduino UNO的資源
Arduino UNO 具有14個數(shù)字I/O口(其中6個可提供PWM輸出),6個模擬I/O口,一個復(fù)位開關(guān),一個ICSP下載口,支持USB接口,可通過USB接口供電,也可以使用單獨的電源供電。Arduino UNO的資源如圖1-2所示。
二、Arduino UNO的開發(fā)環(huán)境
Arduino UNO的開發(fā)環(huán)境是以AVR-GCC和其他一些開源軟件為基礎(chǔ),采用JAVA編寫的,軟件無需安裝,下載完成解壓縮后就可以直接打開使用了。當把程序上傳到Arduino UNO時,它會自動把代碼轉(zhuǎn)換成C語言,再傳給AVR-GCC編譯器,然后把代碼最終編譯成微處理器能明白的指令。這些都是Arduino UNO很重要的一部分,因為它隱藏了復(fù)雜的編譯過程,讓使用者以盡可能簡單的方式去控制微處理器。圖1-3所示的就是Arduino UNO開發(fā)環(huán)境的主界面,中間的白色區(qū)域就是程序編輯區(qū),下方的黑色區(qū)域為信息提示區(qū)。
除了一般熟悉的下拉式菜單外,Arduino UNO也提供了幾個快捷鍵,具體功能如下:
■
三、Arduino UNO程序語法的主要結(jié)構(gòu)
Arduino UNO的程序語法結(jié)構(gòu)必須包含以下兩個函數(shù):setup( )與loop( )。setup( )在程序流程中只會執(zhí)行一次,所以用于定義所有需要設(shè)定、初始化的參數(shù)和函數(shù),或是引腳功能的指定,都會在這部分先定義完成。loop( )是主程序的執(zhí)行內(nèi)容,只要電源不中斷,函數(shù)內(nèi)的程序就會一直執(zhí)行。
四、應(yīng)用
Arduino UNO的開發(fā)環(huán)境方便且簡單易懂,所以在互動產(chǎn)品創(chuàng)新設(shè)計等方面應(yīng)用較多,本文通過控制LED閃爍的例子來說Arduino UNO的使用,由于在 Arduino UNO板的13號引腳上已經(jīng)待了一個LED燈,我們就可以不用進行外接元件及連線。直接編寫程序,如下所示。
■
程序編寫完成后,點按鈕■實現(xiàn)程序的編譯,在狀態(tài)欄會提示程序編譯完成,信息提示區(qū)會顯示程序編譯完成后的大小。編譯完成后點擊上傳按鈕■,上傳完成后狀態(tài)欄會有上傳成功的提示??梢杂^察到Arduino UNO控制板上LED燈亮一秒,滅一秒,如此往復(fù)。
參考文獻:
[1]孫駿榮.Arduino一試就上手[M].北京:科學出版社,2012.
[2]Massimo Banzi.愛上Arduino[M].北京:人民郵電出版社,2011.
[3]楊繼志.基于Arduino的網(wǎng)絡(luò)互動產(chǎn)品創(chuàng)新設(shè)計[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2012,(01).