我正嘗試使用編程語言NBC(Next Byte Code)讀取樂高NXT機器人的超聲波傳感器讀數。它在樂高網站上表示,傳感器讀數範圍從0到255釐米,但是當我輸出傳感器數據時,有時我會得到高於255的值;這通常發生在我的傳感器讀取值爲255時;之後它讀取大約170 - 900我不知道它爲什麼這樣做。這裏是我的代碼:(我第一次在傳感器數據讀取然後讓機器人轉45度,無限重複只是爲了研究如何在數據被讀取。)樂高NXT超聲波傳感器的輸出值
#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