// Definir los pines
const int ledPin = 13; // Pin para el LED (puedes usar cualquier pin GPIO)
const int potPin = 34; // Pin para el potenciómetro (solo pines con ADC, ej. GPIO 34-39)
// Configuración de los canales PWM
const int freq = 5000; // Frecuencia en Hz
const int ledChannel = 0; // Canal 0 de los 16 disponibles
const int resolution = 8; // Resolución de 8 bits (0-255)
void setup() {
Serial.begin(115200);
// Configurar el canal PWM con el pin, la frecuencia, resolución y canal utilizado
ledcAttachChannel(ledPin,freq, resolution, ledChannel);
}
void loop() {
// Leer el valor del potenciómetro (0-4095 para ADC de 12 bits)
int dutyCycle = analogRead(potPin);
// Mapear el valor del potenciómetro a la resolución de PWM
// La resolución del ADC del ESP32 es de 12 bits (0-4095),
// y la de nuestro PWM es de 8 bits (0-255)
dutyCycle = map(dutyCycle, 0, 4095, 0, 255);
// Escribir el valor PWM en el pin
ledcWrite(ledChannel, dutyCycle);
Serial.print("Potenciómetro: ");
Serial.print(analogRead(potPin));
Serial.print(" -> Valor PWM: ");
Serial.println(dutyCycle);
delay(10);
}