micro:bit 廣播遙控自走車
這篇教學會使用另外一塊 micro:bit,利用按壓按鈕與姿勢改變的方法,發送廣播訊號,遙控 micro:bit 自走車 ( MoonCar 登月小車 ) 進行前後左右的移動。
- 操作 MoonCar 需要載入對應的擴充積木,請先參考:載入 MoonCar 的程式積木
- 更多資訊:ICShop MoonCar 官方網站
收到並顯示廣播訊號
MoonCar 的 micro:bit ( 接收廣播訊號 )
將 MoonCar 上的 micor:bit 設定廣播群組為 1,當收到廣播訊號 ( 數字 ) 時,就在 LED 顯示廣播訊號。
作為遙控器的 micro:bit ( 發送廣播訊號 )
將作為遙控器使用的 micor:bit 設定廣播群組為 1,按下按鈕就發送對應的廣播訊號。
也可以使用「姿勢」,當 micro:bit 發生特定姿勢時,就發送對應的廣播訊號。
程式分別燒錄到對應的 micro:bit 之後,按壓作為遙控器的 micro:bit 按鈕,或翻轉 micro:bit,就可以看見 MoonCar 接收並顯示對應的廣播訊息。
廣播訊號遙控自走車
修改 MoonCar 接收廣播訊號的程式,加上邏輯判斷積木,判斷接收到特定訊號時就控制自走車前進、左轉、右轉和停止,燒錄程式完成後,就可以使用作為遙控器的 micro:bit 開始遙控 MoonCar。
偵測 PIN 腳,改善按鈕發送的廣播訊號
由於 micro:bit 只有兩顆按鈕,比較不容易單純使用按鈕積木做到更進階的控制 ( 例如一隻手指按著 A 按鈕,一隻手指按下 B 按鈕又放開 B 按鈕,就出現與想像不同的狀況 ),如果要做到更順暢的遙控,可使用「偵測 PIN 腳」的積木,搭配重複無限次迴圈,就能準確知道目前按鈕的狀態,進一步發送對應的廣播訊號,詳細流程如下:
- 建立一個名為 reset 的函式:
- 函式內容是四個變數 ( r1~r4 ),讓這四個變數都等於 0。
- 這四個變數的目的在於判斷四種不同的按鈕狀態 ( r1:AB 同時放開,r2:只按 A,r3:只按 B,r4:AB 同時按 )。
- 使用重複無限次積木:
- 每次重複時偵測 PIN 腳訊號,偵測的 PIN 腳為 5 ( 按鈕 A ) 和 11 ( 按鈕 B )。
- 設定兩個變數 a 和 b,分別取得 PIN5 和 PIN11 的訊號。
- 如果 PIN 腳訊號等於 1,表示放開按鈕,如果等於 0 表示按下按鈕。
- 因為重複無限次迴圈會不斷偵測訊號,在偵測到 PIN 腳訊號後,根據訊號先使用 reset 函式將 r1~r4 歸零,接著指定的變數改成 1,就能避免重複偵測然後不斷發送廣播訊號的問題 ( 這個做法只會在偵測當下發送一次訊號,直到訊號改變才會再次發送 )。
- 判斷偵測指定訊號後,發送廣播訊號。
編輯「AB 按鈕同時放開」的積木後,其他積木如法炮製同樣的做法。
範例解答
延伸練習
如果已經熟悉了 MoonCar 廣播遙控自走車的原理,還可以嘗試更多好玩的作法:
- 使用姿勢的方式,讓 MoonCar 也可以向後退 ( 解答 )。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~