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板來遙控小車
遙控器程式
小車程式
八、這塊擴展板還有很多功能,但本文僅著重在小車的部份,因此先到此為止....