999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Arduino的原理及應(yīng)用

2012-01-15 06:03:16蔡睿妍
電子設(shè)計工程 2012年16期
關(guān)鍵詞:單片機程序系統(tǒng)

蔡睿妍

(大連大學(xué) 信息工程學(xué)院,遼寧 大連 116622)

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

1 功能特點

Arduino在開發(fā)之初,就明確了其應(yīng)用環(huán)境,設(shè)計了開源開放的平臺,便于對其進行二次開發(fā)。Arduino的主要功能特點如下:

1)開放源代碼的電路圖設(shè)計[3]。程序開發(fā)接口免費下載,也可依需求自己修改。

2)使用低價格的微處理控制器(ATmega8或 ATmega 128)。可以采用USB接口供電,不需外接電源,也可以使用外部9VDC輸入。

3)支持ISP線上燒入器,將Bootloader固件燒入芯片。Arduino控制器內(nèi)帶Bootloader程序,是系統(tǒng)上電后運行的第一段代碼,就好比PC機BIOS中的程序,啟動就進行自檢,配置端口等等,當然,單片機是靠燒寫熔絲位來設(shè)定上電從boot區(qū)啟動的,使用這個程序就可以直接把從串口發(fā)來的程序存放到flash區(qū)中。所以,使用Arduino編譯環(huán)境下載程序時,就先讓單片機復(fù)位,啟動Bootloader程序引導(dǎo)串口發(fā)過來的程序順利寫入flash區(qū)中,flash可以重復(fù)燒寫,因此想更新軟件非常方便。有了Bootloader之后,可以通過串口或者USB to RS232線更新固件。

4)可依據(jù)官方提供的PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制。

5)可簡單地與傳感器[4],各式各樣的電子元件連接,如紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達等。

6)支持多樣的互動程序,如 Flash,Max/MSP,VVVV,Pure Data,C,Processin等。使用低價格的微處理控制器。

7)應(yīng)用方面,利用 Arduino,突破以往只能使用鼠標、鍵盤、CCD等輸入的裝置的互動內(nèi)容,可以更簡單地達成單人或多人游戲互動。

Arduino的功能特點,使其得到了越來越廣泛的應(yīng)用。

2 基本結(jié)構(gòu)

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

圖1 Arduino外部結(jié)構(gòu)圖Fig.1 External structure of Arduino

Arduino Duemilanove的結(jié)構(gòu)包括以下幾個部分:

1)1個9V DC輸入,為Arduino板提供外部電源輸出,使Arduino控制板具有能夠驅(qū)動舵機等大功率外部設(shè)備的能力;

2)1個USB口,通過該口連接到計算機,由Arduino的IDE將用戶編寫好的控制程序上傳到控制板中,同時還可以通過該口為電路板供電,驅(qū)動小功率的外部設(shè)備;

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)開啟和關(guān)閉;

4)6 個模擬輸入/輸出端[6],其中端口 4(SDA)和端口 5(SCL)端口可以實現(xiàn)I2C通信;

5)1個5 V DC輸出和1個3.3 V DC輸出[7-8],可為其它電路提高3.3 V和5 V直流電源;

6)1個復(fù)位接口。

Arduino系統(tǒng)是基于單片機開發(fā)的[9-10],并且大量應(yīng)用通用和標準的電子元器件,包括硬件和軟件在內(nèi)的整個設(shè)計,代碼均采用開源方式發(fā)布,因此采購的成本較低,在各種電子制作競賽、電子藝術(shù)品創(chuàng)意設(shè)計等越來越多地使用Arduino作為開發(fā)平臺。

3 應(yīng) 用

Arduino系統(tǒng)在電子設(shè)計等方面應(yīng)用較多,本文以簡單的LEO控制為例,說明Arduino系統(tǒng)的使用。

LEO控制系統(tǒng)中,采用開關(guān)S控制LED的亮滅,設(shè)開關(guān)S閉合時,LED發(fā)光,S斷開時,LED熄滅。因此,系統(tǒng)設(shè)計時采用數(shù)字輸入/輸出口的兩個引腳分別進行LED和S開關(guān)的連接,電路如圖2所示。

圖2 LED控制電路原理圖Fig.2 Diagram of LED control circuit

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

圖3 LED控制流程圖Fig.3 Flow diagram of LED control

Arduino語言是以 setup()開頭,loop()作為主體的一個程序構(gòu)架。setup()用來初始化變量、管腳模式、調(diào)用庫函數(shù)等等,該函數(shù)只運行一次,功能類似C語言中的“main()”。loop()函數(shù)是一個循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復(fù)始的循環(huán)執(zhí)行。設(shè)通過D10引腳控制LED,D2引腳連接控制開關(guān)S,主要代碼如下:

void setup()

{

pinMode(2,INPUT):

pinMode(10,OUTPUT):

}

void loop()

{

val=digitalRead(2):

if(val==HIGH)

digitalWrite(10, LOW):

else

digitalWrite(10, HIGH):

}

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ù)該端口電平值的高低,設(shè)置輸出端口10的電平值。

將編寫好的控制代碼通過Arduino的IDE上傳到控制板之后,關(guān)閉或者打開開關(guān)S,便會觀察到LED的亮滅情況。

4 結(jié) 論

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

