Page 72 - The Unofficial Guide to Lego Mindstorms Robots
P. 72

61


          SetSensor(expression sensor, const configuration)
          T his command tells the RCX how to configure the given input. Valid values for sensor are SENSOR_1, SENSOR_2, and
          SENSOR_3, which represent the three inputs of the RCX. The sensor configuration s are detailed in Table 4-1. See Appendix
          A , Finding Parts and Programming Environments, which lists the sensors that are available for the RCX.

          Table 4-1. NQC Sensor Modes

          Configuration         Sensor        Type Input                   Value  ClearSensor()

          SENSOR_TOUCH      Touch              1 (pressed) or 0 (not pressed)      -

          SENSOR_LIGHT      Light              0 (dark) to 100 (bright)            -

          SENSOR_ROTATION    Rotation          16 units per full rotation          yes

          SENSOR_CELSIUS     Temperature      Celsius degrees times 10         -

          SENSOR_FAHRENHEIT  Temperature      Fahrenheit degrees times 10        -

          S ENSOR_PULSE      Touch            Count of  presses            yes

          SENSOR_EDGE          Touch           Count of state transitions         yes

          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 i nput's configuration and are described in Table 4-1.



                      SENSOR_1, SENSOR_2, a     nd SENSOR_3 actually have a dual  purpose in life.  Their  first  purpose is to
                          identify the inputs on the RCX to co mmands like

                   SetSens or(). Their second purpose is to   ret rieve values  from  the inputs. Thus, there are two distinct uses for

                 SENSOR_1, SENSOR_2, and SENSOR_3.



          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.
   67   68   69   70   71   72   73   74   75   76   77