内容正文:
任务 10:遥控警车
任务目标
理解计时器的概念,掌握 和 模块使用
理解变量在状态或标志记录中的应用,深入理解和掌握变量的用法
完成遥控警车,实现遥控 piBot 的同时警灯不断闪烁的效果
引导
很多人都玩过遥控玩具车,这类玩具车一般都包括遥控和闪烁的功能,在这个
任务中,我们将使用 piBot 打造一辆专属的遥控警车。
搭建
点击图片查看搭建步骤详情。
编程
1. 计时器的理解和使用
要实现警车车灯闪烁的效果,首先需要实现一个闪烁的 RGB 灯,根据前面任务
的内容,很容易想到使用 来完成,在这个任务中,我们学习计时器
功能,使用计时器模块可以实现警灯每 0.2 秒闪烁一次的效果。
在“侦测”分类中,找到 和 模块。计时器用于记录程序运
行的时间,计时器归零可以重新计时,这样就可以很方便的实现精确的延时操作。
为了实现警灯闪烁切换,需要记录上一次的状态,因为,需要用到变量对状态
进行记录,这种思想在编程中经常用到。警灯闪烁的参考示例程序如下:
2. 程序流程图
开始
计时器>0.2?
上键按下? 否 下键按下? 否 左键按下? 否 右键按下
否
是
RGB彩灯状态
=1?
是
将状态设为0
否
将状态设为1
初始化灯状态为0
定时器清零
是
前进
定时器清零
是
后退
是
左转
是
右转
是
灯的状态=1?
将灯设置为状态1
将灯设置为状态
0
否
3. 程序示例
小技巧:为了保证遥控的实时响应,这个程序不能使用 模块来完
成,计时器相对于 的优势在于其不会阻塞程序的运行,但是逻辑相
对复杂一些。
拓展
1. 仔细体会使用定时器完成等待一秒的功能和直接使用 的区别,
可以尝试使用 模块完成遥控警车,并测试效果。
2. 尝试实现一个避障警车或循迹警车。