🛠 Bandeau NeoPixel piloté par le périphérique RMT

ESP32-C3 · intermediaire · Schéma : IMG-esp32-c3-intermediaire-1-neopixel-rmt-gpio.svg — Bandeau de 8 LED WS2812 alimenté en 5 V, données sur GPIO7 du ESP32-C3 via le périphérique RMT, masses communes reliées

Objectifs

Piloter des LED adressables WS2812 (NeoPixel) avec le ESP32-C3. La bibliothèque Adafruit_NeoPixel utilise sur le C3 le périphérique RMT (Remote Control) pour générer les créneaux de timing au quart de microseconde, sans monopoliser le CPU. Vous éviterez les broches de strapping (GPIO2, 8, 9) en choisissant GPIO7 pour la ligne de données.

Matériel

Code complet

#include <Adafruit_NeoPixel.h>

#define PIN_NEO 7      // evite GPIO2/8/9 (strapping) et GPIO9 (BOOT)
#define N     8

Adafruit_NeoPixel strip(N, PIN_NEO, NEO_GRB + NEO_KHZ800);
uint32_t i = 0;

void setup {
  strip.begin;
  strip.setBrightness(40);   // menage l'alimentation
  strip.show;
}

void loop {
  for (uint16_t b = 0; b < N; b++) strip.setPixelColor(b, 0, 0, 0);
  strip.setPixelColor(i % N, strip.Color(255, 60, 0)); // balle orange
  strip.show;
  i++;
  delay(120);
}

Vérification attendue

Une LED orange parcourt le bandeau en boucle. L'ESP32-C3 n'a qu'un cœur et fait tourner la pile Wi-Fi en parallèle : le RMT génère les trames WS2812 sans que l'animation ne tremble.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels