2012-04-17 105 views
0

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

在此先感谢。

回答

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。

请注意,虽然传感器不是很准确!特别是如果你在移动时阅读它。所以期待读数有很多错误和噪音。

+0

谢谢!这实际上有点帮助! – skyfaerie 2012-04-27 16:09:42

相关问题