0

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

提前致谢。

4

1 回答 1

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。

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

于 2012-04-19T10:31:14.187 回答