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