[1]翁浩峰.在Flash課件中使用傳感器[J].物理通報,2010(6):35-37.WENG Hao-feng.The use of sensors in Flash courseware[J].Physics Bulletin,2010(6):35-37.

[2]袁本華,董錚.基于Arduino控制板的溫室大棚測溫系統(tǒng)設(shè)計[J].安徽農(nóng)業(yè)科學(xué),2012,40(8):5049-5050.YUAN Ben-hua,DONG Zheng.Design of the temperature measurement system based on arduino board[J].Journal of Anhui Agri,2012,40(8):5049-5050.

[3]李德駿,馬孝輝.基于Arduino平臺的家用安防監(jiān)控系統(tǒng)設(shè)計[J].科技與生活,2011(1):114.LI De-jun,MA Xiao-hui.The design of home security monitoring system based on Arduino platform[J].Technology and Life,2011(1):114.

[4]鄒建梅,王亞格.利用Arduino增強Flash互動性的研究[J].中國教育技術(shù)裝備,2010(36):107-109.ZOU Jian-mei,WANG Ya-ge.Using Ardunio with adobe Flash for interactive media[J].China Educational Technology&Equipment,2010(36):107-109.

[5]崔才豪,張玉華,楊樹財.利用Arduino控制板的光引導(dǎo)運動小車設(shè)計[J].自動化儀表,2011,32(9):5-7.CUI Cai-hao,ZHANG Yu-hua,YANG Shu-cai.Design of the light-guided car by using Arduino control board[J].Process Automation Instrumentation,2011,32(9):5-7.

[6]Buechley,Leah Eisenberg,Michael.The LilyPad Arduino:toward wearable engineering for everyone[J].IEEE pervasive computing,2008,7(2):12-15.

[7]Oxer J,Blemings H.Practical Arduino:Cool Projects for Open Source Hardware[M].New York:Springer-Verlag,2009.

[8]Banzi M.Getting Started with Arduino[M].USA:O'Reilly Media,2008.

[9]楊繼志,楊宇環(huán).基于Arduino的網(wǎng)絡(luò)互動產(chǎn)品創(chuàng)新設(shè)計[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2012,25(1):99-100.YANG Ji-zhi,YANG Yu-huan.Arduino-based interactive product innovation[J].Development&Innovation of Machinery& Electrical Products,2012,25(1):99-100.

[10]LORSCHEITER,Aguirre T,PAIM,et al.Using Ms-Visual studio and Arduino to do temperature measurements[J].Periódico Tchê Química,2011,8(16):60-66.

[11]Bender P,Kussmann K.Arduino based projects in the computer science capstone course[J].Journal of Computing Sciences in Colleges,2012,27(5):152-157.

猜你喜歡
單片機程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 亚洲综合18p| 日韩激情成人| 国产小视频a在线观看| 国产精品九九视频| 蜜臀AV在线播放| 日本精品影院| 免费国产黄线在线观看| 日韩在线成年视频人网站观看| 久久99精品久久久大学生| 国产一级裸网站| 日韩精品一区二区三区视频免费看| 伊人成人在线视频| 粉嫩国产白浆在线观看| 精品国产免费观看一区| 九九热免费在线视频| 亚洲精品视频免费观看| 一本一本大道香蕉久在线播放| 秘书高跟黑色丝袜国产91在线| 午夜一区二区三区| 一区二区三区四区日韩| 亚洲国产成熟视频在线多多| 老色鬼欧美精品| 国产91小视频| 国产成人久视频免费| 中文字幕永久视频| 少妇极品熟妇人妻专区视频| 在线免费a视频| 青青青国产视频| 日韩A级毛片一区二区三区| 亚洲国产天堂在线观看| 久久综合婷婷| 免费可以看的无遮挡av无码| 欧美日韩一区二区三区四区在线观看| 最新国产在线| 国产欧美视频综合二区| 又爽又大又黄a级毛片在线视频| 国产精品手机在线观看你懂的| 国产真实乱了在线播放| 国产麻豆福利av在线播放| 国产在线八区| 精品人妻一区二区三区蜜桃AⅤ| 国产精品妖精视频| 欧美日韩国产精品va| 天堂av综合网| 欧美国产视频| 欧美人与牲动交a欧美精品| 亚洲精品福利视频| 真实国产乱子伦视频| 激情视频综合网| 91小视频在线观看免费版高清| 强奷白丝美女在线观看| 999国产精品| 精品一区二区三区波多野结衣| 中文字幕丝袜一区二区| 91视频日本| 福利国产微拍广场一区视频在线| 自慰高潮喷白浆在线观看| 国产精品网拍在线| 亚洲精品国产精品乱码不卞| 久久人体视频| 免费欧美一级| 一级片免费网站| 国产成人永久免费视频| 国产乱子伦视频三区| 性网站在线观看| 免费人欧美成又黄又爽的视频| www.狠狠| 97se亚洲综合| jizz亚洲高清在线观看| 一本大道视频精品人妻| 中文毛片无遮挡播放免费| 国产中文在线亚洲精品官网| 欧美激情第一欧美在线| 久久精品嫩草研究院| 成人欧美在线观看| 四虎国产永久在线观看| 99re在线视频观看| 特级aaaaaaaaa毛片免费视频| 久久久久亚洲AV成人网站软件| 刘亦菲一区二区在线观看| 999国内精品视频免费| 超碰免费91|