我是NBC编程的新手,我正在尝试编程我的Lego NXT Brick来搜索和跟踪我在地板上的黑色电子胶带线(我在前面有光传感器,直接指向地面).截至目前,灯亮了,但机器人只是继续越过磁带而没有承认它.如果碰到墙壁,我也会把它设置为停下来转身.唯一不起作用的是当光线照过它时,确认并跟随黑带.任何人都可以看看我的代码并告诉我哪里出错了?
dseg segment Switch sword 0 Volume sword 0 Level sword 0 Distance sword 0 dseg ends thread main SetSensorTouch(IN_1) // touch sensor connected to IN_1 SetSensorSound(IN_2) // sound sensor connected to IN_2 SetSensorLight(IN_3) // Light Sensor connected to input 3 SetSensorUltrasonic(IN_4) // Ultrasonic Sensor connected to input 4 OnFwd(OUT_BC,80) // move forward CheckSensor: ReadSensor(IN_1,Switch) // reads current value of sensor (0/1) brtst EQ, CheckSensor, Switch // branch to CheckSensor if Switch = 0 // i.e., exit the loop when Switch = 1 OnRev(OUT_BC,40) // move backward wait 500 OnFwd(OUT_B,20) // turn wait 500 jmp CheckSound CheckSound: ReadSensor(IN_2, Volume) brcmp GT, ExitCheck, Volume, 60 jmp CheckSound ExitCheck: OnFwd(OUT_BC,60) jmp CheckLight CheckLight: ReadSensor(IN_3,Level) brcmp LT, CheckLight, Level, 60 ReadSensorUS(IN_4,Distance) brcmp LT, EndPoint, Distance, 30 OnFwd(OUT_C, 10) FindPath: ReadSensor(IN_3,Level) brcmp GTEQ, FindPath, Level, 60 OnFwd(OUT_BC, 60) jmp CheckLight EndPoint: Off(OUT_BC) wait 1500 endt