09 登月小車

(2021/05/01)

我發現我測試了那麼多小車,居然沒有測試micro:bit的登月小車,剛好最近要去大樹國中介紹micro:bit的登月小車,順便把這教材也寫一寫了。

一、登月小車的控制器

二、擴展登月小車所需的積木

三、測試小車

  • 先測試右輪:按A鍵正轉;按B鍵反轉;按A+B鍵停止。使用前記得把小車右前方的切換開關,換換到micro:bit

  • 同樣方式來測試左輪的轉動

  • 測試小車前進、後退、停止:按A鍵前進;按B鍵後退;按A+B鍵停止。

    • 測試小車原地右轉、左轉、停止:按A鍵右轉;按B鍵左轉;按A+B鍵停止。

    • 想一想如何原地右轉?左轉?

  • 闖關活動:請寫程式讓小車沿著正方形磁磚走

    • 按A鍵開始行走

    • 先Try&Error,

      • 試出走直線所需的時間

      • 試出轉90度所需的時間

      • 由於走四方形,請善用重複4次的積木

      • 最後再記得停止

    • 例如:

      • 會走正方形了,那會不會走圓形呢?

  • 其他:可以增加音樂及在micro:bit屏幕顯示圖案或文字功能

四、點亮車座上的LED燈

  • 圓形車座上有8顆三色LED燈,雖然有8顆燈,但它是WS2812 的LED,只占用1個腳位(P12)

  • 點亮同一顏色的燈,按A鍵亮紅燈,按B鍵亮藍燈,按A+B鍵關燈,以下積木在【Neopixel】積木內

    • 彩虹顏色呈現及跳動

    • 舞會開始了

五、避障功能

  • 在屏幕上顯示【超音波測距感測器】所量測的距離

    • 而且這積木對micro:bit V2的板子好像也沒有作用

  • 避障規則一

    • 當車子與障礙物的距離大於20公分時,車子前進。

    • 當車子與障礙物的距離低於20公分時,小車會隨機選擇原地左轉或者原地右轉0.5~1秒來避開障礙物。

    • 前進、轉彎的速度都可以調整,一開始建議速度不用太快。

六、循跡功能

  • 在屏幕上顯示【循跡感測器】的值

    • 發現兩個感應器都在黑線上(亮燈)顯示0;左側在黑線上,右側在白線上顯示1;左側在白線上,右側在黑線上顯示2;兩個感應器都在白線上顯示3

  • 循跡原理

      • 當兩個感應器都在白線時,代表車子已跑出黑線了,理論上車子應該要【停止】,但在此我們先不理會,不做任何動作,大部份的時侯車子會順勢再轉回黑線上。

  • 程式

  • 註: 1.剛開始速度不要太快,大概設在50即可

  • 2.本車的循跡圖用黑色膠帶貼地板,效果比較好

七、用【紅外線遙控器】控制車子前進、後退、左轉、右轉、停止

  • 在屏幕上顯示【紅外線接收器】所接收到的編碼值

  • 紀錄紅外線遙控器各按鍵的編碼值

      • 使用最常見的KEYES紅外線遙控器

      • 前(上):98

      • 後(下):168

      • 左:34

      • 右:194

      • 中(OK):2

    • 利用方向鍵控制車子前後、左右轉及停止

  • 本車除了有紅外線接收器外,還有紅外線發射器,大家也可以試試

  • 紅外線搖控器有一缺點就是會互相干擾,所以可採用另一片micro:bit來當遙控器

八、利用另一塊Micro:bit板來遙控小車

  • 遙控器程式

  • 小車程式

    • 廣播群組要設一樣

九、顏色辨識

  • 參考資料:http://www.circuspi.com/index.php/2020/01/06/mooncarlesson8/

  • 先進行顏色學習

    • 按A鍵,學習紅色(按A鍵時,把紅色紙放在感測器的地方)

    • 按B鍵,學習綠色(按B鍵時,把綠色紙放在感測器的地方)

    • 按A+B鍵,學習藍色(按A+B鍵時,把藍色紙放在感測器的地方)

  • 再進行顏色辨識

    • 遇見紅色時,會亮紅色燈

    • 遇見綠色時,會亮綠色燈

    • 遇見藍色時,會亮藍色燈

    • 遇見其他顏色時,不亮燈

十、利用手機遙控車子

  • 藍牙近端互動

    • 手機APP及設定:請參考04 利用藍牙近端互動

    • 後來發現,小車積木無法與BlueTooth積木共存,因此此方法不可行

  • 小車接上Wifi模組

    • 利用【連雲】WIFI模組

    • 利用MQTT互動