我正在尝试使用NBC(下一字节代码)在NXT上创建简单版本的VFH(矢量场直方图)。为此,我需要准确测量机器人和物体之间的距离。由于NXT可以以厘米为单位显示距离,我想在程序中以厘米为单位编程距离?由于没有默认的厘米读数(或者有?),可以这样做还是必须使用默认的传感器值?如果可以,我该怎么办?如果没有,我怎样才能将超声波传感器读数转换成厘米读数?
提前致谢。
答案 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。
注意,虽然传感器不是很准确!特别是如果你在移动时阅读它。因此,读数中会出现很多错误和噪音。