文:邱老师

上次课程我们学习了用速度乘以时间计算程小奔移动距离的方法。那么,它能否测量还没有走过的路程距离呢?答案是可以的。

程小奔编程机器人集合了多种传感器,今天我们要使用程小奔机器人的红外测距传感器,它位于小奔前方的颜色红外传感器组之中。传感器组包括有红外传感器、颜色传感器、灰度传感器、环境光强度传感器、反射光强度传感器、红外反射光强度传感器。

程小奔机器人

我们之前的课程已经学习了它的颜色识别传感器,你还记得吗?

红外测距传感器包含发射器和接收器,发射器能够主动发出红外线。红外线遇到物体时发生反射,接收器接收到反射信号后可以根据发射与接收的时间差计算出距离。

程小奔机器人的颜色红外传感器组是多传感器组合成一排,使用者是可以自主上下拨动的,例如将传感器组朝下拨动,就可以让颜色传感器感测地面颜色。而拨动传感器组向前时,就可以使用红外测距传感器测距了。

调试好颜色红外传感器组的方向之后,我们先编写一个按下按钮程小奔就前进,直到红外测距传感器检测到物体时停止运动。

试看程小奔按下按钮后是不是直到接近物体之后就会停止,在这边需要注意的是因为传感器是有一个高度的,识别的物体需要比这个高度再高一些,尽量是一个平面,例如一面墙。

完成之后就要来计算程小奔机器人从出发到停止一共花了多少时间,慧编程将计时器指令放在浅蓝色的感知标签中,如下图红圈所示:

我们就将计时器归零加入到程序一开始做初始化,确定每次都是从零开始计时。并加入紫色的显示标签中的显示指令,在停止运动后显示运动的时间。

最后,再将计时器数据直接拖到显示…直到结束指令当中,就完成了程小奔的计时功能设计。

接下来我们需要将时间转为距离,依照上次的速度公式,我们可以得知以动力50%的速度前进一秒会前进18cm,速度也就是18cm/s。现在得知时间和速度,需要计算距离。用速度乘以时间就可以得到距离了。

最后还有一个问题,程小奔和检测到的物体还有一段距离,我们需要实际测量并且加入,才会知道真的总距离哦。这个感测距离是1.5厘米,所以我们要在程序中加上1.5。

这样就完成了程小奔的测距设计,以下是完整的程序和执行效果

 

我们可以看到,程小奔测量出19.5厘米的距离。

因为计时器的单位为秒,测量只是一个约略值,不适合测量太小的距离,大家可以发挥自己的想象力,拿程小奔来测量不同的距离吧

程小奔是一款普及型编程机器人,如果你喜欢就把它带回家吧!

点击 程小奔 了解更多!