#include <Wicked_DCMotor.h> /* int num_motors = 6; /* Wicked_DCMotor motor1(M1); Wicked_DCMotor motor2(M2); Wicked_DCMotor motor3(M3); Wicked_DCMotor motor4(M4); Wicked_DCMotor motor5(M5); Wicked_DCMotor motor6(M6); Wicked_DCMotor *m[] = {&motor1, &motor2, &motor3, &motor4, &motor5, &motor6}; */ int num_odd_motors = 3; Wicked_DCMotor motor1(M1); Wicked_DCMotor motor3(M3); Wicked_DCMotor motor5(M5); Wicked_DCMotor *odd_motors[] = {&motor1, &motor3, &motor5}; int num_even_motors = 3; Wicked_DCMotor motor2(M2); Wicked_DCMotor motor4(M4); Wicked_DCMotor motor6(M6); Wicked_DCMotor *even_motors[] = {&motor2, &motor4, &motor6}; void setup(void){ Serial.begin(115200); Serial.println("Test Motors"); } void loop(void){ // move all motors forward for 5 seconds Serial.println("Moving Motors Forward"); allMotorsForward(); delay(1000); Serial.println("Applying Soft Brake"); allMotorsSoftBrake(); delay(1000); // move all motors backward for 5 seconds Serial.println("Moving Motors Backward"); allMotorsBackward(); delay(1000); Serial.println("Applying Soft Brake"); allMotorsSoftBrake(); delay(1000); // move LEFT motors forward for 5 seconds Serial.println("Moving LEFT Motors Forward"); LeftTurn(); delay(1000); Serial.println("Applying Soft Brake"); allMotorsSoftBrake(); delay(1000); // move RIGHT motors forward for 5 seconds Serial.println("Moving RIGHT Motors Forward"); RightTurn(); delay(1000); Serial.println("Applying Soft Brake"); allMotorsSoftBrake(); delay(1000); } void allMotorsSoftBrake(void){ for(int ii = 0; ii < num_odd_motors; ii++){ odd_motors[ii]->setBrake(BRAKE_SOFT); // soft brake applied } for(int ii = 0; ii < num_even_motors; ii++){ even_motors[ii]->setBrake(BRAKE_SOFT); // soft brake applied } } void allMotorsForward(void){ for(int ii = 0; ii < num_odd_motors; ii++){ odd_motors[ii]->setDirection(DIR_CW); // clockwise odd_motors[ii]->setBrake(BRAKE_OFF); // no brake applied odd_motors[ii]->setSpeed(255); // full speed } for(int ii = 0; ii < num_even_motors; ii++){ even_motors[ii]->setDirection(DIR_CW); // clockwise even_motors[ii]->setBrake(BRAKE_OFF); // no brake applied even_motors[ii]->setSpeed(255); // full speed } } void allMotorsBackward(void){ for(int ii = 0; ii < num_odd_motors; ii++){ odd_motors[ii]->setDirection(DIR_CCW); // counter-clockwise odd_motors[ii]->setBrake(BRAKE_OFF); // no brake applied odd_motors[ii]->setSpeed(255); // full speed } for(int ii = 0; ii < num_even_motors; ii++){ even_motors[ii]->setDirection(DIR_CCW); // counter-clockwise even_motors[ii]->setBrake(BRAKE_OFF); // no brake applied even_motors[ii]->setSpeed(255); // full speed } } void LeftTurn(void){ for(int ii = 0; ii < num_odd_motors; ii++){ odd_motors[ii]->setDirection(DIR_CW); // clockwise odd_motors[ii]->setBrake(BRAKE_OFF); // no brake applied odd_motors[ii]->setSpeed(255); // full speed } for(int ii = 0; ii < num_even_motors; ii++){ even_motors[ii]->setDirection(DIR_CCW); // counterclockwise even_motors[ii]->setBrake(BRAKE_OFF); // no brake applied even_motors[ii]->setSpeed(255); // full speed } } void RightTurn(void){ for(int ii = 0; ii < num_odd_motors; ii++){ odd_motors[ii]->setDirection(DIR_CCW); // counterclockwise odd_motors[ii]->setBrake(BRAKE_OFF); // no brake applied odd_motors[ii]->setSpeed(255); // full speed } for(int ii = 0; ii < num_even_motors; ii++){ even_motors[ii]->setDirection(DIR_CW); // clockwise even_motors[ii]->setBrake(BRAKE_OFF); // no brake applied even_motors[ii]->setSpeed(255); // full speed } }
↧
Motor Shield for Arduino - 6 motors
↧