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'
}
}
|
|