行驶中的智能小车,如果具备探测地雷并报警的功能,将会极大地提高乘车人员的安全性。这节课,就让我们一起把智能小车化身为“探雷特警”,在行驶中完成探雷任务。
为方便测试,本课中的地雷用黑色的电工胶布替代。要顺利地让智能小车化身为“探雷特警”,需借助以下硬件模块:
巡线传感器,主要利用不同颜色的检测面对光的反射程度不同而导致光敏电阻值变化的原理进行检测。一般情况下,巡线传感器由发光器件(发光二极管)和接收器件(光敏元件)组成。在有效的检测距离内,发光器件发出光线,照射在检测面上,接收器件则接收从检测面反射的光线并将其转换成智能小车能识别的信号。好好搭搭智能小车套件中的“巡线传感器”主要有左、右两个巡线传感器(如图9-2所示)。
除巡线传感器外,要完成本课范例作品的制作,还需学会以下新指令的使用方法:
这条指令主要用于读取巡线传感器测得的值。单击第一个参数的下拉列表,可以选择左或右巡线传感器;单击第二个参数的下拉列表,则可选择巡线传感器连接的端口,有C0、C1和M2共3个端口可供选择。原则上,这条指令不能单独使用,一般仅作为其他指令的一个参数值。
智能小车在没有探测到地雷时,正常行驶;一旦探测到地雷,则停止行驶,并发出警报。具体流程图如下9-3所示:
要制作本课范例作品,首先需知道智能小车在黑色区域和白色区域的巡线值。为此,可以先将智能小车放至白色区域,查看巡线传感器上指示灯的状态,用螺丝刀以逆时针方向拧动传感器上的调节开关,直至指示灯亮起。再将巡线传感器对准黑色区域,如指示灯灭,则说明巡线传感器调节完成。
然后编写如图9-4所示的程序代码,测一测智能小车在黑白区域的巡线值分别是多少。
根据图9-4所示的程序连接好巡线传感器和数码管,并编写相应的程序,编译下载到智能小车中运行,测一测巡线传感器在黑白区域测得的值分别是多少?记录到图9-5所示的表格中。
通过测试可以知道,巡线传感器在黑胶布上时,测得的巡线值为1;在浅色区域时,巡线值为0。因此,判断智能小车探测到地雷的程序可以如下图9-6所示:
判断智能小车是否探测到地雷的程序编写方法是不是只有如图9-6所示的这一种?如果还有其他编写方法,请把相应的程序记录在下面空白处。
根据流程图,如果智能小车探测到了地雷,那么停止行驶,并发出警报声,否则保持直行。相应的程序代码如下图9-7所示:
修改如图9-7所示的程序代码,让警报声有节奏地响起,同时LED灯随着警报声一亮一灭,以提高路人的警惕性。
智能小车在探得一个地雷后,能继续向前行驶探测其他地雷吗?
请编写相应程序,让智能小车探得地雷后,发出警报声、开启警示灯、显示地雷数,然后继续向前行驶。比一比,谁的智能小车能在最短时间内按要求探测完三颗地雷。