#include <Arduino.h>
#define PWM_PIN 14 // Pin donde se generará el PWM
#define dutyCycle_MAX 255 // Máximo valor para el duty cycle
void setup() {
Serial.begin(115200);
pinMode(PWM_PIN, OUTPUT);
ledcSetup(0, 10000, 8); // Canal 0, 10 kHz por defecto la resolucion es de 8 bits
ledcAttachPin(PWM_PIN, 0); // Vincular el canal 0 al pin PWM_PIN
ledcWrite(0, 128); // 50% duty cycle (128 en escala de 0-255)
}
void loop() {
static uint8_t dutyCycle = 0; // Duty cycle inicial
static bool direccion = true; // Dirección de cambio del duty cycle
if (direccion) {
dutyCycle++;
if (dutyCycle >= dutyCycle_MAX){
direccion = false;
}
} else {
dutyCycle--;
if (dutyCycle <= 0){
direccion = true;
}
}
// Actualiza el PWM
ledcWrite(0, dutyCycle);
Serial.println(dutyCycle);
delay(10);
}