EasyManuals Logo

LEGO MINDSTORMS Robots User Manual

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
Page #165 background imageLoading...
Page #165 background image
int tagCommand;
task tag() {
while(true) {
if (BUMP_SENSOR == 1) {
// Say tag!
SendMessage(MESSAGE_TAG);
// Coast to a stop.
tagCommand = COMMAND_FLOAT;
Wait(20);
// Check to see if we got an acknowledgement.
if (Message() == MESSAGE_ACKNOWLEDGE) {
The endless loop isn't strictly necessary, but it makes cruise look more like the other behaviors.
Page 182
PlaySound(3);
SetPower(OUT_B, score);
On(OUT_B);
if (score < 7) score = score + 1;
}
else PlaySound(2);
ClearMessage();
// Back up.
tagCommand = COMMAND_REVERSE;
Wait(50);
// Turn left or right for a random duration.
if (Random(1) == 0) tagCommand = COMMAND_LEFT;
else tagCommand = COMMAND_RIGHT;
Wait(Random(200));
tagCommand = COMMAND_NONE;
}
else tagCommand = COMMAND_NONE;
}
}
tag acts only if the bumper is pressed. Otherwise, it sets tagCommand to a special value, COMMAND_NONE, which indicates that tag is not interested in controlling the robot.
When the bumper is pressed, tag sends out an IR message, using SendMessage(), to the other robot. Then it waits for a reply by repeatedly calling Message(). The robot also backs up and
turns to the left or right to move around the robot it has just tagged. This movement is accomplished by setting the tagCommand variable.
If tag receives an acknowledgement from the other robot, it adds one to its score. There's a bit of a hack here to keep score. The power setting of output B is used to contain the robot's current
score. The initialization code for RoboTag (presented later) tells the RCX to view the output B setting:
SelectDisplay(5);
All tag does is set the power of output B to show the current score on the display:
SetPower(OUT_B, score);
On(OUT_B);
if (score < 7) score = score + 1;
Of course, the counter runs from only 1 to 7, so the maximum score is 7.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the LEGO MINDSTORMS Robots and is the answer not in the manual?

LEGO MINDSTORMS Robots Specifications

General IconGeneral
Product LineLEGO MINDSTORMS
CategoryToy
Age Range10+
Batteries RequiredYes
Memory64 MB RAM, 16 MB Flash
ConnectivityBluetooth, USB
SensorsTouch, Color, Gyro
Battery TypeAA
Interactive FeaturesProgrammable, Remote Control
App CompatibilityiOS, Android
ProcessorARM9
Pieces Count601
Battery Count6
App NameLEGO MINDSTORMS EV3 Programmer App

Related product manuals