Controlling 2 Servo Motors using Arduino Board with code | Multiple Servo motor controlling with code.

Controlling 2 Servo Motors using Arduino Board

Controlling 2 Servo Motors using Arduino Board
Two Servo Motors Connection using Arduino Board


This code is to control two servo motor movements using an Arduino Uno with a 90-degree angle change for both servo motors simultaneously.


Requirements


  1. Arduino Board
  2. 2 Servo Motors
  3. 220 ohms Resistors (2)
  4. Jumper Wires
  5. Arduino programming cable



Motor used

 

Tower Pro SG90 Servo Motor - 9 gms Mini/Micro Servo Motor

The servo motors usually provide control over the 180° range.

 

Tower Pro SG90 Servo Motor
Tower Pro SG90 Servo Motor



Specifications

  1. Operating Voltage of servo Motor - 3V to 7.2V
  2. Motor torque @4.8V - 1.2 kg-cm
  3. Motor torque @6.6V - 1.6 kg-cm
  4. Servo motor Gear Type - Plastic
  5. Motor Weight - 9gms

Note- To change the angle of servo motor just change angle of degree from 0-180 in code.


In this code, we first include the Servo.h library. Then we declare two servo motor objects, servo1, and servo2.

In the setup function, we attach the servos to PWM pins 5 and 6 on the Arduino Uno.

In the loop function, we first set servo1 to 90 degrees and servo2 also to 90 degrees using the write method. We then wait for 1 second using the delay function.

Next loop, we set servo1 to 0 degrees and servo2 also to 0 degrees. Again, we wait for 1 second using the delay function.

This sequence of setting the two servos to different angles and then waiting is repeated in a loop, so the servos will continue to move back and forth between their respective positions
.
Note that you may need to adjust the angles and delay times to suit your specific needs. Also, make sure to connect the power and ground pins of the servos to the appropriate pins on the Arduino, as well as the signal pins to pins 5 and 6 in this example.

Code 

Servo motor Arduino code 90 degrees Rotation


#include <Servo.h>

Servo servo1;
Servo servo2;

void setup() {
  servo1.attach(5); // attach servo to pin 5
  servo2.attach(6); // attach servo to pin 6
}

void loop() {
  servo1.write(90); // set servo1 to 90 degrees
  servo2.write(90); // set servo2 to 90 degrees
  delay(1000); // wait for 1 second
  servo1.write(0); // set servo1 to 0 degrees
  servo2.write(0); // set servo2 to 0 degrees
  delay(1000); // wait for 1 second
}

Servo motor Arduino code 180 degrees Rotation


#include <Servo.h>

Servo servo1;
Servo servo2;

void setup() {
  servo1.attach(5); // attach servo to pin 5
  servo2.attach(6); // attach servo to pin 6
}

void loop() {
  servo1.write(180); // set servo1 to 180 degrees
  servo2.write(180); // set servo2 to 180 degrees
  delay(1000); // wait for 1 second
  servo1.write(0); // set servo1 to 0 degrees
  servo2.write(0); // set servo2 to 0 degrees
  delay(1000); // wait for 1 second
}


Controlling 3 Servo Motors using Arduino Board

Controlling 3 Servo Motors using Arduino Board with code

Code 1
#include 

Servo servo1;  // create servo object to control a servo
Servo servo2;
Servo servo3;

int pos1 = 0;    // variable to store the servo position
int pos2 = 0;
int pos3 = 0;

void setup() {
  servo1.attach(5);  // attaches the servo on pin 9 to the servo object
  servo2.attach(6);
  servo3.attach(9);
}

