2017年8月20日 星期日

mBot x App Inventor 2:設計 AI 程式連接 mBot

簡介

近日發現 App Inventor 2 在 mBot 的 Extension 上作出了更新,現在設計 App Inventor 程式連接 mBot 變得更加簡單(應該說是非常簡單),而且支援的感應器亦變得全面。現在就讓我們看看如何用 App Inventor 2 設計程式連接 mBot 吧!

開設 App Inventor 帳戶

要使用 App Inventor 就必需要有一個 Google 帳戶,如果沒有,可以去註冊一個,費用全免。然後可以到 App Inventor 的網站:http://ai2.appinventor.mit.edu/

第一次到這個網址或是已經登出了,需要先登入 Google 帳戶,登入後就會看到這個畫面:


第一次使用應該沒有任何項目的。預設的語言是英語,你可以先選擇自己愛好的語言才繼續。

建立 App Inventor 項目

我們會設計一個偵測 mBot 前方障礙物距離和讓 mBot 板載 LED 亮起隨機顏色的程式,首先,按左上角的「新建項目」開始設計程式:


然後,為你的手機程式定一個名字:


然後就會進入了設計介面:


左面的是我們可以用的介面組件,中間是我們的設計介面,右邊就是組件列表和屬性設定。

設計程式介面

在設計上,我們會主要有2個按鍵,分別用來連接 mBot 和斷接 mBot。除此之外,我們會有一個按鍵變換板載 LED,大致佈局可以參考下面:


如果不太了解如何鋪排設計介面,可參考這個網站

加入 mBot 擴充元件

在開始設計邏輯前,我們還需要加入 mBot 的擴充元件,我們按一下左邊「組件版面」的「Extension」,然後選擇「Import Extension」:


選擇「URL」,並輸入擴充元件的網址:http://appinventor.makeblock.com/mbot.aix


等它加載完後,你就會看到「Extension」多了 mBot 的擴充元件:


將「mBot 元件」加入設計中,會看到 mBot 出現在「非可視元件」中:


邏輯設計

現在我們可以按下右上角的「邏輯設計」開始設計程式:


首先,完成連接 mBot 的功能:


因為我希望使用超聲波感應器的功能,所以當 mBot 成功連接後,要調用超聲波感應器:


然後就是當超聲波感應器成功取得數值時更新標籤:


最後就是讓板載 LED 亮起隨機顏色的按鍵,其中「whichLight」的「0」是指全部 LED:


測試程式

程式設計已經完成了,接著就可以在 Android 的手機或平板測試程式:


得到 APK 有兩個方法,可以選擇使用 MIT AI2 Companion 掃描二維碼,或是下載到電腦,再用自己方法放到 Android 裝置上:


這個二維碼只有2小時有效,如果想要保存好檔案也可以下載 APK。

測試時打開應用程式和啟動 mBot,將 Android 裝置靠近 mBot,按下「連接 mBot」,看到「Device connected」就表示成功連接了,可以看到超聲波感應器的讀數了,也可以隨機轉換板載 LED 的顏色了。

沒有留言:

張貼留言