#include <Servo.h>
// Definición de los servos
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
// Pines de los botones
const int botonAvanzar1 = 2;
const int botonRetroceder1 = 3;
const int botonAvanzar2 = 4;
const int botonRetroceder2 = 5;
const int botonAvanzar3 = 6;
const int botonRetroceder3 = 7;
const int botonAvanzar4 = 8;
const int botonRetroceder4 = 9;
// Pines de los servos
const int pinServo1 = 10;
const int pinServo2 = 11;
const int pinServo3 = 12;
const int pinServo4 = 13;
// Variables de posición para los servos
int posicion1 = 90;
int posicion2 = 90;
int posicion3 = 90;
int posicion4 = 90;
const int incremento = 5;
const int maxAngulo = 180;
const int minAngulo = 0;
void setup() {
// Configurar los servos
servo1.attach(pinServo1);
servo2.attach(pinServo2);
servo3.attach(pinServo3);
servo4.attach(pinServo4);
// Mover los servos a la posición inicial
servo1.write(posicion1);
servo2.write(posicion2);
servo3.write(posicion3);
servo4.write(posicion4);
// Configurar los pines de los botones
pinMode(botonAvanzar1, INPUT_PULLUP);
pinMode(botonRetroceder1, INPUT_PULLUP);
pinMode(botonAvanzar2, INPUT_PULLUP);
pinMode(botonRetroceder2, INPUT_PULLUP);
pinMode(botonAvanzar3, INPUT_PULLUP);
pinMode(botonRetroceder3, INPUT_PULLUP);
pinMode(botonAvanzar4, INPUT_PULLUP);
pinMode(botonRetroceder4, INPUT_PULLUP);
}
void loop() {
// Controlar servo 1
if (digitalRead(botonAvanzar1) == LOW) {
if (posicion1 < maxAngulo) {
posicion1 += incremento;
servo1.write(posicion1);
delay(200);
}
}
if (digitalRead(botonRetroceder1) == LOW) {
if (posicion1 > minAngulo) {
posicion1 -= incremento;
servo1.write(posicion1);
delay(200);
}
}
// Controlar servo 2
if (digitalRead(botonAvanzar2) == LOW) {
if (posicion2 < maxAngulo) {
posicion2 += incremento;
servo2.write(posicion2);
delay(200);
}
}
if (digitalRead(botonRetroceder2) == LOW) {
if (posicion2 > minAngulo) {
posicion2 -= incremento;
servo2.write(posicion2);
delay(200);
}
}
// Controlar servo 3
if (digitalRead(botonAvanzar3) == LOW) {
if (posicion3 < maxAngulo) {
posicion3 += incremento;
servo3.write(posicion3);
delay(200);
}
}
if (digitalRead(botonRetroceder3) == LOW) {
if (posicion3 > minAngulo) {
posicion3 -= incremento;
servo3.write(posicion3);
delay(200);
}
}
// Controlar servo 4
if (digitalRead(botonAvanzar4) == LOW) {
if (posicion4 < maxAngulo) {
posicion4 += incremento;
servo4.write(posicion4);
delay(200);
}
}
if (digitalRead(botonRetroceder4) == LOW) {
if (posicion4 > minAngulo) {
posicion4 -= incremento;
servo4.write(posicion4);
delay(200);
}
}
}