#include <Servo.h> // Librería para controlar servomotores
// Definición de pines
const int pinPotenciometro1 = A0; // Pin para el primer potenciómetro
const int pinPotenciometro2 = A1; // Pin para el segundo potenciómetro
const int pinServo1 = 9; // Pin para el primer servomotor
const int pinServo2 = 10; // Pin para el segundo servomotor
// Variables para almacenar las lecturas y posiciones
int lecturaPotenciometro1 = 0; // Almacena el valor de lectura del primer potenciómetro
int lecturaPotenciometro2 = 0; // Almacena el valor de lectura del segundo potenciómetro
int posicionServo1 = -1; // Posición en grados del primer servomotor
int posicionServo2 = -1; // Posición en grados del segundo servomotor
// Objetos Servo
Servo servo1; // Objeto para el primer servomotor
Servo servo2; // Objeto para el segundo servomotor
// Función de inicialización
void setup() {
Serial.begin(9600); // Inicia la comunicación serial
servo1.attach(pinServo1); // Asigna el pin para el primer servomotor
servo2.attach(pinServo2); // Asigna el pin para el segundo servomotor
}
// Función principal
void loop() {
// Lee la posición del potenciómetro y calcula el ángulo para el primer servomotor
int nuevaLectura1 = analogRead(pinPotenciometro1); // Lee el valor del primer potenciómetro
int nuevaPosicionServo1 = map(nuevaLectura1, 0, 1023, 0, 180); // Convierte la lectura a un ángulo entre 0 y 180
// Si la posición cambió, actualiza el servo y muestra el valor en el monitor serial
if (nuevaPosicionServo1 != posicionServo1) {
posicionServo1 = nuevaPosicionServo1;
servo1.write(posicionServo1);
Serial.print("Posicion Servo 1: ");
Serial.print(posicionServo1);
Serial.println(" grados");
}
// Lee la posición del potenciómetro y calcula el ángulo para el segundo servomotor
int nuevaLectura2 = analogRead(pinPotenciometro2); // Lee el valor del segundo potenciómetro
int nuevaPosicionServo2 = map(nuevaLectura2, 0, 1023, 0, 180); // Convierte la lectura a un ángulo entre 0 y 180
// Si la posición cambió, actualiza el servo y muestra el valor en el monitor serial
if (nuevaPosicionServo2 != posicionServo2) {
posicionServo2 = nuevaPosicionServo2;
servo2.write(posicionServo2);
Serial.print("Posicion Servo 2: ");
Serial.print(posicionServo2);
Serial.println(" grados");
}
delay(50); // Retraso para evitar lecturas demasiado frecuentes
}