如何使用NXT超声波传感器读取厘米值?

时间:2012-04-17 17:17:10

标签: nxt lego

我正在尝试使用NBC(下一字节代码)在NXT上创建简单版本的VFH(矢量场直方图)。为此,我需要准确测量机器人和物体之间的距离。由于NXT可以以厘米为单位显示距离,我想在程序中以厘米为单位编程距离?由于没有默认的厘米读数(或者有?),可以这样做还是必须使用默认的传感器值?如果可以,我该怎么办?如果没有,我怎样才能将超声波传感器读数转换成厘米读数?

提前致谢。

1 个答案:

答案 0 :(得分:1)

默认输出是一个字节值,给你厘米。

task main(){
   int DistanceInCm;

   SetSensorLowspeed(IN_4);
   while(true){
     DistanceInCm = SensorUS(IN_4);
     //do something with the value here.
     Wait(800); //or just wait.
   }
}

就这么简单。传感器读数为一个字节(0-255厘米)。但NXC编译器将其转换为动态的int。

注意,虽然传感器不是很准确!特别是如果你在移动时阅读它。因此,读数中会出现很多错误和噪音。