#include <Servo.h>
// Inicializamos los servos
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
// Definimos los pines de control de los servos
const int pinServo1 = 25;
const int pinServo2 = 26;
const int pinServo3 = 27;
const int pinServo4 = 14;
// Definimos los pines de los joysticks
const int xAxis1 = 32;
const int yAxis1 = 33;
const int xAxis2 = 34;
const int yAxis2 = 35;
// Valores mínimos y máximos de los servos
const int minPos = 0;
const int maxPos = 180;
void setup() {
// Inicializamos los servos
servo1.attach(pinServo1);
servo2.attach(pinServo2);
servo3.attach(pinServo3);
servo4.attach(pinServo4);
// Inicializamos los pines de los joysticks como entradas
pinMode(xAxis1, INPUT);
pinMode(yAxis1, INPUT);
pinMode(xAxis2, INPUT);
pinMode(yAxis2, INPUT);
}
void loop() {
// Leemos los valores de los joysticks
int xValue1 = analogRead(xAxis1);
int yValue1 = analogRead(yAxis1);
int xValue2 = analogRead(xAxis2);
int yValue2 = analogRead(yAxis2);
// Mapeamos los valores de los joysticks al rango de los servos
int angle1 = map(xValue1, 0, 1023, minPos, maxPos);
int angle2 = map(yValue1, 0, 1023, minPos, maxPos);
int angle3 = map(xValue2, 0, 1023, minPos, maxPos);
int angle4 = map(yValue2, 0, 1023, minPos, maxPos);
// Movemos los servos
servo1.write(angle1);
servo2.write(angle2);
servo3.write(angle3);
servo4.write(angle4);
// Delay para suavizar el movimiento (ajusta según sea necesario)
delay(15);
}