當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]Arduino的原理及應用

摘要:Arduino是目前較為流行的電子互動平臺,基于單片機系統(tǒng)開發(fā),具有使用簡單、功能多樣、價格低廉等優(yōu)點,廣泛應用于電子系統(tǒng)設計和互動產(chǎn)品開發(fā)方面。文中詳細介紹了Arduino的功能特點、基本結構,并通過LEO控制電路的應用給出了具體的使用方法。
關鍵詞:電子設計;控制電路;Arduino;LED

    Arduino是2005年1月由米蘭交互設計學院的兩位教師David Cuartielles和Massimo Banzi聯(lián)合創(chuàng)建,是一塊基于開放原始代碼的Simple I/O平臺,該平臺由兩部分組成:硬件(包括微處理器、電路板等)和軟件(編程接口和語言)。平臺的兩部分都是開源的,如果需要,可以下載Arduino的圖表、購買需要的所有獨立部件、切割電路板并制作一個電路板。Arduino具有類似java、C語言的開發(fā)環(huán)境。可以快速使用Ardu ino語言與Flash或Processing等軟件完成互動作品。Arduino能夠使用開發(fā)完成的電子元件,如Switch、Sensors或其它控制器、LED、步進電機或其它輸入/輸出裝置,同時,Arduino也可以成為獨立與軟件溝通的平臺,如flash、Processing、Max/MSP或其它互動軟件。

1 功能特點
    Arduino在開發(fā)之初,就明確了其應用環(huán)境,設計了開源開放的平臺,便于對其進行二次開發(fā)。Arduino的主要功能特點如下:
    1)開放源代碼的電路圖設計。程序開發(fā)接口免費下載,也可依需求自己修改。
    2)使用低價格的微處理控制器(ATmega8或ATmega128)。可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。
    3)支持ISP線上燒入器,將Bootloader固件燒入芯片。Arduino控制器內(nèi)帶Bootloader程序,是系統(tǒng)上電后運行的第一段代碼,就好比PC機BIOS中的程序,啟動就進行自檢,配置端口等等,當然,單片機是靠燒寫熔絲位來設定上電從boot區(qū)啟動的,使用這個程序就可以直接把從串口發(fā)來的程序存放到flash區(qū)中。所以,使用Arduino編譯環(huán)境下載程序時,就先讓單片機復位,啟動Boodoader程序引導串口發(fā)過來的程序順利寫入flash區(qū)中,flash可以重復燒寫,因此想更新軟件非常方便。有了Bootloader之后,可以通過串口或者USB to RS232線更新固件。
    4)可依據(jù)官方提供的PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制。
    5)可簡單地與傳感器,各式各樣的電子元件連接,如紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達等。
    6)支持多樣的互動程序,如Flash,Max/MSP,VVVV,PureData,C,Processin等。使用低價格的微處理控制器。
    7)應用方面,利用hrduino,突破以往只能使用鼠標、鍵盤、CCD等輸入的裝置的互動內(nèi)容,可以更簡單地達成單人或多人游戲互動。Ard uino的功能特點,使其得到了越來越廣泛的應用。

2 基本結構
    Arduino系統(tǒng)針對不同的應用環(huán)境還開發(fā)了不同的版本,文中以“Arduino Duemilanove”版本為例介紹,該版本于2009年開發(fā),基于ATm ega328微控制器板,能自動選擇何種供電,直接將它用USB線連上計算機或者用一個電源適配器給它供電,就可以開始使用。Arduino Duemilanove的外部結構如圖1所示。


    1)1個9V DC輸入,為Arduino板提供外部電源輸出,使Arduino控制板具有能夠驅(qū)動舵機等大功率外部設備的能力;
    2)1個USB口,通過該口連接到計算機,由Arduino的IDE將用戶編寫好的控制程序上傳到控制板中,同時還可以通過該口為電路板供電,驅(qū)動小功率的外部設備;
    3)14個數(shù)字輸入/輸出端,其中端口0(RX)和1(TX)分別連接主控芯片的串行引腳,用來接收和發(fā)送TTL串行數(shù)據(jù)。其中端口2、3可以接收外部信號,實現(xiàn)外部中斷功能;端口3、5、6、9、10、11作為PWM端口,可用于電機PWM調(diào)速[5]或音樂播放;端口10(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模塊庫的支持下,可以提供SPI通信模式;端口13內(nèi)部連接了一個LED指示燈,隨著13腳上電平的高低變化,實現(xiàn)開啟和關閉;
    4)6個模擬輸入/輸出端,其中端口4(SDA)和端口5(SCL)端口可以實現(xiàn)I2C通信;
    5)1個5 V DC輸出和1個3.3 V DC輸出,可為其它電路提高3.3 V和5 V直流電源;
    6)1個復位接口。
    Arduino系統(tǒng)是基于單片機開發(fā)的,并且大量應用通用和標準的電子元器件,包括硬件和軟件在內(nèi)的整個設計,代碼均采用開源方式發(fā)布,因此采購的成本較低,在各種電子制作競賽、電子藝術品創(chuàng)意設計等越來越多地使用Arduino作為開發(fā)平臺。

3 應用
    Arduino系統(tǒng)在電子設計等方面應用較多,本文以簡單的LEO控制為例,說明Arduino系統(tǒng)的使用。
    LEO控制系統(tǒng)中,采用開關S控制LED的亮滅,設開關S閉合時,LED發(fā)光,S斷開時,LED熄滅。因此,系統(tǒng)設計時采用數(shù)字輸入/輸出口的兩個引腳分別進行LED和S開關的連接,電路如圖2所示。

[!--empirenews.page--]
    Arduino語言是建立在C/C++基礎上的,其實也就是基礎的C語言,Arduno語言將AVR單片機(微控制器)相關的一些參數(shù)設置模塊化,包括EEPROM、以太網(wǎng)、LED矩陣、舵機、步進和TWI/I2C控制程序庫,不需要用戶直接處理底層系統(tǒng),可以提高應用程序的開發(fā)效率。流程如圖3所示。


    Arduino語言是以setup()開頭,loop()作為主體的一個程序構架。setup()用來初始化變量、管腳模式、調(diào)用庫函數(shù)等等,該函數(shù)只運行一次,功能類似C語言中的“main()”。loop()函數(shù)是一個循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復始的循環(huán)執(zhí)行。設通過D10引腳控制LED,D2引腳連接控制開關S,主要代碼如下:
   
   
    Setup函數(shù)中,pinMode函數(shù)是數(shù)字I/O口輸入輸出定義函數(shù),可以定Arduino上0~13口的輸入輸出狀態(tài),INPUT和OUTPUT分別表示輸出和輸出模式。loop函數(shù)中,digitalRead為數(shù)字I/O口讀取電平值函數(shù),digitalWrite為數(shù)字I/O口輸出電平定義函數(shù)。本例中在setup函數(shù)中,將端口2定義為數(shù)字信號輸入端口,將端口10定義為數(shù)字信號輸出端口;在函數(shù)loop中,首先讀入端口2的電平信號,然后依據(jù)該端口電平值的高低,設置輸出端口10的電平值。
    將編寫好的控制代碼通過Arduino的IDE上傳到控制板之后,關閉或者打開開關S,便會觀察到LED的亮滅情況。

4 結論
    Arduino系統(tǒng)是建立在C/C++基礎上的,也就是基礎的C語言,Arduino系統(tǒng)只是將AVR單片機(微控制器)相關的一些寄存器參數(shù)設置等都函數(shù)化了,即使不太了解AVR單片機的朋友也能輕松上手,設計出各種實用的電路開發(fā)系統(tǒng)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