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

Arduino的互動產(chǎn)品平臺創(chuàng)新設(shè)計

2012-09-25 03:00:02楊繼志郭敬
關(guān)鍵詞:單片機程序

楊繼志,郭敬

(北京航天試驗技術(shù)研究所 機電技術(shù)事業(yè)部,北京 100074)

引 言

Arduino是一系列基于單片機的人機互動產(chǎn)品開發(fā)平臺,由于其具有高度的模塊化特點,有時也叫它“電子積木”。它的硬件平臺是開放的,任何人都可以在Arduino官方網(wǎng)站上下載最新的PCB設(shè)計進行復制。Arduino的硬件平臺包括基于AVR單片機的主控制電路板,以及大量的各式輸入/輸出電子模塊。輸入/輸出模塊包括開關(guān)輸入模塊、溫度壓力傳感器輸入模塊、超聲測距傳感器輸入模塊、各類顯示輸出模塊、電機控制模塊等,甚至還有以太網(wǎng)接入模塊。由于Arduino具有豐富易用的模塊,已經(jīng)在各類機電創(chuàng)新設(shè)計比賽中得到廣泛應(yīng)用。在軟件方面,Arduino有一個屬于自己的基于Eclipse的IDE軟件開發(fā)環(huán)境,開發(fā)語言采用類C++語言的高級語言,容易被使用者掌握。有大量的庫文件可以通過互聯(lián)網(wǎng)下載免費獲得,大大簡化了程序開發(fā)工作。由于Arduino豐富的外圍模塊、容易掌握的開發(fā)語言和環(huán)境,大量的庫支持,使得基于Arduino的電子互動產(chǎn)品設(shè)計越來越多。從Arduino誕生的2005年到2011年,已有超過15萬塊的Arduino模板售出[1]。本文介紹了Arduino的硬件、軟件,并給出了采用Arduino開發(fā)互動產(chǎn)品的實例,使初學者對它有一個基本的認識。

1 Arduino硬件

1.1 Arduino主控板

Arduino的主控板采用AVR單片機,最新的版本是UNO,與之前的版本不同,它不再使用FTDI USB串行驅(qū)動芯片,而是把Atmega8U2編程為一個USB設(shè)備。相對于它的前幾代,這帶來了許多好處。首先是價格降低了,更重要的是這使得Arduino在PC端可以顯示為一個USB設(shè)備,就像是一個鼠標或游戲操作手柄,這開辟了Arduino的新用途[1]。總之,Arduino的主控板就是一個單片機控制板,在這一點上與其他單片機控制板并無本質(zhì)的區(qū)別,但是由于其擁有豐富的系列產(chǎn)品、大量的開源軟件,讓Arduino得到了更為廣泛的應(yīng)用和支持。

1.2 Arduino輸出模塊

市場上已經(jīng)出現(xiàn)了圍繞Arduino Duemilanove開發(fā)的很多輸出模塊:有視覺輸出的,如LED燈控制、LCD控制、觸摸屏控制等;有聲音輸出的,如蜂鳴器和揚聲器模塊;還有物理系統(tǒng)的控制模塊,如各類直流小馬達、步進電機、機器人舵機等。另外,還可以利用AVR單片機的PWM輸出口進行D/A轉(zhuǎn)換。這些模塊大大拓展了Arduino作為一個單片機平臺的用途。其中基于LN298設(shè)計的直流馬達控制模塊在各類機器人項目中采用得很多,這種模塊能夠同時控制兩路直流馬達,與Arduino-Duemilanove之間的連接也十分簡便。輸出單元的模塊化使搭建基于Arduino系統(tǒng)的應(yīng)用項目很方便。

1.3 Arduino輸入模塊

最一般的輸入如各類按鈕、位置行程開關(guān)等都有相應(yīng)的模塊可以購買。其他諸如超聲測距、壓力傳感器、溫度傳感器、傾角傳感器等也有相應(yīng)的模塊可以直接應(yīng)用。還有記錄數(shù)據(jù)和通信用的模塊、如SD卡模塊,以太網(wǎng)接入模塊等,這讓Arduino不僅僅作為一個控制終端使用,還可以進行數(shù)據(jù)的存儲和簡單處理,以及與外界系統(tǒng)通信等,可見其輸入模塊資源豐富。從輸入的信號來看,可以分為數(shù)字量的信號輸入(如以上的開關(guān)模塊等),模擬量的信號輸入(如溫度、壓力傳感器模塊),通過總線網(wǎng)絡(luò)方式的數(shù)據(jù)輸入(如采用各類通信協(xié)議的傳感器模塊等)。

