楊英明
(遼寧軌道交通職業學院 電氣工程系, 沈陽 110023)
Andriod手機APP藍牙控制智能車解決方案
楊英明
(遼寧軌道交通職業學院 電氣工程系, 沈陽 110023)
在智能車遙控傳統解決方案中,通常采用超再生遙控或者紅外遙控的方案,而隨著Andriod智能終端的普及,智能終端的短距離無線通信技術——藍牙通信以及可以感知手機方位的方向傳感器,結合單片機系統、藍牙模塊和電機驅動模塊,實現基于Andriod手機APP的藍牙控制智能車。這樣每部安卓手機都成為了一部遙控器,經過多品牌和多版本手機的測試,系統都能很好地運行,同時本設計為智能機器人和智能家居提供一種新的思路。
Andriod手機;APP;藍牙;智能車
目前,智能手機在全世界已廣泛使用,在其手機內部提供了包括加速度傳感器、重力傳感器、磁場傳感器、陀螺儀等10余種傳感器,并通過其本身自帶的短距離通信功能——藍牙,加上安卓系統的開源特性,可以讓手機成為目前智能機器人和家具電器的遙控器。本文設計了基于Andriod手機APP的藍牙控制智能車,通過手機APP發送事先規定好的數據指令,讓藍牙模塊接收到,再傳送給智能小車,小車對指令進行判斷,根據判斷的結果進行動作。
本文設計思路如圖1所示。

圖1 手機APP藍牙遙控設計思路
本設計中采用51單片機作為控制核心,控制4路電機和4路車燈,并作為藍牙通信的解碼芯片,對手機通過藍牙發送的控制指令進行解碼,從而實現對智能小車的控制。所以,系統方案分為硬件電路和系統軟件兩部分。系統方案設計框圖如圖2所示。

圖2 系統方案設計框圖
系統硬件一共分為4個模塊:電源模塊、單片機最小系統、電機驅動模塊、藍牙模塊。
2.1 電源模塊
本設計采用兩路供電方式,分別為控制電和動力電。控制電為控制板上單片機和所有傳感器進行供電,供電電壓為5 V,保證單片機及傳感器正常工作;動力電主要為電機驅動模塊進行供電,供電電壓為7.4 V。
在控制電中,本設計采用兩節18650鋰電池,可以輸出7.4 V,電壓經過7805穩壓得到5 V電壓,滿足整個控制板的供電需求。在動力電中,直接輸出兩節18650鋰電池的電壓,滿足驅動電機對電壓的需求。這樣,動力電和控制電之間不會相互干擾,且滿足系統對電源的需求。
2.2 單片機最小系統
最小系統部分包括時鐘電路、電源電路和復位電路。由于本設計使用的藍牙模塊出廠默認參數的通信波特率是9 600 b/s,所以要選擇11.059 2 MHz的晶振,設置計數器初值為TH1=0xFD和TL1=0xFD,這樣下位機的波特率也是9 600 b/s。
2.3 電機驅動模塊
本設計中采用了L9110H作為電機驅動芯片的方式,L9110輸入電壓為2.5~12 V ,每通道最大輸出電流可以達到800 mA,可以滿足4路電機的驅動。
2.4 藍牙模塊
HC-06藍牙透傳模塊可以讓原來使用串口的設備擺脫線纜的束縛,在10 m范圍內實現無線串口通信。使用該模塊無需了解復雜的藍牙底層協議,只要簡單的幾個步驟即可享受到無線通信的便捷。藍牙透傳模塊只有4個AT指令,分別是測試通信、改名稱、改波特率、改配對密碼,AT指令必須從TXD、RXD信號腳設置,不能通過藍牙信道設置。藍牙規范空曠地10 m范圍內,只能一對一傳輸,不能組網。
發送AT指令的設備可以是各種類型的MCU(比如51、AVR、PIC、MSP430、ARM等),也可以是電腦通過串口(PC串口接MAX232或者USB轉串口)發送。
藍牙模塊指示燈處于閃爍的狀態,表示沒有連接主機,藍牙模塊指示燈常亮,表示已連接主機,并且通過事先編寫好的APP進行控制,單片機控制板上指示燈點亮,說明藍牙通信和計算機串口通信沒有問題。
對于Andriod手機APP的開發,最佳的方案是利用Java語言在eclipse IDE進行開發,需要掌握整個程序開發環境的搭建方法、精通Java編程和xml,但是對于自動化專業相關的學生來說,開發難度較大,且效率較低。針對我們項目的需求,只需要實現對智能車進行控制,并不需要華麗的界面和復雜的算法,所以采取了一種效率較高、入門較快的開發方法-APP Inventor。
3.1 APP Inventor簡介
APP Inventor是一款谷歌公司開發的基于云端的手機編程環境,用戶能夠通過該工具軟件自行研發適合手機使用的任意應用程序,而且這款編程軟件不一定需要專業的研發人員,甚至根本不需要掌握任何的程序編制知識。用戶只需要根據自己的需求將類似積木一樣的代碼拼裝起來,并添加一些服務選項即可,使非計算機專業人員可以高效快速地開發Android應用程序,如圖3、圖4所示。

圖3 邏輯設計界面

圖4 組件設計界面
3.2 下位機程序設計-單片機藍牙通信程序

