Table 4-1. NQC Sensor Modes
Configuration
Sensor Type
SENSOR_TOUCH
Touch
SENSOR_LIGHT
Light
SENSOR_ROTATION
Rotation
SENSOR_CELSIUS
Temperature
SENSOR_FAHRENHEIT
Temperature
SENSOR_PULSE
Touch
SENSOR_EDGE
Touch
The actual sensor value can be read using SENSOR_1, SENSOR_2, and SENSOR_3. These are shorthand for the following command:
SensorValue(const input)
This command returns the current value of the given input, which should be 0, 1, or 2, for input 1, input 2, and input 3 respectively. The values returned from an input depend on the input's
configuration and are described in Table 4-1.
SENSOR_1
,
SetSensor()
. Their second purpose is to retrieve values from the inputs. Thus, there are two distinct uses for
The SENSOR_PULSE and SENSOR_EDGE configurations are variations on SENSOR_TOUCH. The SENSOR_PULSE configuration counts the times the touch sensor has been pressed, while
SENSOR_EDGE counts the transitions from on to off and from off to on. When you read the value of an input in one of these configurations, the input value is the accumulated count.
The configurations that keep a count can be reset with a call to ClearSensor() (as shown in Table 4-1):
ClearSensor(expression sensor)
This command resets the current count for the given input to 0.
Edges and Pulses
If you examine the output of a touch sensor, over time, it looks something like this:
Input Value
1 (pressed) or 0 (not pressed)
0 (dark) to 100 (bright)
16 units per full rotation
Celsius degrees times 10
Fahrenheit degrees times 10
Count of presses
Count of state transitions
SENSOR_2
, and
SENSOR_3
actually have a dual purpose in life. Their first purpose is to identify the inputs on the RCX to commands like
ClearSensor()
-
-
yes
-
-
yes
yes
SENSOR_1
,
SENSOR_2
, and
SENSOR_3
.
Page 62
Need help?
Do you have a question about the MINDSTORMS Robots and is the answer not in the manual?