#include <Servo.h>
Servo Servo1; // Crear un objeto tipo Servo llamado servo
Servo Servo2;
Servo Servo3;
Servo Servo4;
Servo Servo5;
Servo Servo6;
int Angulo1 = 90; // Empezamos en el centro
int Angulo2 = 0;
int Angulo3 = 0;
int Angulo4 = 90;
int Angulo5 = 90;
int Angulo6 = 90;
int Salto = 1; // Controla el salto por movimiento
int Salto1 = 1;
void setup() {
Servo1.attach(3);// Conectar servo al pin 3
Servo1.write(Angulo);
Servo2.attach(5);
Servo2.write(Angulo1);
Servo3.attach(6);
Servo3.write(Angulo2);
Servo4.attach(9);
Servo4.write(Angulo3);
Servo5.attach(10);
Servo5.write(Angulo4);
Servo6.attach(11);
Servo6.write(Angulo5);
Serial.begin(9600);
}
void loop() {
int 1EjeX = analogRead(A0); // Leemos la entrada del joystick
1EjeX = constrain(1EjeX, 0, 1024); // Evitamos que el valor del ejeX se salga de estos parametros
Angulo1 = constrain(Angulo1, 0, 180); // Evitamos que el angulo se salga de estos parametros
//Serial.println(1EjeX);
// Si no se mueve el joystick dejamos el servo como esta
if (1EjeX > 505 && 1EjeX < 520) {
Servo1.write(Angulo1); // Le indicamos a cuantos grados se tiene que poner el servo
}
// Controla la disminucion del angulo dependiendo de cuanto accionemos el joystick
else if (1EjeX < 505) {
if (1EjeX > 435) {Salto = 1;}
else if (1EjeX > 335) {Salto = 3;}
else if (1EjeX > 235) {Salto = 7;}
else if (1EjeX > 135) {Salto = 9;}
else {Salto = 15;}
Angulo1 -= Salto; // disminuimos el angulo
Servo1.write(Angulo1); // Le indicamos a cuantos grados se tiene que poner el servo
//Serial.println("Menos angulo");
}
// Controla el aumento del angulo dependiendo de cuanto accionemos el joystick
else if (1EjeX > 520) {
if (1EjeX < 650) {Salto = 1;}
else if (1EjeX < 750) {Salto = 3;}
else if (1EjeX < 850) {Salto = 7;}
else if (1EjeX < 950) {Salto=9;}
else {Salto = 15;}
Angulo1 += Salto ; // Aumentamos el angulo
servo.write(Angulo1); // Le indicamos a cuantos grados se tiene que poner el servo
//Serial.println("Mas angulo");
int 1EjeY = analogRead(A1); // Leemos la entrada del joystick
1EjeY = constrain(1EjeY, 0, 1024); // Evitamos que el valor del ejeX se salga de estos parametros
Angulo2 = constrain(Angulo2, 0, 180); // Evitamos que el angulo se salga de estos parametros
//Serial.println(1EjeX);
// Si no se mueve el joystick dejamos el servo como esta
if (1EjeY > 505 && 1EjeY < 520) {
Servo2.write(Angulo2); // Le indicamos a cuantos grados se tiene que poner el servo
}
// Controla la disminucion del angulo dependiendo de cuanto accionemos el joystick
else if (1EjeY < 505) {
if (1EjeY > 435) {Salto = 1;}
else if (1EjeY > 335) {Salto = 3;}
else if (1EjeY > 235) {Salto = 7;}
else if (1EjeY > 135) {Salto = 9;}
else {Salto = 15;}
Angulo2 -= Salto; // disminuimos el angulo
Servo2.write(Angulo2); // Le indicamos a cuantos grados se tiene que poner el servo
//Serial.println("Menos angulo");
}
// Controla el aumento del angulo dependiendo de cuanto accionemos el joystick
else if (1EjeY > 520) {
if (1EjeY < 650) {Salto = 1;}
else if (1EjeY < 750) {Salto = 3;}
else if (1EjeY < 850) {Salto = 7;}
else if (1EjeY < 950) {Salto=9;}
else {Salto = 15;}
Angulo2 += Salto ; // Aumentamos el angulo
Servo2.write(Angulo2); // Le indicamos a cuantos grados se tiene que poner el servo
//Serial.println("Mas angulo");
}
delay(75); // Este delay regula la velocidad de lectura del joystick
}
I need to move 6 servos with two joysticks but when putting the second servo it does not go and I get an error: exponent has no digits
I don't know why I get that error in: else if (1Eje....<.....) {Salto=.....}
I try to change Salto for Salto1 because when I verified Eje X
Can someone help me with this program please