圖5 藍牙模塊與單片機連接框圖
HC-06藍牙模塊與手機(或其他設備)配對連接好以后可當作固定波特率的串口使用,它的TXD、RXD當作電腦串口的TXD、RXD使用。藍牙模塊與單片機的連接方式如圖5所示。連接上以后可當電腦的無線串口使用,下位機程序主要是針對單片機通過串口接收到的數據進行判斷,在上位機程序中設定發送固定字符,不同字符代表不同的動作指令,從而控制小車執行不同的動作。具體含義見表1。
3.3 上位機程序設計-利用APP Inventor搭建
利用手機的藍牙通信發送數據共有兩種模式:按鍵模式和體感模式。不管哪種模式手機都需要先和從機藍牙模塊連接,連接成功之后,利用APP Inventor的藍牙控件發送控制數據。

表1 APP通過藍牙發送的控制指令表
(1) 按鍵模式
通過點擊APP上的方向鍵和停止鍵可以對小車的運行進行控制,這里使用的是按鈕控件,在邏輯設計中只需要對不同按鍵按下和松開作出響應,發送相應小車控制代碼即可,在小車上通過對接收到的代碼進行解碼。該模式控制界面如圖6所示。

圖6 按鍵模式界面
(2) 體感模式
該模式控制界面如圖7所示。此模式下,需要使用智能手機中自帶的OrientationSensor-方向傳感器,方向傳感器提供3個數據,分別為azimuth(方位)pitch(俯仰)和roll(翻滾),這3個數據都表示度數。具體含義、范圍見表2。

表2 方向傳感器方向數據表

圖7 體感模式界面
在本設計中只用到了俯仰角度和翻滾角度,分別代表小車的左右轉向和前進后退。為了避免手機抖動的誤操作,在程序中設置觸發角度為20°,只有手機翻轉和俯仰角度大于20°時才會觸發小車動作,當小于20°,小車無動作。為了提高程序運行效率,采用時鐘觸發周期為300 ms,即0.3 s檢測一次角度。
上位機APP程序流程圖如圖8所示。

圖8 上位機APP程序流程圖
本設計中,我們采用了不同的安卓手機進行試驗,對APP的按鍵遙控功能和體感遙控功能進行了多次測試。在測試中發現以下幾點:APP對各種品牌安卓手機都能夠兼容;APP在各種版本的安卓操作系統上都能夠穩定運行;遙控范圍大約在9 m之內,超出此范圍,信號不穩定;小車對APP的響應靈敏,反應時間大約為0.1~0.3 s,偶爾會出現APP斷開藍牙連接以及死機的情況。

[1] 聶茹. 基于Android手機藍牙控制的智能小車設計與實現[J]. 微型電腦應用,2015(9):6,68-69,74.
[2] 林明標,莫金海. 基于安卓手機的無線重力感應控制智能小車[J]. 計算機測量與控制,2015(4):1175-1178.
[3] 沃爾貝(David Wolber),埃布爾森(Hal Abelson),斯珀特斯(Ellen Spertus),等.寫給大家看的安卓應用開發書 App Inventor 2快速入門與實戰[M].金從軍,譯.北京:人民郵電出版社,2016.
[4] 李鷗.實戰Android應用開發[M]. 北京:清華大學出版社, 2012.
[5] 李群芳,張士軍,黃建.單片微型計算機與接口技術[M]. 北京:電子工業出版社, 2005.
[6] 朱丹峰,葛主冉,林曉雷.基于Android平臺的無線遙控智能小車[J].電子器件, 2013(3).
[7] 趙學浩,錢衛國.基于單片機的無線智能小車設計[J].常熟理工學院學報,2016(4).
[8] Andrew Hoog.Android Forensics:Investigation,Analysis and Mobile Security for Google Android[M].Syngress Publishing,2011.
[9] 陳宏田.基于安卓系統聯網智能車的設計和研究[D].南京:南京師范大學,2015.
[10] 蔣俊,劉天宇,簡雨沛.藍牙智能小車系統設計[J].信息技術與信息化,2015(6):166-167.

參考文獻
[1] 余齊齊.基站換風監控軟件設計[D].廈門:廈門大學,2009: 23-24.
[2] 田明.移動基站節能監控系統研究與設計[D].長沙:湖南大學,2009:12-13.
[3] Z Niu, Y Wu, J Gong, Z Yang. Cell Zooming for Cost-Efficient Green Cellular Networks[J]. IEEE Communications Magazine, 2010,48(2),74-79.
[4] H Li, H Zhang, D Peng. Design and Application of Communication Gateway of EPA and MODBUS on Electric Power System. Energy Procedia[J]. 2012, 17(1): 286-292.
[5] 莊健, 楊清宇, 杜海峰, 等. 一種高效的復雜系統遺傳算法[J]. 軟件學報, 2010, 11(1): 2790-2801.
[6] 于瑩瑩, 陳燕, 李桃迎. 改進的遺傳算法求解旅行商問題[J]. 控制與決策,2014, 8(1): 1483-1488.
(責任編輯:楊迪娜 收稿日期:2016-09-29)
Solution of Andriod Mobile APP Bluetooth Control Intelligent Vehicle
Yang Yingming
(Department of Electrical Engineering,Guidao Jiaotong Polytechnic Institute,Shenyang 110023,China)
The super regenerative and infrared remote control are usually used in the traditional solution of intelligent vehicle remote control.With the popularity of Andriod intelligent terminals,the Bluetooth intelligent vehicle based on Andriod mobile phone APP is realized with the use of intelligent terminal short distance wireless communication technology such as the Bluetooth communication and direction sensor range of mobile phone.It combines with MCU,the Bluetooth module and the motor drive module.So every Android mobile phone has become a remote control.The system can run very well through many brands and many versions of the mobile phone testing.At the same time,the design provides a new idea for the intelligent robots and smart home.
Andriod mobile phone;APP;Bluetooth;intelligent car
TP312
A
?迪娜
2016-10-14)