Difference between revisions of "ARDUINO MEGA Functions Sensors"

From ROBOTC API Guide
Jump to: navigation, search
(Information)
(Analog)
Line 9: Line 9:
  
 
=== Analog ===
 
=== Analog ===
'''No Sensor''' - No Sensor Attached. Pin is disabled.
+
{|
 
+
|-
'''Analog''' - Standard Analog Input (0-1023), no modification to raw value.
+
|'''No Sensor'''
 
+
|No Sensor Attached. Pin is disabled.
'''Potentiometer''' - Standard Analog Input (0-1023), no modification to raw value.
+
|-
 
+
|'''Analog'''
'''Light Sensor''' - Standard Analog Input (0-1023), no modification to raw value.
+
|Standard Analog Input (0-1023), no modification to raw value.
 
+
|-
'''Line Follower''' - Standard Analog Input (0-1023), no modification to raw value.
+
|'''Potentiometer'''
 
+
|Standard Analog Input (0-1023), no modification to raw value.
'''Gyro Sensor''' - Support for VEX Gyro Sensor. See documentation here.
+
|-
 
+
|'''Light Sensor'''
'''Accelerometer''' - Support for VEX Accelerometer. See documentation here.
+
|Standard Analog Input (0-1023), no modification to raw value.
 
+
|-
'''Digital In''' - Use an analog pin as a digital input (not currently supported)
+
|'''Line Follower'''
 
+
|Standard Analog Input (0-1023), no modification to raw value.
'''Digital Out''' - Use an analog pin as a digital output (not currently supported)
+
|-
 +
|'''Gyro Sensor'''
 +
|Support for VEX Gyro Sensor. See documentation here.
 +
|-
 +
|'''Accelerometer'''
 +
|Support for VEX Accelerometer. See documentation here.
 +
|-
 +
|'''Digital In'''
 +
|Use an analog pin as a digital input (not currently supported)
 +
|-
 +
|'''Digital Out'''
 +
|Use an analog pin as a digital output (not currently supported)
 +
|}
 
<br />
 
<br />
  

Revision as of 20:16, 11 May 2012

ARDUINOFunctions and Variables → ARDUINO MEGA Functions Sensors


Color Key
Function:
Variable:


Information

The Arduino MEGA has 16 analog sensor ports and 53 digital sensor ports.

Analog

No Sensor No Sensor Attached. Pin is disabled.
Analog Standard Analog Input (0-1023), no modification to raw value.
Potentiometer Standard Analog Input (0-1023), no modification to raw value.
Light Sensor Standard Analog Input (0-1023), no modification to raw value.
Line Follower Standard Analog Input (0-1023), no modification to raw value.
Gyro Sensor Support for VEX Gyro Sensor. See documentation here.
Accelerometer Support for VEX Accelerometer. See documentation here.
Digital In Use an analog pin as a digital input (not currently supported)
Digital Out Use an analog pin as a digital output (not currently supported)


Digital

No Sensor - No Sensor Attached. Pin is disabled.

Touch - Digital Input for touch sensors. (reversed from "Digital In" command)

Quadrature Encoder (Two Pins) - Support for VEX Quadrature Encoder. See documentation here.

LED to Vcc - Pin configured as digital output with reversed logic (for LEDs) (0 = LED on, 1 = LED off)

Digital In - Pin configured as digital input with internal "Pull-Up" resistor enabled.

Digital Out - Pin configured as digital output.

Digital High Inpedance - Pin configured as digital input without the "Pull-Up" resistor enabled.

Sonar [Ping] - Support for Parallax Ping Sonar Sensor (returns distance in cm, mm, inches, raw)

Sonar [SRP-04] (Two Pins) - Support for VEX Robotics Sonar Sensor (returns distance in cm, mm, inches, raw)

SensorType

TSensorTypes SensorType[tSensors sensor]
(TSensorTypes) The SensorType array is used to manually specify what type of sensor is connected to a specific pin. Most users should not have to use this functionality and should use the Motors and Sensor Setup instead.


Parameter Explanation Data Type
sensor A sensor port or name tSensors


SensorType[dgtl3] = sensorTouch;  // set digital pin #3 to be of type sensorTouch


SensorValue

word SensorValue[tSensors sensor]
(word) This array value will return and modify the value of the sensor. When a pin is set as an "input" the SensorValue array command will return the value from the sensor attached to that pin. When a pin is set as an "output", the SensorValue array can be written to set the output value of the pin (typically Digital Outs will be set to 0 for Low and 1 for High).


Parameter Explanation Data Type
sensor A sensor port or name tSensors


while(SensorValue[dgtl6] == 0) //Loop while digital pin #6 is low (set to zero)
{
   motor[motor_2] = 63;   // Motor pin #2 is run at half (63) power forward
   motor[motor_3]  = 63;   // Motor pin #3 is run at half (63) power forward
}
Writing to digitalOut
#pragma config(Sensor, dgtl24, dOut,           sensorDigitalOut)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//
task main()
{
  while(true)               // infinite loop to keep the program running
  {
    SensorValue[dOut] = 1;  // set the value of 'dOut' to 1
    wait1Msec(1000);        // wait 1 second
    SensorValue[dOut] = 0;  // set the value of 'dOut' to 0
    wait1Msec(1000);        // wait 1 second
  }
}
Reading from digitalIn
#pragma config(Sensor, dgtl25, dIn,            sensorDigitalIn)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//
task main()
{
  int incomingSensor;                     // create int variable, 'incomingSensor'
  while(true)                             // infinite loop to keep the program running
  {
    incomingSensor = SensorValue[dIn];  // set the value of 'incomingSensor' to the value of 'dIn'
  }
}