hello i am trying to controls 12 servos (tower pro 9g micro servo) with 2 9 volt batteries. when i comment out the commands for some of the servos it works but when i 5 or more servos are not commented out it does not work any more. the code is below.
#include <Servo.h>
int pos1;
int pos2;
float bigdelayer = 15;
Servo l1top;
Servo l1bot;
Servo l2top;
Servo l2bot;
Servo l3top;
Servo l3bot;
Servo r1top;
Servo r1bot;
Servo r2top;
Servo r2bot;
Servo r3top;
Servo r3bot;
void setup() {
l1top.attach(52,500,2500);//
l1bot.attach(29,500,2500);
l2top.attach(38,500,2500);
l2bot.attach(53,500,2500);//
l3top.attach(35,500,2500);
l3bot.attach(41,500,2500);
r1top.attach(30,500,2500);
r1bot.attach(42,500,2500);
r2top.attach(51,500,2500);//
r2bot.attach(46,500,2500);
r3top.attach(49,500,2500);
r3bot.attach(23,500,2500);
Serial.begin(9600);
//top
l1top.write(90);
l2top.write(90);
l3top.write(90);
l1bot.write(90);
l2bot.write(90);
l3bot.write(90);
//bottom
l1bot.write(90);
l2bot.write(90);
l3bot.write(90);
r1top.write(90);
r2top.write(90);
r3top.write(90);
}
void loop() {
for (pos1 = 70; pos1 <= 110; pos1 += 1){
//left
l1top.write(pos1-10);
l2top.write(pos1-10);
l3top.write(pos1-10);
delay(bigdelayer);
l1bot.write(pos1);
l2bot.write(pos1);
l3bot.write(pos1);
delay(bigdelayer);
//right
r1top.write(pos1);
r2top.write(pos1);
r3top.write(pos1);
delay(bigdelayer);
r1bot.write(pos1);
r2bot.write(pos1);
r3bot.write(pos1);
delay(bigdelayer);
}
for (pos2 = 90; pos2 <= 120; pos2 += 1){
delay(bigdelayer);
}
for (pos1 = 110; pos1 >= 70; pos1 -= 1){
//left
l1top.write(pos1-10);
l2top.write(pos1-10);
l3top.write(pos1-10);
delay(bigdelayer);
l1bot.write(pos1);
l2bot.write(pos1);
l3bot.write(pos1);
delay(bigdelayer);
//right
r1top.write(pos1);
r2top.write(pos1);
r3top.write(pos1);
delay(bigdelayer);
r1bot.write(pos1);
r2bot.write(pos1);
r3bot.write(pos1);
delay(bigdelayer);
}
for (pos2 = 120; pos2 >= 90; pos2 -= 1){
delay(bigdelayer);
}
}
