#include <ESP32Servo.h> // Incluye la librería necesaria para controlar servos con ESP32 */
int entradaPotenciometro = 0; // Variable para almacenar el valor leído del potenciómetro */
int anguloServo = 0; // Variable que contendrá el ángulo calculado para el servo */
Servo servo; // Crea un objeto de tipo Servo */
int pinPotenciometro = 4; // Define el pin GPIO 2 como entrada del potenciómetro */
int pinServo = 5; // Define el pin GPIO 4 como salida para controlar el servo */
void setup() {
Serial.begin(115200); // Inicia la comunicación serial a 115200 baudios */
pinMode(pinPotenciometro, INPUT); // Configura el pin del potenciómetro como entrada */
servo.attach(pinServo, 500, 2500); // Asocia el servo al pin con rango de pulso entre 500 y 2500 µs */
}
void loop() {
entradaPotenciometro = analogRead(pinPotenciometro); // Lee el valor analógico del potenciómetro (0 a 4095) */
anguloServo = (entradaPotenciometro * 0.04395604395); // Convierte el valor leído en un ángulo entre 0° y 180° */
Serial.print("EntradaPotenciometro:"); // Imprime etiqueta del valor leído */
Serial.println(entradaPotenciometro); // Imprime el valor del potenciómetro */
Serial.print("anguloServo:"); // Imprime etiqueta del ángulo */
Serial.println(anguloServo); // Imprime el ángulo calculado */
Serial.println("------------------"); // Imprime una línea divisoria */
servo.write(anguloServo); //Mueve el servo al ángulo calculado */
delay(10); // Pequeña pausa para estabilizar el movimiento */
}