#include <LiquidCrystal_I2C.h>
const int potPin = 32; // Pin del potenciómetro
const int servoPin = 13; // Pin para el servo (PWM) de 16 bits
const int lcdAddress = 0x27; // Dirección I2C del LCD
const int lcdColumns = 16; // Número de columnas en tu LCD
const int lcdRows = 2; // Número de filas en tu LCD
const int Canal = 0; // Canal
const int frecuencia = 50; // Frecuencia PWM
const int resolucion = 8; // resolucion PWM
int servoPos; // Posición del servo
LiquidCrystal_I2C lcd(lcdAddress, lcdColumns, lcdRows);
void setup() {
lcd.init();
lcd.backlight();
pinMode(servoPin, OUTPUT);
ledcAttachPin(servoPin, Canal);
ledcSetup(Canal, frecuencia, resolucion);
ledcWrite(0,12);
}
void loop() {
int potValue = analogRead(potPin); // Lee el valor del potenciómetro
servoPos = map(potValue, 0, 4095, 0, 180); // Mapea el valor del potenciómetro a la posición del servo
// Controla el servo utilizando PWM
int dutyCycle = map(servoPos, 0, 180, 19, 51); // Ajusta estos valores según las especificaciones de tu servo
ledcWrite(Canal, dutyCycle);
// Muestra la posición del servo en el LCD
lcd.setCursor(0, 0);
lcd.print("Pos: ");
lcd.print(servoPos);
delay(100); // Puedes ajustar este valor según tus necesidades
}