李佳鈺
摘要:作品選用普通小車為車體,以Arduino MEGA2560 R3開發(fā)板為控制核心,用L298N驅(qū)動(dòng)雙直流電機(jī)。把物聯(lián)網(wǎng)技術(shù)運(yùn)用到設(shè)計(jì)中,集成了藍(lán)牙和Wifi等無(wú)線協(xié)議,充分利用智能手機(jī)終端進(jìn)行開發(fā),將各種控制功能集成到手機(jī)端,實(shí)現(xiàn)了無(wú)級(jí)平滑調(diào)速,360度全方位運(yùn)動(dòng),使人機(jī)交互更加靈活、方便,體現(xiàn)了基于物聯(lián)網(wǎng)的設(shè)計(jì)創(chuàng)意。
關(guān)鍵詞:智能小車;人機(jī)交互;語(yǔ)音控制;觸屏控制;物聯(lián)網(wǎng)技術(shù)
中圖分類號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)20-0179-02
作為物聯(lián)網(wǎng)重要的發(fā)展方向,智能機(jī)器人也在市場(chǎng)中應(yīng)運(yùn)而生。智能小車是機(jī)器人中的一種,它涉及多個(gè)學(xué)科,機(jī)械、電工、自動(dòng)控制、計(jì)算機(jī)測(cè)量、人工智能、傳感技術(shù)等等,是眾多領(lǐng)域的高科技[1]。全國(guó)電子競(jìng)賽與各省電子競(jìng)賽幾乎每次都有智能小車方面的題目,全國(guó)各大高校也都重視該項(xiàng)目的研究,可見智能小車具有較高的研究意義。
本設(shè)計(jì)為了實(shí)現(xiàn)基于物聯(lián)網(wǎng)的設(shè)計(jì)創(chuàng)意,把物聯(lián)網(wǎng)運(yùn)用到智能小車的研究中,利用物聯(lián)網(wǎng)技術(shù)把信息傳感設(shè)備連接起來(lái),實(shí)現(xiàn)智能化控制。集藍(lán)牙控制,Wifi實(shí)時(shí)監(jiān)控,多傳感器融合的自動(dòng)避障,人體紅外感知,智能語(yǔ)音控制,語(yǔ)音反饋提示等功能模塊于一身,通過(guò)Android平臺(tái)開發(fā)手機(jī)端程序控制小車的運(yùn)動(dòng),實(shí)現(xiàn)了無(wú)級(jí)平滑調(diào)速,360度全方位運(yùn)動(dòng),形成了更為復(fù)雜、精確的操控。充分利用智能手機(jī)終端進(jìn)行開發(fā),將各種控制功能集成到手機(jī)端,使人機(jī)交互更加靈活、方便,并且避免了硬件的復(fù)雜性與局限性[2]。本選題體現(xiàn)出了基于物聯(lián)網(wǎng)的創(chuàng)意特色,實(shí)現(xiàn)了與物聯(lián)網(wǎng)技術(shù)的有機(jī)結(jié)合,形成了綜合的物聯(lián)網(wǎng)體系。
1 設(shè)計(jì)方案
作品選用普通小車為車體,以Arduino MEGA2560 R3開發(fā)板為控制核心,用L298N驅(qū)動(dòng)雙直流電機(jī)。把物聯(lián)網(wǎng)技術(shù)運(yùn)用到設(shè)計(jì)中,集成了藍(lán)牙和Wifi等無(wú)線協(xié)議,充分利用智能手機(jī)終端進(jìn)行開發(fā),將各種控制功能集成到手機(jī)端,實(shí)現(xiàn)了無(wú)級(jí)平滑調(diào)速,360度全方位運(yùn)動(dòng),使人機(jī)交互更加靈活、方便,體現(xiàn)了基于物聯(lián)網(wǎng)的設(shè)計(jì)特點(diǎn)。
1.1 車體結(jié)構(gòu)
整個(gè)小車主要分為三大部分:車體、L298N電機(jī)驅(qū)動(dòng)板、Arduino MEGA2560 R3開發(fā)板,電機(jī),開關(guān),電池盒等。L298N電機(jī)驅(qū)動(dòng)板負(fù)責(zé)將Arduino MEGA2560 R3開發(fā)板的輸出信號(hào)轉(zhuǎn)換成電機(jī)的驅(qū)動(dòng)信號(hào),來(lái)控制電機(jī)的動(dòng)作。此外小車還加入了超聲波測(cè)距模塊,無(wú)線藍(lán)牙傳輸模塊,人體紅外模塊,紅外測(cè)速模塊等。小車使用雙電機(jī)雙輪驅(qū)動(dòng),左側(cè)的輪子由左電機(jī)驅(qū)動(dòng),右側(cè)的輪子由右電機(jī)驅(qū)動(dòng),其中通過(guò)雙輪之間的速度差異和雙輪的轉(zhuǎn)動(dòng)方向來(lái)控制轉(zhuǎn)彎,前進(jìn)和后退[3]。其實(shí)物圖如圖1所示。
1.2 功能簡(jiǎn)介
人機(jī)交互多功能智能小車實(shí)現(xiàn)的主要功能有:
(1)實(shí)現(xiàn)用手機(jī)端控制小車的功能,手機(jī)端采用Android平臺(tái),小車使用C語(yǔ)言來(lái)控制,通過(guò)藍(lán)牙通信協(xié)議來(lái)實(shí)現(xiàn)手機(jī)端與小車的數(shù)據(jù)傳輸與人機(jī)交互;
(2)設(shè)計(jì)語(yǔ)音與觸屏兩種模式控制小車的行為,可以實(shí)現(xiàn)無(wú)級(jí)平滑調(diào)速,360度全方位運(yùn)動(dòng);
(3)具有超聲波測(cè)距和紅外線測(cè)速的功能,能對(duì)前后左右四個(gè)方向障礙物的距離進(jìn)行測(cè)量,以及計(jì)算小車行駛的速度,并在手機(jī)端實(shí)時(shí)顯示;
(4)在手機(jī)端實(shí)時(shí)顯示遙控?cái)?shù)據(jù)、車速和障礙物距離相關(guān)數(shù)據(jù)等;
(5)在小車上安裝有網(wǎng)絡(luò)攝像機(jī),實(shí)現(xiàn)了基于Wifi協(xié)議的無(wú)線視頻傳輸,在手機(jī)端可以進(jìn)行實(shí)時(shí)監(jiān)控;
(6)在遇到障礙物,人等情況下,在手機(jī)端能夠?qū)崿F(xiàn)語(yǔ)音反饋提示;
(7)預(yù)留多路開關(guān)型傳感器接口,可以自行安裝各類傳感器,配合程序?qū)崿F(xiàn)功能擴(kuò)展。
1.3 手機(jī)端控制結(jié)構(gòu)
作品采用Android手機(jī)端程序與多功能智能小車進(jìn)行交互,通過(guò)藍(lán)牙通信實(shí)現(xiàn)了對(duì)小車進(jìn)行語(yǔ)音與觸屏兩種模式的操控,并且對(duì)小車傳送回來(lái)的數(shù)據(jù)進(jìn)行處理,包括障礙物距離、實(shí)時(shí)速度、人體紅外檢測(cè)等信息的實(shí)時(shí)顯示,還能夠?qū)χ車h(huán)境變化進(jìn)行語(yǔ)音反饋提示;加入了視頻監(jiān)控的模塊,能夠在手機(jī)端實(shí)時(shí)查看小車周圍的環(huán)境視頻信息[4]。手機(jī)端的控制界面如圖2所示。
2 實(shí)現(xiàn)方法
2.1 核心板開發(fā)
作品以Arduino MEGA2560 R3開發(fā)板為控制核心,小車上的藍(lán)牙控制,多傳感器融合的自動(dòng)避障,人體紅外感知,智能語(yǔ)音控制,運(yùn)動(dòng)速度和方向的控制都是基于核心板開發(fā)實(shí)現(xiàn)的。Arduino是一塊以ATmega2560為核心的微控制器開發(fā)板,本身具有54組數(shù)字I/O端,16組模擬比輸入端,4組UART,使用16 MHz crystal oscillator。Arduino是一個(gè)基于開放原碼的軟硬件平臺(tái),使用Java概念(跨平臺(tái))的C語(yǔ)言開發(fā)環(huán)境,Arduino功能強(qiáng)大,開發(fā)迅速。
2.2 Android手機(jī)端程序開發(fā)
作品采用Android手機(jī)端程序與多功能智能小車進(jìn)行交互,使用Java語(yǔ)言進(jìn)行Android平臺(tái)的開發(fā)。在實(shí)現(xiàn)原理上,首先利用手機(jī)端藍(lán)牙模塊搜索周圍藍(lán)牙設(shè)備,進(jìn)而匹配小車,并建立與小車的連接,準(zhǔn)備進(jìn)行手機(jī)端與小車的數(shù)據(jù)通信;然后在手機(jī)端實(shí)現(xiàn)了語(yǔ)音與觸屏兩種操控方式,以便對(duì)小車進(jìn)行更加靈活的控制;還能夠?qū)π≤噦魉突貋?lái)的數(shù)據(jù)進(jìn)行處理,包括障礙物距離、實(shí)時(shí)速度、人體紅外檢測(cè)等信息的實(shí)時(shí)顯示,并能夠自動(dòng)躲避障礙物,對(duì)周圍環(huán)境變化進(jìn)行語(yǔ)音反饋提示等;加入了視頻監(jiān)控的模塊,能夠在手機(jī)端實(shí)時(shí)查看小車周圍的環(huán)境視頻信息[5]。手機(jī)端開發(fā)的功能模塊如圖3所示。
2.3 智能語(yǔ)音控制
智能語(yǔ)音控制的具體工作過(guò)程如圖4所示。首先,用戶點(diǎn)擊手機(jī)屏幕上的語(yǔ)音操控按扭,這時(shí)系統(tǒng)會(huì)調(diào)用Google提供的語(yǔ)音搜索服務(wù),并彈出一個(gè)語(yǔ)音搜索的對(duì)話框,提示用戶進(jìn)行語(yǔ)音輸入;然后,用戶只需說(shuō)出相應(yīng)的指令,如“前進(jìn)”“后退”“左轉(zhuǎn)”“右轉(zhuǎn)”“停止”等,系統(tǒng)在獲取到用戶的語(yǔ)音指令后,會(huì)自動(dòng)將語(yǔ)音信息發(fā)送到Google的語(yǔ)音識(shí)別服務(wù)器,由服務(wù)器端進(jìn)行語(yǔ)音信息的識(shí)別,然后將識(shí)別的結(jié)果發(fā)送回手機(jī)端,如果在這個(gè)過(guò)程中有錯(cuò)誤,服務(wù)器會(huì)發(fā)送相應(yīng)的錯(cuò)誤提示信息;最后,客戶端將根據(jù)服務(wù)器發(fā)回的結(jié)果,進(jìn)行相應(yīng)的處理,包括向小車發(fā)送動(dòng)作命令。這樣,就實(shí)現(xiàn)了由語(yǔ)音控制小車行為的目的。
3 技術(shù)路線
人機(jī)交互多功能智能小車主要分為三部分:Arduino MEGA2560 R3開發(fā)板,L298N電機(jī)驅(qū)動(dòng)板,以及基于Andriod平臺(tái)的移動(dòng)手機(jī)終端,通過(guò)這三部分我們完成了小車的大致框架。
Arduino MEGA2560 R3開發(fā)板是溝通小車與手機(jī)端的橋梁,在Arduino MEGA2560 R3開發(fā)板與手機(jī)端之間采用無(wú)線藍(lán)牙通信協(xié)議來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸,并且Arduino MEGA2560 R3開發(fā)板將收到的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的信號(hào)傳給L298N電機(jī)驅(qū)動(dòng)板,此外Arduino MEGA2560 R3開發(fā)板上還安裝超聲波測(cè)距模塊,人體紅外檢測(cè)等模塊[6]。
手機(jī)端編寫的應(yīng)用程序?qū)rduino MEGA2560 R3開發(fā)板傳來(lái)的數(shù)據(jù)接收并處理,將得到的結(jié)果在手機(jī)端顯示出來(lái),在手機(jī)端設(shè)有語(yǔ)音控制和觸屏控制的功能,以及智能語(yǔ)音反饋提示的功能,還加入了視頻監(jiān)控的模塊,能夠在手機(jī)端實(shí)時(shí)查看小車周圍的環(huán)境視頻信息[7-8]。
本作品開發(fā)的技術(shù)路線如圖5所示。
4 結(jié)論
本作品多功能智能小車主要分為三部分:Arduino MEGA2560 R3開發(fā)板,L298N電機(jī)驅(qū)動(dòng)板,以及基于Andriod平臺(tái)的移動(dòng)手機(jī)終端,通過(guò)這三部分我們完成了小車的大致框架。小車以Arduino MEGA2560 R3開發(fā)板為控制核心,用9v電池供電,以滿足單片機(jī)及驅(qū)動(dòng)等其它模塊對(duì)電壓的需求。
移動(dòng)手機(jī)終端編寫的應(yīng)用程序?qū)rduino MEGA2560 R3開發(fā)板傳來(lái)的數(shù)據(jù)接收并處理,將得到的結(jié)果在手機(jī)端顯示出來(lái),在手機(jī)端開發(fā)語(yǔ)音控制和觸屏控制的功能,能將傳達(dá)的指令轉(zhuǎn)化成數(shù)據(jù)發(fā)送給Arduino MEGA2560 R3開發(fā)板,由其將數(shù)據(jù)轉(zhuǎn)換成信號(hào)發(fā)送給L298N電機(jī)驅(qū)動(dòng)板,最終實(shí)現(xiàn)手機(jī)端對(duì)小車的控制。
由于客觀條件所限,本作品還有一些功能需要由后續(xù)的工作來(lái)進(jìn)一步完善:
1)開發(fā)具有行走軌跡記憶功能和跟隨人體運(yùn)行功能的模塊,使其更加智能化和娛樂(lè)化;
2)添加一個(gè)機(jī)械手,使其能夠完成更多的動(dòng)作。
參考文獻(xiàn):
[1] 劉云浩. 物聯(lián)網(wǎng)導(dǎo)論[M]. 北京:科學(xué)出版社,2011.
[2] 桂勁松. 物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)[M]. 北京:電子工業(yè)出版社,2017.
[3] 于洋. 基于Arduino的自動(dòng)避障及通信控制智能小車系統(tǒng)的研究與設(shè)計(jì)[D]. 吉林大學(xué),2017.
[4] 李寧. Android開發(fā)權(quán)威指南 [M]. 2版.北京:人民郵電出版社,2013.
[5] 趙德安,等. 單片機(jī)原理及應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社,2004.
[6] 程晨. Arduino開發(fā)實(shí)戰(zhàn)指南[M]. 北京:機(jī)械工業(yè)出版社,2016.
[7] 賀安坤,張亮,宋長(zhǎng)青,薛進(jìn). 基于ZigBee技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)與研究[J]. 微計(jì)算機(jī)信息,2012,28(9):168-169.
[8] 沈顯慶,張煒瑋,常佳龍. Linux和Android手機(jī)終端的WiFi視頻監(jiān)控系統(tǒng)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(11):28-31.