void loop() {
  // move servo 1
  for (pos1 = 0; pos1 <= 180; pos1 += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree
    servo1.write(pos1);              // tell servo to go to position in variable 'pos1'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos1 = 180; pos1 >= 0; pos1 -= 1) { // goes from 180 degrees to 0 degrees in steps of 1 degree
    servo1.write(pos1);              // tell servo to go to position in variable 'pos1'
    delay(15);                       // waits 15ms for the servo to reach the position
  }

  // move servo 2
  for (pos2 = 0; pos2 <= 180; pos2 += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree
    servo2.write(pos2);              // tell servo to go to position in variable 'pos2'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos2 = 180; pos2 >= 0; pos2 -= 1) { // goes from 180 degrees to 0 degrees in steps of 1 degree
    servo2.write(pos2);              // tell servo to go to position in variable 'pos2'
    delay(15);                       // waits 15ms for the servo to reach the position
  }

  // move servo 3
  for (pos3 = 0; pos3 <= 180; pos3 += 1) { // goes from 0 degrees to 180 degrees in steps of 1 degree
    servo3.write(pos3);              // tell servo to go to position in variable 'pos3'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos3 = 180; pos3 >= 0; pos3 -= 1) { // goes from 180 degrees to 0 degrees in steps of 1 degree
    servo3.write(pos3);              // tell servo to go to position in variable 'pos3'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}



Code2

#include 

Servo servo1; // create servo object to control servo1
Servo servo2; // create servo object to control servo2
Servo servo3; // create servo object to control servo3

void setup() {
  servo1.attach(9); // attaches the servo on pin 9 to the servo1 object
  servo2.attach(10); // attaches the servo on pin 10 to the servo2 object
  servo3.attach(11); // attaches the servo on pin 11 to the servo3 object
}

void loop() {
  servo1.write(90); // set servo1 to mid position
  servo2.write(45); // set servo2 to a 45 degree position
  servo3.write(135); // set servo3 to a 135 degree position
  delay(1000); // wait for 1 second

  servo1.write(0); // set servo1 to minimum position
  servo2.write(90); // set servo2 to mid position
  servo3.write(180); // set servo3 to maximum position
  delay(1000); // wait for 1 second

  servo1.write(180); // set servo1 to maximum position
  servo2.write(135); // set servo2 to a 135 degree position
  servo3.write(0); // set servo3 to minimum position
  delay(1000); // wait for 1 second
}

Controlling 4 Servo Motors using Arduino Board with Code

Controlling 4 Servo Motors using Arduino Board with code

#include 

Servo servo1; // create servo object to control servo1
Servo servo2; // create servo object to control servo2
Servo servo3; // create servo object to control servo3
Servo servo4; // create servo object to control servo4

void setup() {
  servo1.attach(5); // attaches the servo on pin 9 to the servo1 object
  servo2.attach(6); // attaches the servo on pin 10 to the servo2 object
  servo3.attach(9); // attaches the servo on pin 11 to the servo3 object
  servo4.attach(10); // attaches the servo on pin 12 to the servo4 object
}

void loop() {
  servo1.write(0); // set servo1 to minimum position
  servo2.write(45); // set servo2 to a 45 degree position
  servo3.write(90); // set servo3 to mid position
  servo4.write(135); // set servo4 to a 135 degree position
  delay(1000); // wait for 1 second

  servo1.write(90); // set servo1 to mid position
  servo2.write(90); // set servo2 to mid position
  servo3.write(0); // set servo3 to minimum position
  servo4.write(180); // set servo4 to maximum position
  delay(1000); // wait for 1 second

  servo1.write(180); // set servo1 to maximum position
  servo2.write(135); // set servo2 to a 135 degree position
  servo3.write(90); // set servo3 to mid position
  servo4.write(45); // set servo4 to a 45 degree position
  delay(1000); // wait for 1 second

  servo1.write(90); // set servo1 to mid position
  servo2.write(0); // set servo2 to minimum position
  servo3.write(180); // set servo3 to maximum position
  servo4.write(90); // set servo4 to mid position
  delay(1000); // wait for 1 second
}

Controlling 5 Servo Motors using Arduino Board with Code

Controlling 5 Servo Motors using Arduino Board with code


#include 

Servo servo1; // create servo object to control servo1
Servo servo2; // create servo object to control servo2
Servo servo3; // create servo object to control servo3
Servo servo4; // create servo object to control servo4
Servo servo5; // create servo object to control servo5

void setup() {
  servo1.attach(5); // attaches the servo on pin 9 to the servo1 object
  servo2.attach(6); // attaches the servo on pin 10 to the servo2 object
  servo3.attach(9); // attaches the servo on pin 11 to the servo3 object
  servo4.attach(10); // attaches the servo on pin 12 to the servo4 object
  servo5.attach(11); // attaches the servo on pin 13 to the servo5 object
}

void loop() {
  servo1.write(0); // set servo1 to minimum position
  servo2.write(45); // set servo2 to a 45 degree position
  servo3.write(90); // set servo3 to mid position
  servo4.write(135); // set servo4 to a 135 degree position
  servo5.write(180); // set servo5 to maximum position
  delay(1000); // wait for 1 second

  servo1.write(90); // set servo1 to mid position
  servo2.write(90); // set servo2 to mid position
  servo3.write(0); // set servo3 to minimum position
  servo4.write(180); // set servo4 to maximum position
  servo5.write(90); // set servo5 to mid position
  delay(1000); // wait for 1 second

  servo1.write(180); // set servo1 to maximum position
  servo2.write(135); // set servo2 to a 135 degree position
  servo3.write(90); // set servo3 to mid position
  servo4.write(45); // set servo4 to a 45 degree position
  servo5.write(0); // set servo5 to minimum position
  delay(1000); // wait for 1 second

  servo1.write(90); // set servo1 to mid position
  servo2.write(0); // set servo2 to minimum position
  servo3.write(180); // set servo3 to maximum position
  servo4.write(90); // set servo4 to mid position
  servo5.write(135); // set servo5 to a 135 degree position
  delay(1000); // wait for 1 second
}
Thank You!
Have A Great Day!