Aller au contenu

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 côté DIN : on branche iciDOUT : vers la suite →une LED✂ on coupe uniquement sur les repères, entre deux LEDschaque LED contient une puce : elle garde sa couleur et transmet la suite
Les flèches imprimées montrent le sens du message : du DIN vers le DOUT. Les pointillés rouges : les repères de découpe.

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.

Ce que consomme le ruban branché sur l'USB10 LEDs éteintes≈ 10 mA10 LEDs à 47 %≈ 280 mA10 LEDs en blanc à fond≈ 600 mA5 m à 60 LEDs/m, éteintes≈ 300 mAlimite USB 2.0 : 500 mA
Dix LEDs à luminosité limitée tiennent largement dans le budget de l'USB ; en blanc à fond, elles le dépassent déjà.

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

  1. USB débranché pendant le câblage.
  2. Les données entrent par DIN, à travers une résistance de 330 Ω placée près du ruban.
  3. GND du ruban relié au GND de l'ESP32, toujours (la masse commune).
  4. Luminosité plafonnée dans le code tant qu'on est sur l'USB.
  5. 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.

sans diffuseur5 points netsce qu'on voit :diffuseur collédes taches séparéesce qu'on voit :diffuseur à ≈ 2 cmles taches se touchent : une lignediffuseurce qu'on voit :plus le diffuseur est loin des LEDs, plus chaque tache est large
Sans diffuseur : des points. Diffuseur collé : des taches séparées. Diffuseur à une distance au moins égale à l'écart entre deux LEDs : les taches se rejoignent en une ligne.

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_MAX et 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