我利用二代主控和二代距离传感器编写一段程序:
小车向后运行,直到距离传感器检测到的值>400mm,小车停下来,具体程序如下:
为什么下载后,小车不动呢?
注:距离传感器在车头,朝前。
车头前方有遮挡物吗?你的程序写的判断是距离大于400mm,如果一开始车头前方400mm以内没有遮挡物的话,测距仪检测的数值就是大于400mm,小车就直接停止没问题。建议把判断条件改为小于400mm再试试。
车头前方有障碍物,在主控上查看端口信息是放在离障碍物50mm的地方,条件没有达到大于400mm的要求,按正常情况下应该是向后退一段距离在停,实际情况下没有动。
我将二代的距离传感器,换成一代的声波传感器,同样的程序,是可以实现小车向后运行,直达距离大于400mm,停下来的。
设定转速改为+50%,放在开始下面试试
改成+50并不行。他这个指令有些奇怪,在有第三行和第四行指令的情况下,决定正、反向运行的不是第一、二行指令,而是第三、四行指令功率的正负值。
把设定转速去掉看看是否正常了
试了,也不行。我觉得程序是没有问题的,因为我用一代的距离传感器是可以实现的。换成二代距离传感器就不行了。
只能一点点测试,换另一个二代传感器、在屏幕上实时显示出距离值,或让车前进改成距离小于多少时看能否停下来
在‘当开始’下面增加一条等待的指令,比如等待(0.3)秒,二代测距仪在程序开始的瞬间默认值是最大检测值,因此大于400mm。