🛠 Fondu de LED avec le PWM LEDC

ESP32 (original, clase ESP32-WROOM-32) · debutant · Schéma : IMG-esp32-debutant-2-ledc-pwm-fade.svg — ESP32, broche GPIO25 reliée par une résistance à une LED, courbe d'intensité en dents de scie

Objetivos

Controlar el brillo de un LED mediante el periférico LEDC del ESP32: la modulación PWM se genera mediante 8 canales independientes (frecuencia y resolución configurables), a diferencia de un simple digitalWrite. Aprenderás a configurar un canal, asignarlo a un pin y realizar un fundido (fade) ascendente y descendente.

Material

Código completo

const uint8_t LED_PIN = 25;   // eviter GPIO2, broche de strapping
const uint8_t CANAL   = 0;    // 0 a 7 sur ESP32

void setup {
  ledcSetup(CANAL, 5000, 8);  // 5 kHz, resolution 8 bits (0..255)
  ledcAttachPin(LED_PIN, CANAL);
}

void loop {
  for (int v = 0; v <= 255; v++) { ledcWrite(CANAL, v); delay(8); }
  for (int v = 255; v >= 0; v--) { ledcWrite(CANAL, v); delay(8); }
}

Verificación esperada

El LED se enciende y se apaga progresivamente (fundido suave de aproximadamente 2 segundos por ciclo), sin escalones visibles. Con un osciloscopio en GPIO25, se observa una señal rectangular de 5 kHz cuyo ciclo de trabajo sigue la rampa.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales