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 #75 background imageLoading...
Page #75 background image
if (SENSOR_2 > LIGHT2) {
toggle();
Wait(TIMEOUT);
if (SENSOR_2 > LIGHT2) {
toggle();
Wait(TIMEOUT 2);
}
}
}
}
sub toggle() {
if (state == LEFT) {
OnRev(OUT_A);
OnFwd(OUT_C);
state = RIGHT;
}
else {
OnFwd(OUT_A);
OnRev(OUT_C);
state = LEFT;
}
}
The main task performs three important initializations which I haven't mentioned yet. First, main initializes the value of the state variable. It just uses LEFT
Page 79
arbitrarily. Next, main configures input 2 for a light sensor. Finally, it starts the lightWatcher task.
Using Two Light Sensors
In this section, I'll present an NQC program that works with the two light sensor version of Trusty. As you may recall, programming this robot in RCX Code was cumbersome.
The programming is a lot cleaner in NQC. It's pretty straightforward to translate Table 3-1 into source code. The basic strategy is to use a state variable to represent the four states of the robot,
represented by the four lines of Table 3-1. Then one task examines the sensors and updates the state variable. Another task examines the state variable and sets the motors appropriately.
The four possible states are represented by constant values. A fifth value, INDETERMINATE, is used when one or both of the light sensor values is not in the dark or light range:
#define BOTH_ON 3
#define LEFT_ON 1
#define RIGHT_ON 2
#define BOTH_OFF 0
#define INDETERMINATE 255
The main task simply tests the value of the state variable and sets the motors accordingly. No action is taken for BOTH_OFF and INDETERMINATE:

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