Programming for sensor input:
To have a program act on incoming sensor input,
the program must have a way of monitoring the incoming information. For
example, if a program is set to run one way if a touch sensor is pressed
and another way if it’s not, then the program must have a way of checking
whether or not the sensor is pressed.
RCX Code offers several ways to obtain sensor
input, using Stack Decision Makers and Sensor Watchers.
Stack Decision Makers
The Robotics Invention System places blocks that monitor incoming
sensor information in several bins—Wait, Repeat, Yes or No, and Sensors.
Since our activities are organized around kinds of sensors rather
than around kinds of blocks, we’ve decided to cluster all sensor
blocks that can be embedded in a stack into one group that we called Stack
Decision Makers. These include the Wait Until, Repeat While,
Repeat Until, and the Yes or No blocks. We called them Stack
Decision Makers: Stack because they are always part of a stack, and
Decision Makers because when it’s their turn to execute, the
program has a decision to make—to wait, to execute one branch or another,
or to continue to do what it has been doing.
Makers make a program branch, repeat actions, or wait for input. These include
the Yes or No block for branching, the Repeat While
and Repeat Until for repeating a set of commands based on sensor
input, and the Wait Until block for having a program wait until a
certain condition is met and then executing the commands that fall under
also check for
sensor input, but they are not embedded in a stack of commands. They are
connected to the program at the top level (to the program block). At this
level, Sensor Watchers monitor the sensors all the time (with preset
intervals), checking for input repeatedly, while other parts of the
program continue to run. With Sensor Watchers, a program can monitor up to
9 stacks, each with its own watcher.