Difference between revisions of "ARDUINO MEGA Functions Motors and Servos"

From ROBOTC API Guide
Jump to: navigation, search
(motor)
Line 1: Line 1:
 
<yambe:breadcrumb>ARDUINO_MEGA_Functions_and_Variables|Functions and Variables</yambe:breadcrumb>
 
<yambe:breadcrumb>ARDUINO_MEGA_Functions_and_Variables|Functions and Variables</yambe:breadcrumb>
 
<br />
 
<br />
 +
 +
The Arduino MEGA has 12 ports available for PWM generation.
 +
 +
Hardware Timing Servo Ports - Pin 2, 3, 5, 6, 7, 8, 11, 12 and 13.
 +
Hardware Timing PWM (H-Bridge Friendly) Ports - Pin 4, 9, 10.
 +
 +
Users can use the "Motors and Sensor Setup" utility (found under the Robot menu) to configure their ports for the various types of motors:
 +
[[File:ArduinoMegaMotorsSensorsSetup.png]]
  
 
{{tl|1|1}}
 
{{tl|1|1}}

Revision as of 14:33, 10 May 2012

ARDUINOFunctions and Variables → ARDUINO MEGA Functions Motors and Servos


The Arduino MEGA has 12 ports available for PWM generation.

Hardware Timing Servo Ports - Pin 2, 3, 5, 6, 7, 8, 11, 12 and 13. Hardware Timing PWM (H-Bridge Friendly) Ports - Pin 4, 9, 10.

Users can use the "Motors and Sensor Setup" utility (found under the Robot menu) to configure their ports for the various types of motors: ArduinoMegaMotorsSensorsSetup.png

Color Key
Function:
Variable:


bMotorReflected

bool bMotorReflected
(bool) Boolean array with one entry for each motor. Indicates that the direction of a motor should be reflected 180 degrees. Useful when mechanical design results in a logical "reversed" condition of a motor.
bMotorReflected[motor_2] = true;   // motor 1 WILL be reflected 180 degrees
bMotorReflected[motor_2] = false;  // motor 1 will NOT be reflected 180 degrees


motor

int motor[tMotor motor]
(int) An array variable with one element for each of the possible motors.

When used with a motor, this command is used to set the speed (-127 to +127) for a motor. Negative values are reverse; positive forward. Zero is stopped.

When used with a servo, this command is used to set the position (-127 to +127) of the servo. Zero is the "center" position of the servo, and -127 to +127 is the range of the servo. Note that your servo may not be able to travel the full -127 to +127 range, so please experiment with smaller values to avoid breaking your servo.

Parameter Explanation Data Type
motor A motor port or name tMotor
motor[motor_2] = 127;   // motor pin 2 is given a power level of 127 (forward)
motor[motor_2] = -127;  // motor pin 2 is given a power level of -127 (reverse)