2.2 程序設計
係統軟件主要包括兩部分,一部分是安卓係統上的控製程序的設計,包括語音識別的控製和手動按鍵的控製,另外一部分是Arduino控製板中程序的設計。
安卓係統端軟件的設計主要是利用手機的麥克風功能實現語音的輸入,並且通過穀歌的語音引擎來實現對輸入語音的識別,該係統軟件語音識別部分流程。
當換成手動輸入時,直接根據相應的按鍵發送相應的觸發標誌到Arduino控製板。本係統的特色主要是實現語音的控製。
Arduino控製板端的程序主要是根據手機端發送過來的信號來發送相應的指令給舵機控製板來控製機器臂,其Arduino控製端程序流程圖。
手機端控製係統是基於Android 2.1係統所編寫的,所用開發工具為Eclipse集成開發環境,Eclipse是著名的跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++、Python和Android的開發工具,在此開發環境下開發軟件非常的方便。設計本係統手機端軟件的程序界麵,為了盡快實現程序的功能,本程序沒有對軟件界麵設計做特別美化的設計,僅包含我們所用到的幾個按鈕和圖形顯示,以實現我們的功能為最大目標,設計手機端控製界麵。
3 測試與試驗分析
該係統組裝並調試,測試該係統,控製的機器人,通過安卓手機軟件實現機器人的運動控製,通過觸擊按鍵或者語音的輸入來對每組命令進行循環測試。可以輸入的語音命令有前進、後退、左轉、右轉、停止、擁抱、敬禮、叉腰、招手等動作。
具體測試步驟:
連接好線路,打開電源,觀察知識點正常亮起,觸擊控製界麵的藍牙連接按鈕,觀察指示燈,以確保手機藍牙和Arduino開發板的配對連接成功。否則,得檢查係統的連接是否正確。
藍牙配對連接成功後,先測試手動操作是否成功,分別觸擊前進、後退、左轉、右轉、停止按鈕,觀測機器人是否根據對應的指令做相應的運動。循環測試多次,保證係統的穩定。
測試完手動操作按鈕之後,接下來測試語音控製的輸入,觸擊語音輸入控製按鈕,會出來一個虛擬的麥克風,對著手機話筒說出前進,後退等控製命令,觀測機器人是否能夠根據你的語音來實現相應的運動。循環測試多次,保證係統的穩定。
最後試驗分析,該控製程序能夠穩定的實現都機器人運動的控製,達到了預訂的目標和效果。
4 結 語
設計基於Android係統手機和Arduino控製板的機器人控製係統,通過接收人的語音或者按鍵來操作機器人的運動狀態,采用安卓智能手機來進行語音的處理和穀歌雲平台對語音的識別,利用藍牙來進行數據的通信,舵機控製板軟件規劃出機器人的各種動作並且生成的動作指令,最後由控製板來實現完成該相應的動作。利用了藍牙無線通信,擺脫有線困擾,使得係統有廣泛的適用範圍。
參考文獻
[1]田澤.嵌入式係統開發與應用教程[M].北京: 北京航空航天大學出版社,2005.
[2]李全利.單片機原理及接口技術[M].北京: 高等教育出版社,2009.
[3]蔡睿妍.Arduino的原理及應用[J].電子設計工程,2012(16):155-157.
[4]崔才豪,張玉華,楊樹財. 用Arduino 控製板的光引導運動小車設計[J]. 自動化儀表,2011(9):29-32.
[5]何彪,周開班. 基於NFC 技術的藍牙對象交換方法[J]. 微計算機信息, 2009(6) :133-134.