#include <Servo.h>
// Configuración del servo motor
Servo myServo;
const int servoPin = 11;
// Configuración del joystick
const int joystickPin = A0; // Pin analógico para el eje X del joystick
void setup() {
// Inicialización del servo
myServo.attach(servoPin);
myServo.write(90); // Posición inicial a 90°
// Inicialización del puerto serie (opcional, para depuración)
Serial.begin(9600);
}
void loop() {
// Leer el valor del joystick
int joystickValue = analogRead(joystickPin);
// Convertir el valor del joystick en un ángulo de 45°, 90° o 180°
int servoAngle;
if (joystickValue < 341) {
servoAngle = 45; // Menos de 1/3 del rango
} else if (joystickValue < 682) {
servoAngle = 90; // Entre 1/3 y 2/3 del rango
} else {
servoAngle = 180; // Más de 2/3 del rango
}
// Mover el servo al ángulo calculado
myServo.write(servoAngle);
// Mostrar el valor del joystick y el ángulo del servo en el monitor serie
Serial.print("Joystick Value: ");
Serial.print(joystickValue);
Serial.print(" | Servo Angle: ");
Serial.println(servoAngle);
delay(100); // Pequeño retraso para estabilidad
}