46 MbitBot小車

(2018/12/08)

前兩天取得ICShop MbitBot小車的擴展板,將它與mBot車結合,也就是利用MbitBot的擴展板與mBot的車體結合。剛好前陣子玩過麥昆小車,其實小車的玩法都差不多,所以直接將麥昆小車的講義內容移植過來,把程式改成MbitBot的,就完成了這篇講義(真偷懶)!

  • MbitBot的擴展積木:https://github.com/iCShopMgr/MbitBot

    • 內含不少功能的積木,這次只著重在車子部份的積木

  • MbitBot的車體:直接拿mBot的車體來用,包括mBot的超音波感測器及循跡感應器都可繼續使用

一、測試蜂鳴器

  • 直接在車子一開始的程式,加上背景音樂(無限次)

  • 自己填譜:全家便利商店入店時的音樂 (簡譜:3 1 5(低音) 1 / 2 5~ 2 / 3 2 5(低音) 1)

二、測試RGB LED燈組

  • 在車前方有4顆RGB LED燈 (使用腳位P12)

  • 使用前先從擴展,叫出Neopixel套件,參考資料

  • 讓四顆RGB LED燈亮燈,並讓四種顏色的燈一直跑動,這是小車中我最喜歡用的亮燈方式!

三、測試車子前進、後退、左轉、右轉

  • 馬達是使用PCA9685 這顆IC 來控制,該IC 為I2C 傳輸,馬力範圍為0~100%

  • 以M1 為例有M1+ 與M1- 兩個pin ,M1+ 輸入100 且M1- 輸入0,可得到全速的正轉,反之則得到全速的反轉

  • 單輪測試,如果速度太快,可以把速度調慢一點,如調到50

  • 測試車子前進、後退 ;按A鍵讓車子前進;按B鍵讓車子後退;按A+B鍵讓車子停止。此右輪接M1;左輪接M2

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

    • 想一想,如何讓車子原地左右轉得更快。

  • 自我創作時間

    • 作品說明:根據上面所學,請同學自行設計一段程式,融入前進、後退、左轉、右轉及隨機時間,讓車子在地板上到處跑。

    • 程式說明:

  • 【挑戰題】老師設置一簡易障礙場所(設有起點、終點及障礙物),學生將車子放起點,按A鍵啟動車子,看學生能不能將車子從起點駛至終點,如未達目標則要一直要去修程式!

四、超音波避障

  • 測距程式

    • 避障說明:當小車前進,超音波檢測前方距離,如果距離小於30cm,小車隨機選擇左轉或者右轉,避開障礙物。

        • 註:要把上面前進、左轉、右轉的函式加上

五、小車循跡

  • 測試紅外線感應器

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

  • 循跡原理

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

  • 程式

  • 註: 1.要把上面前進、左轉、右轉的函式加上

  • 2.速度不要太快,大概設在30即可

六、紅外線遙控器控制車子前進、後退、左轉、右轉

  • 利用以下程式取得紅外線遙控器編碼的最後兩碼

  • 紀錄紅外線遙控器各按鍵紅外線編碼最後兩碼

    • 利用最常見的KEYES搖控器 (上方方向鍵的紅外線編碼最後兩碼如下圖)

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

      • 註:要把上面前進、後退、左轉、右轉、停止的函式加上

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

  • 遙控器程式

  • 小車程式

八、這塊擴展板還有很多功能,但本文僅著重在小車的部份,因此先到此為止....