#include <LiquidCrystal_I2C.h>
const int lcdAddress = 0x27; // Dirección I2C del LCD
const int lcdColumns = 16; // Número de columnas en tu LCD
const int lcdRows = 2;
LiquidCrystal_I2C lcd(lcdAddress, lcdColumns, lcdRows);
//potenciometro
const int poten = 33;
//servo
const int servo = 4;
const int frecuencia = 50;
const int resolucion = 10;
int ciclo = 0;
int pos =0;
const int canal = 0;
void setup() {
pinMode(servo, OUTPUT);
lcd.init();
lcd.backlight();
lcd.clear();
Serial.begin(9600);
ledcAttachPin(servo, canal);
ledcSetup(canal, frecuencia, resolucion);
ledcWrite(0,12);
}
void loop() {
int valorpotenciometro = analogRead(poten);
int pasos=4096;
ciclo = map(valorpotenciometro, 0, pasos, 0, 180);
pos = map(ciclo, 0, 180, 25, 125);
ledcWrite(canal, pos);
ledcWrite(servo, pos);
float posicion = valorpotenciometro*(180/4096.0);
lcd.setCursor(0, 0);
lcd.print("posicion: ");
lcd.println(ciclo);
}