王德貴
1.設(shè)計思想
開源硬件既方便,又實惠,頗受廣大創(chuàng)客教育工作者的喜愛。眾多開源硬件中Arduino是最優(yōu)選擇,價格便宜,兼容性好,能完成各種功能的定制。
目前安卓應(yīng)用開發(fā)基礎(chǔ)課程APPInventor也熱了起來,很多學(xué)校開設(shè)了相關(guān)課程。APPInventor的優(yōu)勢在于既能學(xué)習(xí)編程的知識,又能掌握安卓應(yīng)用開發(fā)過程,提高使用者的分析、解決問題的綜合能力,還能開發(fā)一些基于手機的實用項目。
一款A(yù)rduino機器人,要是用自己設(shè)計的手機APP控制,就更吸引人了!
2.工作原理
工作模塊分為兩大部分。一部分是Arduino機器人,它通過藍(lán)牙接收指令,通過控制馬達(dá)從而指揮機器人運動,編程用Mixly軟件,硬件接線如圖1,完成機器人如圖2。
另一部分是手機APP,利用APPInventor開發(fā)平臺,設(shè)計一款屬于自己的個性化APP應(yīng)用(如圖3)。其原理是利用手機APP將馬達(dá)轉(zhuǎn)向信息和速度信息兩個數(shù)據(jù),經(jīng)過分析、合成、處理后,發(fā)送給藍(lán)牙。藍(lán)牙接收信息數(shù)據(jù),并進行檢索,識別方向和速度量,再傳給Arduino主板,控制馬達(dá)運轉(zhuǎn),從而控制機器人運動。
APP也接收主板返回的信息,確認(rèn)當(dāng)前工作狀態(tài),并在手機上顯示出當(dāng)前LED開關(guān)狀態(tài)。設(shè)計利用百度語音識別功能,用語音控制機器人運動,本文只講最基本的方法。
1.接線圖
機器人搭建比較簡單,按圖接好線路,即可進行調(diào)試。接線時注意以下幾個問題。
L298N的4個輸入端in1~4分別接Arduino主板D5/D6,D9/D10,輸出接對應(yīng)的兩個馬達(dá)。注意,L298N一定要和Arduino共地,并需要外接電源,本例接7.4V航模電池。L298N也可以用L9110s代替,通過對比測試,L298N功率更大一點,運動更靈敏,速度更快一點,L9110s價格更便宜。
藍(lán)牙模塊的VCC和GND端子,分別接Arduino主板+5V和GND。
LED正極接Arduino主板D7,負(fù)極接GND。
2.機器人搭建
(1)器材:機器人底盤,萬向輪,馬達(dá)固定支架,7.4V2S20C800mAh航模電池,開關(guān),馬達(dá),Arduino主板,L298N驅(qū)動模塊,BT05藍(lán)牙模塊,5mm LED燈,杜邦線、螺絲若干。
(2)搭建:搭建過程比較簡單,不做詳述。注意固定好底盤和馬達(dá),功耗就會小一點。成品底面如圖4。
3.程序設(shè)計
利用Mixly軟件進行數(shù)據(jù)接收及處理。在Arduino兼容方面,Mixly軟件為首選圖形化軟件,如果用代碼編程還是首選IDE。
這是初始化程序,定義三個變量,存儲方向信息、速度值和小燈狀態(tài)值,同時設(shè)置串口波特率9600以保證正常通信,波特率會因為藍(lán)牙型號的不同而有變化(如圖5)。
通過自定義函數(shù),接收手機APP發(fā)來的數(shù)據(jù)信息,然后進行分離處理,以控制馬達(dá)轉(zhuǎn)速(如圖6)。
加上指示燈,掌握機器人的工作狀態(tài),同時通過藍(lán)牙發(fā)送小燈狀態(tài)信息,在手機APP上顯示出來,達(dá)到相互通信的目的(如圖7)。
1.組件設(shè)計
利用app.wxbit.com開發(fā)環(huán)境,組件的屬性設(shè)置可隨個人喜好修改,只要美觀和方便操作即可,具體組件設(shè)置見下表。
百度語音功能需要去百度智能云注冊,創(chuàng)建人工智能類應(yīng)用,記錄三個參數(shù)AppId/ApiKey/SecretKey,依次點擊組件面板→人工智能→百度語音識別→組件屬性,將三個Key填入。