🛠 Fondu de LED avec le PWM LEDC

ESP32 (original, classe 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

Objectifs

Piloter la luminosité d'une LED grâce au périphérique LEDC de l'ESP32 : le PWM y est généré par 8 canaux indépendants (fréquence et résolution configurables), contrairement à un simple digitalWrite. Vous apprendrez à configurer un canal, l'attacher à une broche et réaliser un fondu (fade) montant et descendant.

Matériel

Code complet

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); }
}

Vérification attendue

La LED s'allume et s'éteint progressivement (fondu doux d'environ 2 secondes par cycle), sans palier visible. Avec un oscilloscope sur GPIO25, on observe un créneau à 5 kHz dont le rapport cyclique suit la rampe.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels