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