循迹自走车
这篇教学会介绍利用 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 循迹自走车的原理,还可以尝试更多好玩的作法:
设计更多更复杂的路线,挑战循迹自走车的程序逻辑。
微信扫码关注
抖音扫码关注