在连接好电脑和Krobot小车后,打开mblock软件的机器人模块部分,其中的mbot中有一个积木能够测得小车与障碍物之间的距离,通过引用该模块编写程序可以实现小车的避障。事实上,该模块控制的是小车上的超声波传感器,而超声波传感器可以通过超声波发射后碰到障碍物返回的时间来计算出障碍物与小车的距离

Krobot采用的超声波传感器连接的是主板上的接口3,其模块图和实物图如下:

①:模块图

1

②:实物图

7

超声波传感器可以测得与障碍物的距离,但是在mblock中我们想要得到这个距离的具体数值需要进行“翻译”,即用一个变量的值来读取这个距离,可用4模块实现。要实时测得超声波传感器(雷达)与障碍物的距离,可以采用如下的小程序:

2

要想小车能够自动躲避障碍,我们需要一个程序来实现如下的功能: ①:当小车距离障碍物较远时,小车向前行驶;②:当小车距离障碍物较近时,使小车向左或者向右转弯;③:当小车距离障碍物很近时(此时即使转弯也可能导致撞到障碍物),使小车向后退。根据要求编写如下的小程序来实现避障。

3

程序编写完成后,测试小车的避障性能需要进行脱机操作,以下是脱机操作的几个步骤:

 

①:串口连接好电脑与小车后,将原程序的2换成3如下图:

1

②:点击软件右上方的1,等待程序上传,上传完成后会出现提示。如下图:

5

③:上传完成后即可进行程序测试了,如果需要修改可以按上述的步骤进行再上传,如果需要恢复到脱机之前的程序可以在连接好小车后点击恢复出厂程序即可。

8

教学课件:第7课时 超声波自动躲障碍

教学讲义:第七课时 超声波自动躲障碍

示例程序:第七课 超声波自动躲障碍