循跡自走車
這篇教學會介紹利用 micro:bit 的 IR 循線感應器,將 micor:bit 自走車 ( MoonCar 登月小車 ) 變成可以沿著地上黑線行走的循跡自走車。
- 操作 MoonCar 需要載入對應的擴充積木,請先參考:載入 MoonCar 的程式積木
- 更多資訊:ICShop MoonCar 官方網站
偵測是否碰到黑線
使用 MoonCar 的「循跡感測器數值」積木,透過 LED 顯示是否碰到黑線。
循跡感測器使用兩顆 IR 感測器,透過發射紅外線訊號,偵測是否碰到黑線,如果沒有碰到黑線,紅外線會反射,如果碰到黑線,紅外線會被吸收而不會反射。
感測器的數值,如果左右都碰到為 0,左邊碰到為 1,右邊碰到為 2,左右都碰到為 3。
循跡自走車 ( 簡易版 )
根據循跡感測器的數值,就能編輯循跡自走車的程式:
- 在黑線上 ( 數值 0 ):MoonCar 往前直走。
- 右輪超線 ( 數值 1 ):MoonCar 左轉回到線上。
- 左輪超線 ( 數值 2 ):MoonCar 右轉回到線上。
- 離開黑線 ( 數值 3 ):MoonCar 後退回到線上。
這種做法適用於「轉彎弧度小」的循跡軌道,只要轉彎弧度不要太大,MoonCar 都能順利沿著黑線移動。
循跡自走車 ( 直角校正版 )
如果使用「簡單版」的循跡程式,當遇到「直角」或「銳角」軌道時,就會發生自走車亂走的狀況,因此必須要在離開黑線時 ( 數值 3 ),加入進一步的判斷:
- 使用「有次數」的迴圈,讓 MoonCar 「原地往右」自轉,每次迴圈暫停 100 毫秒。
- 當自轉碰到黑線時,立刻跳出迴圈 ( 就會停止自轉 )。
- 如果往右自轉沒有碰到黑線,就讓 MoonCar「原地往左」自轉兩倍的次數。
- 當自轉碰到黑線時,立刻跳出迴圈 ( 就會停止自轉 )。
加入判斷後的 MoonCar,不論軌道中出現直角還是銳角,甚至是遇到黑線末端,都仍然可以順利的沿著黑線移動。
範例解答
- 範例解答:MoonCar 循跡自走車 ( 簡易版 )
- 範例解答:MoonCar 循跡自走車 ( 直角校正版 )
延伸練習
如果已經熟悉了 MoonCar 循跡自走車的原理,還可以嘗試更多好玩的作法:
設計更多更複雜的路線,挑戰循跡自走車的程式邏輯。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~