Le ruban de LEDs WS2812B¶
Notre ruban de 5 mètres est couvert de petites LEDs de couleur, toutes pilotables une par une, avec un seul fil de données. C'est la star de la mission 2, et il servira pour les réacteurs, les cockpits et les yeux de droïdes.
🎓 Académie : La LED · L'intensité · Les circuits
Comment il est fait¶
Le ruban est une longue bande souple, découpée en segments tous identiques. Chaque segment porte une LED « intelligente » : une LED RGB (rouge, vert, bleu) et une minuscule puce, dans le même petit boîtier carré.
| Ce qu'on voit | Ce que c'est |
|---|---|
| 5V, DIN, GND imprimés au début | les trois contacts : l'alimentation (5 V et masse) et l'entrée des données |
| des flèches imprimées | le sens du message : on branche toujours le bout d'où part la flèche |
| DOUT à l'autre bout | la sortie des données : c'est elle qui alimente le ruban suivant |
| des pastilles cuivrées entre deux LEDs, avec un trait ou des ciseaux | les repères de découpe |
Une LED adressable, c'est quoi ?¶
« Adressable » veut dire qu'on peut donner à chaque LED sa propre couleur. L'ESP32 envoie une longue suite de nombres sur le fil DIN : trois nombres par LED (rouge, vert, bleu, de 0 à 255). La première LED garde ses trois nombres, et retransmet tout le reste à la deuxième, qui garde les siens et retransmet le reste… Le schéma est dans la fiche La LED.
Rapide !
Le message part à 800 000 bits par seconde. Pour 10 LEDs (240 bits), l'envoi dure environ 0,3 milliseconde : on peut changer toutes les couleurs des centaines de fois par seconde.
Ce qu'il consomme¶
Chaque LED contient trois petites LEDs (rouge, verte, bleue) d'environ 20 mA chacune. En blanc à fond, les trois sont allumées : 60 mA par LED. Et même éteinte, chaque puce consomme encore un peu, de l'ordre de 1 mA.
| Combien de LEDs ? | Éteintes | En blanc à fond |
|---|---|---|
| 10 LEDs (notre tronçon de test) | ≈ 10 mA | ≈ 600 mA |
| 1 m à 30 LEDs/m | ≈ 30 mA | ≈ 1,8 A |
| 5 m à 30 LEDs/m (150 LEDs) | ≈ 150 mA | ≈ 9 A |
| 5 m à 60 LEDs/m (300 LEDs) | ≈ 300 mA | ≈ 18 A |
Combien de LEDs par mètre sur notre ruban ?
Compte les LEDs sur 10 cm et multiplie par 10. Les plus courants ont 30, 60 ou 144 LEDs par mètre.
Le port USB d'un ordinateur fournit 500 mA (USB 2.0). D'où les règles de l'atelier : peu de LEDs et une luminosité plafonnée tant qu'on est sur l'USB, et une alimentation externe pour les grands projets.
Couper et raccorder¶
- On coupe uniquement sur les repères, entre deux LEDs : chaque morceau garde ses contacts 5V, DIN, GND et fonctionne seul.
- Couper ailleurs abîme le segment : il ne s'allume plus, et les suivants non plus.
- Pour raccorder deux morceaux, on relie DOUT au DIN suivant, 5V au 5V et GND au GND, avec des connecteurs à clipser pour ruban, ou plus tard au fer à souder.
Le sens compte
Le bout DOUT ne sert qu'à transmettre la suite. Brancher l'ESP32 sur DOUT, c'est comme parler dans l'oreille du dernier de la file : le message ne remonte pas, rien ne s'allume. Mais rien ne casse non plus : on retourne le ruban, et ça repart.
Les règles d'or du ruban¶
- USB débranché pendant le câblage.
- Les données entrent par DIN, à travers une résistance de 330 Ω placée près du ruban.
- GND du ruban relié au GND de l'ESP32, toujours (la masse commune).
- Luminosité plafonnée dans le code tant qu'on est sur l'USB.
- Avec une alimentation externe et beaucoup de LEDs, on ajoute un condensateur (1 000 µF) entre 5V et GND au début du ruban : il amortit les à-coups de courant à l'allumage.
Une ligne de lumière continue¶
Sur notre ruban, les LEDs sont espacées d'environ 2 cm (un ruban à 60 LEDs par mètre les espace de 1,7 cm). De près, on voit une rangée de points brillants, pas une ligne. Pour un sabre laser, un néon de cockpit ou une rampe de réacteur, on veut que la lumière se fonde : c'est le travail d'un diffuseur.
Le principe : étaler chaque point¶
Un diffuseur est un matériau translucide : il laisse passer la lumière mais la disperse dans toutes les directions. Chaque LED éclaire alors une tache sur le diffuseur, au lieu d'un point. Quand les taches de deux LEDs voisines se chevauchent, l'œil ne voit plus de coupure.
La largeur de la tache dépend surtout de la distance entre les LEDs et le diffuseur : plus il est loin, plus la tache est large.
distance au diffuseur ≥ écart entre deux LEDs (environ 2 cm chez nous)
Collé contre les LEDs, même le meilleur diffuseur laisse voir les points. À 2 cm, la ligne devient presque continue.
Les solutions, de la plus simple à la plus pro¶
| Solution | Rendu | Pour quoi |
|---|---|---|
| Papier calque ou papier sulfurisé, tendu à 1 ou 2 cm | très bon, pour presque rien | essayer, comparer des distances |
| Pièces LEGO transparentes (Trans-Clear) | bon, et ça s'intègre à la construction | réacteurs, panneaux de cockpit, pistes d'atterrissage |
| Demi-balle de ping-pong sur une LED seule | une boule de lumière bien ronde | yeux de droïde, voyants, réacteur rond |
| Profilé aluminium + couvercle opale (laiteux) | ligne très régulière | grandes lignes droites ; l'aluminium évacue aussi la chaleur |
| Gaine silicone « néon flex » (pour ruban de 10 mm) | aspect tube néon, souple | sabre laser, contours courbes |
| Ruban « COB » adressable | ligne parfaite, sans aucun point | un nouveau ruban : vérifier « adressable » et « 5 V » avant d'acheter |
Astuces de réalisation¶
- Tester avant de construire : allume le ruban en blanc moyen, et déplace une feuille de calque au-dessus en t'éloignant doucement. Note la distance à partir de laquelle les points disparaissent.
- Avec des LEGO : le ruban au fond d'une « goulotte » de briques, et des tuiles transparentes (1 × 2, réf. 3069) posées 2 ou 3 briques plus haut. Une tuile transparente posée directement sur une LED fait au contraire un joli point lumineux, utile pour des voyants.
- Doubler le diffuseur : deux couches fines (calque + plastique transparent) diffusent mieux qu'une seule épaisse.
- Blanchir l'intérieur : des parois blanches autour du ruban renvoient la lumière vers le diffuseur ; des parois noires l'absorbent et assombrissent le tout.
- Compenser : un diffuseur absorbe une partie de la lumière. On peut remonter un peu la luminosité dans le programme, en restant sous le plafond
LUM_MAXet le garde-fou de courant. - Profiter du code : avec un diffuseur, les dégradés (
fill_rainbow, la traînée de l'hyperespace) deviennent beaucoup plus beaux, car les couleurs voisines se mélangent.
Dans les missions¶
- Mission 2 · Mustaflash : 10 LEDs pilotées à la manette.
- Mission 6 · Coruscâble : les réacteurs de la création finale.