Ich bin neu in der NBC - Programmierung und versuche meinen Lego NXT Brick zu programmieren, um eine Reihe von schwarzem Isolierband zu suchen und zu verfolgen, die ich auf dem Boden habe (ich habe den Lichtsensor vorne und direkt auf den Boden zeigen). Im Moment schaltet sich das Licht ein, aber der Roboter fährt einfach fort, über das Band zu gehen, ohne es zu bestätigen. Ich habe es auch eingerichtet, um zu stoppen und umzudrehen, wenn es gegen eine Wand stößt, die funktioniert. Das einzige, was nicht funktioniert, ist, das schwarze Band zu bestätigen und zu verfolgen, wenn das Licht darüber geht. Kann jemand meinen Code ansehen und mir sagen, wo ich falsch liege?LEGO NXT Brick mit NBC
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
Können Sie unnötige Sounds entfernen, um Ihren Code zu programmieren (um das zu vereinfachen)? Und auch LDD oder zumindest Foto von Ihrem Bot wird nützlich sein, um zu verstehen, wo Sie Sensor gelegen und wie Sie Ihre Räder fahren –
Bearbeitete den Beitrag mit einem Bild von dem, wie der Bot aussieht und nahm die Sound-Teile im Code. – Brett
Wenn ich noch etwas tun muss, um es Ihnen leichter zu machen, mir zu helfen, lassen Sie es mich wissen. Würde mich über Hilfe freuen! – Brett