作者/攝影 | 曾吉弘 |
時間 | 3小時 |
成本 | |
難度 | * * * |
材料表 |
|
本文要介紹如何讓App Inventor 透過 BLE 來與最近非常熱門的BBC Micro:bit開發板互動。Micro:bit板子上已經具備了BLE藍牙通訊功能,搭配app Inventor寫好的micro:bit extesion,就能有更多互動的效果。本範例修改自 MIT App Inventor IoT網站之 Micro:bit範例。
藍牙配對
Micro:bit端設定:
- 同時按住Microbit 正面A、B按鍵,不要放掉
- 按住A、B鍵時,把背面的Reset 鍵按下後再放開。
- 這時應該可以看到 “PAIRING MODE!” 以跑馬燈方式出現在Microbit LED 螢幕上,若看到這訊息,便可以放開A、B鍵。
- PAIRING MODE! 結束後,會看到一個圖形出現在Microbit LED 螢幕上,不同的Microbit 出現的圖案也不同,這是Microbit 不同裝置獨特的”簽名” (Signature) 。
- 這時候的Microbit 已經準備好跟其他裝置配對,請看以下影片教學
Android手機端設定:
1.進入Android手機的設定–>藍牙
2.確認Micro:bit 已進入配對模式
3.當Micro:bit上的‘PAIRING MODE!’ 顯示完,搜尋(每隻Android手機這個選項的文字不一定相同,但意思差不多),應該會看到類似 micro:bit [XXXXX]的選項,其中XXXXX 會根據每片micro:bit而不同。點選該裝置來配對。
4.micro:bit 會出現向左的箭頭,然後Android裝置上會跳出畫面要求輸入配對PIN碼的視窗。
5.按住Micro:bit 的按鍵A ,這時microbit 會連續出現六個數字,這就是配對碼。
6.回到Android裝置上,輸入這六個數字。如果Microbit 出現[V],代表配對成功。如果是[X]代表沒成功,請再試一次
編寫程式來控制Micro:bit LED matrix
匯入BLE 與 micro:bit extension
請登入MIT App Inventor官方網站,建立新專案,在Designer葉面中點選Palette左下角的Extension,再點選”Import extension“與”URL:
- 貼入以下兩個 extension link:
- BLE: http://iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.ble.aix
- micro:bit: http://iot.appinventor.mit.edu/assets/com.bbc.micro:bit.profile.aix
2. 請加入 Microbit_Led 這個元件,這是一個非可視元件。並把它的 BluetoothDevice 屬性設為 “BluetoothLE1″。這步驟很容易忘記,別漏掉了
- 加入四個按鈕放入 horizontalArrangement元件中,分別用於掃描、停止掃描連線與斷線
- 加入一個說明訊息用的 label
- 加入一個 ListVeiw,當掃描到鄰近的BLE裝置時會顯示在這裡
- 新增一個 TextBox,在此輸入我們希望 micro:bit呈現的英文字(中文不行喔)
- 新增兩個按鈕,一個是 [Write to LED] 把 Textbox 內容丟給 micro:bit ,一個是[DrawSmiley],讓 Micro:bit 呈現我們所指定的點陣圖案。
Blocks頁面
- 掃描與連線
- 畫笑臉副程式
在此用一個副程式 DrawSmiley 來代表,我們會用一個 5 x 5 的數字陣列發給 Micro:bit,就能藉此顯示我們想要的圖形。
在此用到的是 Microbit_Led1.WriteLEDMatrixState指令搭配 binary to base 10 指令組合起來的 0101 陣列,1代表 LED亮起,0則是熄滅。仔細看看,這樣就是一個笑臉呢
0 1 0 1 0
0 1 0 1 0
0 0 0 0 0
1 0 0 0 1
0 1 1 1 0
- 發送Textbox內容到 Micro:bit
沒錯,就這麼簡單,直接把 Textbox內容透過 Microbit_Led1.WriteLEDText指令發送出去就好,但不能打中文喔
斷線
斷線時會呼叫 bluetoothLE元件來中斷藍牙連線,確認斷線之後則顯示相關訊息。
完工了!來試試看吧。請確認您的Micro:bit與Android已經配對好了。按下按鈕應該可以看到您在 Textbox 中輸入的文字(中文不行喔)以跑馬燈的形式出現在micro:bit 的 LED matrix 上。按下 smilley 按鈕應該也能看到笑臉圖案, 試試看用 Micro:bit LED 搭配 App Inventor 做出更多功能吧
相關文章:
- CAVEDU技術部落格雙A計畫
- App Inventor中文學習網 – 物聯網教學專區
- https://makecode.microbit.org/reference/bluetooth/bluetooth-pairing
- MIT App Inventor IoT網站
- App Inventor’s micro:bit LED component’s document
完成如下圖: