LEDs Intelligentes WS2812B

De Wiki LOGre
Aller à : navigation, rechercher


Pilotage

Le pilotage de ces LEDs est effectué par l'envoi d'une trame de données GRB (Green-Red-Blue) 24bits. Chaque bit de donnée B est codé par l'envoi de deux états successifs, un 0 et un 1 de durée variable. La durée du 0 et du 1 définissent la valeur du bit de donnée.

D'après le datasheet des WS2812B, leur durée serait de :

  • 0.4µs à 0 puis 0.85µs à 1 pour B=0
  • 0.8µs à 0 puis 0.45µs à 1 pour B=1

Une fois que la première LED a reçu ses 24bits, elle transmet la suite de la trame à la LED suivante et ainsi de suite. Pour réinitialiser la transmission, le bus doit rester à 0 pendant au moins 50µs

Pour piloter ces LEDs avec une précision de 0.05µs, il faudrait donc un CPU avec une cadence de 20 MIPS. Ces durées théoriques sont toutefois malléables et à la lecture de cet article, d'autres valeurs plus basses et plus commodes sont possibles :

http://bleaklow.com/2012/12/02/driving_the_ws2811_at_800khz_with_a_16mhz_avr.html

Selon cet autre article, il est possible de jouer avec ces LEDs avec des CPU Atmel dès 8MHz en alliant code assembleur et finesse de programmation :

http://rurandom.org/justintime/index.php?title=Driving_the_WS2811_at_800_kHz_with_an_8_MHz_AVR
http://rurandom.org/justintime/index.php?title=Ws2811_driver_code_explained

Liens

Projets

Utilisation sur PCB

Baptiste a fait des PCB pour ces leds qui permettent de les souder facilement, avec un capa à l'avant ou à l'arrière (selon l'utilisation souhaitée) et en a encore une bonne quantité à revendre.

Le PCB est matricé en 3x3 sur une plaque, avec facilité de raccords, pas standards et découpe assez facile à la dremel.

Utilisation en prototypage sur breadboard

Au final, il est plutôt à recommander de les souder sur un PCB adapté - à faire à la maison (chimie ou fraiseuse) ou encore, plus facile à souder grâce au solder mask : commandé chez un fabricant. Les test sur des headers ont montré qu'il faut trop les chauffer et elles peuvent griller. Par ailleurs utilisation d'étain au plomb et fer réglable à 350 °C Max pour éviter la surchauffe.

Solution rapide et pas chère : sur planche de prototypage

Pas besoin d'attendre la livraison de PCBs, et la dimension coïncide bien avec les pistes (2 pattes sous un boitier de 5mm pour la LED, et un écartement de 2,5 mm pour les pistes/pastilles de la planche).

  • Stripboard : Contrairement à la planche à pastilles les pistes dépassent de sous la LED, c'est facile à souder.

WS2812B on stripboard.jpg

  • Perfboard : Plus dur à souder, il faut faire glisser l'étain sous la led.

WS2812B on perfboard.jpg

Historique des essais avec leurs ancêtres (WS2812)

  • Mode "Deadbug", pas recommandé, si urgence utiliser plutôt du fil cuivre monobrin bien fin.

WS2812 deadbug.jpg

  • Sur PCB maison. Déjà nettement plus facile à souder, mais utilisation de flux recommandée.

WS2812 home etched.jpg

  • Sur PCB SeeedStudio, 1ère version avec les pistes du mauvais coté (d'où le recablage). Super facile à souder, flux pas nécessaire.

WS2812 seeedstudio.jpg

  • Sur PCB FritzingFab (plus cher mais plus rapide), 2ème version avec les pistes du BON coté. Super facile à souder, flux pas nécessaire.

WS2812 fritzing.jpg

  • It's Alive !

WS2812 breadboard.jpg

Projet d'éclairage indirect piloté par smartphone ou tablette (Mbxddp)

--> Aller à la page du projet

Ambilight pour écran de projection (fma38)

Le but est de faire quelque chose de similaire à ce qui se fait pour les écran de TV, genre :

http://blog.cogipix.com/general/raspberrypi/ambilight-sur-un-raspberry-pi

mais autour d'un écran de projection vidéo.

Sera certainement piloté par une carte micropython.

Led wheelight (fma38)

Faire des patterns sur les roues de vélo :

Thermomètre Revisité

P1000032.JPG Transformation d'un thermomètre d'extérieur 'vintage' en tôle émaillé à colonne d'alcool en un thermomètre numérique.. --> Aller à la page du projet