2 Arduino軟件

2.1 Arduino編程語言

Arduino編程語言是建立在C/C++語言基礎(chǔ)上的。Arduino語言把AVR單片機(微控制器)相關(guān)的一些參數(shù)設(shè)置都參數(shù)化了,不用開發(fā)者去了解其底層,對AVR單片機了解不多的用戶也可以容易地開發(fā)基于AVR的項目。需要注意的是,Arduino的語言與C語言運行機制還是有一些區(qū)別的,特別是在項目程序中必須包括setup和loop兩個函數(shù)。setup函數(shù)在系統(tǒng)上電或復位后運行一次,因此一般用戶在其中做一些初始化工作,如設(shè)定串口通信的波特率等,一些一次性的工作也可以放在這個函數(shù)中運行,如下文中的寫SD卡文件的例子程序。Loop函數(shù)是Arduino軟件項目的主體,系統(tǒng)上電并且運行完成setup函數(shù)后,就進入loop函數(shù),并且該函數(shù)是一個無限循環(huán)的過程,這一點需要開發(fā)者特別注意,這與C語言的void main(){}是有很大區(qū)別的。loop函數(shù)相當于下面這樣一個無限循環(huán)過程:

在系統(tǒng)setup執(zhí)行之后,總是進入這個函數(shù),開發(fā)者需要把自己的程序放在這個函數(shù)內(nèi)運行。

2.2 Arduino開發(fā)環(huán)境

Arduino的開發(fā)環(huán)境很簡潔,用戶可以在其官方網(wǎng)站上免費下載使用,IDE如圖1所示。可以看到,在一個簡單的菜單和工具條下,就是IDE的編程窗口和一個串行通信監(jiān)視窗口。其中工具條包含了保存打開文件、向Arduino板下載程序等主要功能,與一般的Windows軟件并無不同。在編程窗口下是一個串口監(jiān)視器窗口。因為Arduino開發(fā)板沒有專門的顯示平臺,在許多程序的調(diào)試過程中需要Arduino傳輸給上位機一些信息以便于開發(fā)者判斷程序的運行狀況,或者得到程序的運行結(jié)果。這些結(jié)果可以通過串口監(jiān)視器顯示,開發(fā)者也可以通過該窗口向Arduino板發(fā)送一些信息,極大地方便了項目的開發(fā)。

圖1 Arduino的IDE

3 Arduino平臺開發(fā)實例

3.1 用Arduino讀寫SD卡

SD卡體積小,價格便宜,因此在許多工業(yè)數(shù)據(jù)記錄和家用電子產(chǎn)品中有越來越多的應(yīng)用。Arduino可以通過SPI接口與之通信,進行諸如建立文件、刪除文件、向文件中添加內(nèi)容、修改文件等操作,這樣采用Arduino配合SD卡可以開發(fā)數(shù)據(jù)記錄設(shè)備。

Arduino與SD卡的簡單連接,只需要6只電阻和1張SD卡,通過軟件模擬的方式實現(xiàn)SPI接口,Arduino與SD卡連接電路如圖2所示。

圖2 Arduino與SD卡連接電路

由于SD卡的操作電壓為3.3V,而Arduino的邏輯電壓為5V,因此需要用起分壓作用的電阻(本文采用了Josh Adams書中的驗證性電路),在實際的應(yīng)用中最好采用分壓模塊以保證卡和Arduino板的安全。之后在網(wǎng)址http://code.google.com/p/sdfatlib/下載 Bill Greiman開發(fā)的SdFat.h和SdFatUtil.h頭文件和庫文件,并安裝到Arduino安裝目錄中的庫文件夾中就可以使用了。簡化程序如下:

將該程序下載到Arduino主控板內(nèi)即可向SD卡內(nèi)建立一個新的文件,并寫入"something you want"字符,當然也可以根據(jù)需要寫入想要記錄的信息。

