Difference between revisions of "VEX2 Sensors Overview"

From ROBOTC API Guide
Jump to: navigation, search
Line 37: Line 37:
 
{| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;" width="100%" cellpadding="5%" cellspacing="0" border="0"
 
{| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;" width="100%" cellpadding="5%" cellspacing="0" border="0"
 
|-
 
|-
|The NXT Touch Sensor has 2 states, pressed or unpressed.  In code this is represented with a 1 for pressed, and a 0 for unpressed.  There are no other states for this sensor.  Below is a simple program that keeps your program from running until you press the Touch Sensor.
+
|There are 5 main types of Analog Sensors for the VEX CORTEX:
 
|-
 
|-
 
|<syntaxhighlight lang="ROBOTC">
 
|<syntaxhighlight lang="ROBOTC">
Line 64: Line 64:
 
|}
 
|}
 
<br />
 
<br />
 +
 +
=== Reflection ===

Revision as of 16:26, 15 February 2012

Main >> CORTEX >> Sensors Overview


For ROBOTC CORTEX Sensor functions, check out the CORTEX Sensor Functions page!

The VEX 2.0 Cortex is equipped with 20 sensor ports. There are 8 Analog Sensor Ports and 12 Digital Sensor Ports. Note that unlike the VEX - PIC microcontroller, all Analog sensors must be in Analog ports, while all Digital sensors must be in Digital ports.

There are a variety of functions and variables used for configuring these ports and accessing their values.

Configuring sensors can be complicated. ROBOTC has a built-in wizard that can be used to configure the VEX 2.0 Cortex sensors. The wizard contains a number of PC windows that allow you to set the following fields for the sensor:

  • The variable name that you want to assign to the sensor. Using a name like “leftBumper” makes for a more readable program than 'dgtl3'!
  • The port that the sensor is connected to.
  • The type of sensor – touch, quadrature encoder, sonar, line follower, etc.



Analog Sensors

There are 5 main types of Analog Sensors for the VEX CORTEX:
#pragma config(Sensor, S1,     touchSensor,         sensorTouch)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//
 
task main()
{
  while(SensorValue(touchSensor) == 0)  // while the Touch Sensor is inactive (hasn't been pressed):
  {
    // DO NOTHING (wait for press)
  }
  while(SensorValue(touchSensor) == 1)  // while the Touch Sensor is active (pressed):
  {
    // DO NOTHING (wait for release)
  }
 
  // YOUR CODE GOES HERE
                                        // otherwise (the touch sensor has been activated [pressed] ):
  motor[motorB] = 75;                   /* run motors B and C forwards */
  motor[motorC] = 75;                   /* with a power level of 75    */
  wait1Msec(1000);                      // wait 1000 milliseconds (1 second) before moving to further code
}


Reflection