Étape 3 · Allumer 10 LEDs¶
On teste 10 LEDs sans couper le ruban : on n'en commande que 10 dans le code, les autres restent éteintes.
Câblage¶
| Ruban | ESP32 |
|---|---|
| DIN (données) | GPIO 5, via la résistance 330 Ω |
| 5V | VIN |
| GND | GND (commun avec l'ESP32) |
Le bon bout du ruban
On branche le côté DIN, celui d'où part la flèche imprimée. Beaucoup de rubans ont un petit connecteur 3 fils à ce bout : pas besoin de souder.
Le code¶
Bibliothèque à installer : FastLED.
#include <FastLED.h>
#define NUM_LEDS 10
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812B, 5, GRB>(leds, NUM_LEDS);
FastLED.setBrightness(40);
}
void loop() {
fill_solid(leds, NUM_LEDS, CRGB::Red); FastLED.show(); delay(600);
fill_solid(leds, NUM_LEDS, CRGB::Green); FastLED.show(); delay(600);
fill_solid(leds, NUM_LEDS, CRGB::Blue); FastLED.show(); delay(600);
}
Luminosité basse
À pleine puissance, chaque LED peut tirer environ 60 mA ; le port USB ne suit pas au-delà d'une dizaine de LEDs.
Les premières LEDs scintillent ?
Le signal 3,3 V de l'ESP32 est un peu juste pour un ruban 5 V. Raccourcir le fil de données ; en dernier recours, ajouter un adaptateur de niveau.
Validation¶
- Rouge, vert, bleu s'affichent dans le bon ordre