EasyManua.ls Logo

LEGO MINDSTORMS Robots

LEGO MINDSTORMS Robots
226 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Page 187
SendMessage(MESSAGE_ACKNOWLEDGE);
PlaySound(4);
Wait(800);
ClearMessage();
taggedCommand = COMMAND_NONE;
}
}
}
int motorCommand;
task arbitrate() {
while(true) {
if (cruiseCommand != COMMAND_NONE) motorCommand = cruiseCommand;
if (tagCommand != COMMAND_NONE) motorCommand = tagCommand;
if (avoidCommand != COMMAND_NONE) motorCommand = avoidCommand;
if (taggedCommand != COMMAND_NONE) motorCommand = taggedCommand;
motorControl();
}
}
sub motorControl() {
if (motorCommand == COMMAND_FORWARD)
OnFwd(OUT_A + OUT_C);
else if (motorCommand == COMMAND_REVERSE)
OnRev(OUT_A + OUT_C);
else if (motorCommand == COMMAND_LEFT) {
OnRev(OUT_A);
OnFwd(OUT_C);
}
else if (motorCommand == COMMAND_RIGHT) {
OnFwd(OUT_A);
OnRev(OUT_C);
}
else if (motorCommand == COMMAND_STOP)
Off(OUT_A + OUT_C);
else if (motorCommand == COMMAND_FLOAT)
Float(OUT_A + OUT_C);
}
task main() {
initialize();
cruiseCommand = COMMAND_NONE;
tagCommand = COMMAND_NONE;
avoidCommand = COMMAND_NONE;
taggedCommand = COMMAND_NONE;
start cruise;
start tag;
start avoid;
start tagged;
start arbitrate;
}

Table of Contents

Related product manuals