我正在尝试使用编程语言 NBC(下一个字节码)读取乐高 NXT 机器人的超声波传感器读数。它在乐高网站上说传感器读数范围为 0 -255 厘米,但是当我输出传感器数据时,有时会得到高于 255 的值;这通常发生在我的传感器读取值 255 时;然后它读取大约 170 - 900 我不知道它为什么这样做。这是我的代码:(我首先读取传感器数据,然后让机器人旋转 45 度并无限期地重复,以检查数据是如何被读取的。)
#include "NXTDefs.h"
// have the robot stay still and keep track of all the distances when turning around.
dseg segment
Distance udword 0
dseg ends
thread main
SetSensorUltrasonic(IN_4)
Forever:
ReadSensorUS(IN_4,Distance)
NumOut(0,10,Distance)
wait 1000
RotateMotor(OUT_B,100,180)
ClearSensor(IN_4)
ResetSensor(IN_4)
set Distance,0
jmp Forever
exit
endt