找到合适的线路!
![lesson-header](/v3/assets/blt293eea581807678a/bltaa346c21e059d3c0/5ec8e6fbd6d1293eb9f01c12/lesson-header.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
赢得汽车比赛很容易。通常,你们只需要保持最快速度并沿着自己的赛道前进即可。
沿线前进会有帮助吗?
搭建这个配有颜色传感器的驱动底座
![student-02](/v3/assets/blt293eea581807678a/blt66f1db427e177243/611231ac7b2aa336d6ba3dca/student-02.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
我们开始吧。
直线行驶并停止在直线处。
![student-03](/v3/assets/blt293eea581807678a/blta540d9ae498e5f24/611231d8ac7fb61a3678eb33/student-03.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
尝试第一个程序栈并描述你们的发现。
第一个程序栈将使驱动底座停止在与其移动方向垂直的直线处。
这条直线可以:
- 画在纸上的黑线
- 黑色胶带
- 较大的黑色乐高积木
沿直线行驶。
![student-04](/v3/assets/blt293eea581807678a/blt6d825f8e54af3d09/63199c3310c00a57bb0cca39/student-04.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
尝试第二个程序栈并描述你们的发现。
如果颜色传感器检测到黑线边缘时,驱动底座将转向空白区域的方向。
当颜色传感器未检测到黑线边缘时,驱动底座将转向与空白区域相反的方向。
持续重复这两个动作。
![student-03-hint](/v3/assets/blt293eea581807678a/bltb1e8ef2d7e43099b/63199c5810c00a57bb0cca3b/TC3-hint_4.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
也许你已经注意到了,我们正在以右 50 度和左 50 度来控制马达。你知道为什么吗?
沿线移动时,必须使一个电机移动,另一个电机停止,以使驱动底座向前移动。如果驱动底座转弯太急,就会在原地来回转动。
优化程序,使其速度更高。
![student-05](/v3/assets/blt293eea581807678a/blt0f11bacdefb7e8a1/6112323fae8b1139431e16a9/student-05.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
有很多方法可用于编制一段高效的巡线程序。
组织一次比赛,看谁的驱动底座跑得最快!
引入 “IF ELSE” 模块提高程序的执行效率。
持续探究你的巡线程序,最终你会惊讶于自己所提升的运行速度!
编写程序可以参照如下示例:
你是怎样做到的?
![student-06](/v3/assets/blt293eea581807678a/bltbb0837a57ed1e9b9/61123170ec664136d523c0e0/student-06.png?locale=zh-cn&auto=webp&format=jpeg&width=1800&quality=90&fit=bounds)
哪些方面做的不错?哪些方面还有进步空间?
太棒了!现在,你们应该能把自己的驱动底座移动到赛场上几乎任何地方了。