Quantcast
Channel: Wicked Device Support - Latest posts
Viewing all articles
Browse latest Browse all 651

Motor Shield for Arduino - 6 motors

$
0
0

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

Viewing all articles
Browse latest Browse all 651

Trending Articles