無需程式設計,DIY自己智慧小車的Android藍芽遙控軟體(一)
很多熱衷於玩微控制器小車、機器人的童靴,往往也向往著有天能自己編寫一個Android手機的遙控程式,通過自己的手機遙控小車,微控制器程式用C語言或者彙編什麼的都可以容易完成,,無奈要寫一個上位機的Android控制程式就要會java、還要學一點xml知識,對於只學過C 或C++的人來說……..╮(╯▽╰)╭
不過萬能的Google提供了一款雲端Android程式開發工具: AppInventor。因為對於想要用手機控制機器人的使用者而言,他們不大需要太華麗的介面,只要使用基本元件例如按鈕、文字輸入輸出即可,所以,App Inventor 讓你拋開復雜的程式程式碼,使用搭積木式的方法來完成您的Android程式。(完全不需要程式設計哦)
上個效果圖先。
呵呵,有沒有躍躍欲試的衝動?按照下面的步驟一步一步來吧:
一、 要有一臺電腦(廢話呀…………)
系統需求:
1)Macintosh:Mac OS X 10.5,10.6
2)Windows系列:Windows XP,Windows Vista,Windows 7都可以的
3)GUN/Linux系統:Ubuntu 8+,Debian 5+ 等。
1)Mozilla Firefox 3.6或更高
2)Apple Safari 5.0或更高
3)Google Chrome 4.0或更高
4)IE6及更高
其次測試一下你的Java環境配置是否正確:
這需要在你的電腦上能夠執行Java ,目前官方更新到了Java 7,如果沒有安裝的話,可以在Oracle官方網站上去下載(我的電腦有沒有裝了java呢?到java 的官方連結裡看一下知道了http://www.java.com/zh_CN/download/installed.jsp)。
要有一個Gmail帳號,個人認為Gmail郵箱是必備的郵箱啊,沒有就申請一個。
最後,安裝App Inventor軟體包:在使用App Inventor之前,你還需要安裝一個叫做App Inventor Setup的軟體包在你的電腦上。當然你需要根據你的作業系統來下載不同的軟體包的。這裡我提供的是Windows系統下的軟體包,其他的可以在Google的網站上去下載!
到目前為止,以上4個步驟如果都順利,那麼我們可以登入這裡開始編寫Android軟體啦:http://appinventor.mit.edu/
點選右邊的紅色“Invent”按鈕進入MyProjects頁面,這裡就可以新建工程,開始編寫Android軟體了。
網站上也提供了一些教程。有興趣可以瀏覽下。
二、 編寫下位機(微控制器小車)程式,設定好藍芽通訊協議。
走到第二步,對於很多智慧小車、機器人愛好者來說都不是問題了。
先理一下Android手機與小車的遙控方式:
這樣一來,手機發送事先規定好的資料指令,藍芽模組接收到,再傳送給小車,小車對指令進行一下Switch,,是前進指令的就前進、該後退的就後退……
相應的,下位機小車應該要有的幾個基本功能函式,它們應該是:
前進函式(Forward(void) )、後退(Backward(void) )、左轉(Lift(void))、右轉(Right(void) )、停止(Stop(void) )。
這裡名稱是否一致,內容是什麼的無關緊要,你也可以拿來控制機器人相應的動作,下位機由人怎麼寫控制函式的程式段都行。。這裡是我們設定的小車的協議,有這個現成的下位機程式供我們驅動,玩其他智慧小車、機器人的童靴可以自己編嘛。
(程式在: LHcar光碟\No.3-Lighthouse原始碼\Chapter10-小車綜合程式\No.8-Android遙控藍芽小車)
目前就先控制這幾個命令吧,協議裡面加、減速,轉圈等功能就不做控制了。
個人按照自己的要求寫好下位機程式,這一步就算完成了。
三、 利用Appinventor開始搭建Android控制軟體。
第三步了,在這之前先對Appinventor介面做一下講解:
A、建立一個新工程:(紅框所示位置)
B、如圖,進入到了軟體編輯介面以此可見各個區域的功能(控制元件編輯區、虛擬的軟體介面、軟體所新增使用的控制元件、當前選中控制元件的屬性、“Block Editor”and“Package for Phone”)
我們將需要使用的控制元件從控制元件編輯區拖拽到虛擬的軟體介面,並對相應的控制元件,修改其屬性。
新增完控制元件,點選“Block Editor”將進入搭積木式的程式設計介面 :
“New emulator”是生成一個Android模擬機,由於體態感測器和藍芽裝置模擬器是無法實現的,所以還是連線自己的手機吧,右邊的“Connect to Device”可以連線自己的手機,這樣程式設計過程中,會實時的顯示軟體介面和程式執行狀況。