程序的開頭包含了兩個頭文件:SdFat.h和SdFatU-til.h。這兩個頭文件定義了一些操作SD卡必需的類。之后建立4個有關(guān)操作SD卡的對象。然后自定義了一個向SD卡內(nèi)寫一個字符串的函數(shù),這個函數(shù)需要一個文件的引用和一個字符串作為參數(shù)。setup函數(shù)是Arduino軟件項目中必須有的,做一些運行的初始化工作。這個實例程序由于只是完成簡單的寫文件操作,因此對文件的寫操作在這個函數(shù)中完成。函數(shù)依次完成了設(shè)定SD卡的通信模式為SPI模式、打開卡的根目錄、建立文件名為testfile.txt的文本文件、給文件添加時間信息、向文件內(nèi)寫入文件內(nèi)容、關(guān)閉文件。從以上的過程中看,采用Arduino操作SD卡上的文件與采用C語言操作PC上的文件十分相似,這也是Arduino易用性的體現(xiàn),再一次驗證了采用Arduino開發(fā)電子互動產(chǎn)品的方便性。

結(jié) 語

Arduino是一個開放的單片機開發(fā)人機互動產(chǎn)品的軟硬件平臺,由于它有豐富的軟硬件資源而且易于使用,得到了廣泛的應(yīng)用,特別是在電子競賽、電子藝術(shù)品開發(fā)等方面。因此,有必要研究它的應(yīng)用,拓展其應(yīng)用范圍。

[1]Josh Adams.Beginning Arduino[M].[S.l.]:Apress,2010.

[2]Massimo Banzi.Getting Started with Arduino[M].[S.l.]:Make,2008.

猜你喜歡
單片機程序
基于單片機的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
試論我國未決羈押程序的立法完善
小議PLC與單片機之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 国产精品视频免费网站| 亚洲中文字幕久久精品无码一区 | 99久久精品美女高潮喷水| 国内嫩模私拍精品视频| 国产美女主播一级成人毛片| 999精品免费视频| 精品福利网| 日韩欧美国产另类| 一本大道香蕉久中文在线播放| 国产成人AV综合久久| 露脸国产精品自产在线播| 久久动漫精品| 久久成人国产精品免费软件 | 久久婷婷综合色一区二区| 极品国产在线| 欧美a在线看| 中文字幕人妻av一区二区| 亚洲欧洲免费视频| 激情亚洲天堂| 美女无遮挡被啪啪到高潮免费| 免费无码网站| 国产亚洲欧美日韩在线一区二区三区| 欧美精品成人| 久久亚洲黄色视频| 国产尹人香蕉综合在线电影 | 亚洲精品成人片在线观看| 国产91视频免费观看| 日本欧美成人免费| 国产亚洲精品无码专| 久久99国产综合精品1| 国产综合在线观看视频| 日韩欧美国产成人| 真实国产乱子伦高清| 国产丰满成熟女性性满足视频| 成人福利在线视频| 最新无码专区超级碰碰碰| 不卡无码网| 国产免费久久精品44| 久久国产精品电影| 欧美国产日韩在线| 国产福利在线观看精品| 99视频在线精品免费观看6| 亚洲欧美日韩高清综合678| 精品国产电影久久九九| 国产精品一区二区久久精品无码| 99热这里只有精品国产99| 亚州AV秘 一区二区三区| 日韩中文字幕亚洲无线码| 国产剧情国内精品原创| AV不卡在线永久免费观看| 自拍偷拍欧美日韩| 18禁黄无遮挡网站| 妇女自拍偷自拍亚洲精品| 亚洲精品免费网站| 啪啪啪亚洲无码| 国产日本一线在线观看免费| 国产一区二区精品高清在线观看 | 视频二区中文无码| 亚洲一区二区精品无码久久久| 国产精品hd在线播放| 无码网站免费观看| 免费a级毛片18以上观看精品| 久久精品只有这里有| 国产一区二区三区夜色| 欧洲日本亚洲中文字幕| AV色爱天堂网| 黄色国产在线| 伊人大杳蕉中文无码| 国产精品美女在线| 精品1区2区3区| 伦精品一区二区三区视频| 欧美伦理一区| 青青操国产| 性视频久久| 日本精品视频| 欧美人与动牲交a欧美精品| 992Tv视频国产精品| 国产亚洲欧美在线人成aaaa| 免费精品一区二区h| 日本AⅤ精品一区二区三区日| 免费一级毛片在线观看| a亚洲天堂|