LEDs Intelligentes WS2812B
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
- bibliothèque Adafruit NeoPixel pour Arduino
- bibliothèque FastLED pour Arduino
- Controlling Ten Thousand RGB LEDs
- WS2811 SPI Driver Using One Transistor and Passives
- Rewriting WS2812 Driver Libraries for Optimization
- Light_WS2812 library V2.0 - article - code
- OctoWS2811 LED Library
- WS2812 LEDs controlled by an iMX233
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.
- Perfboard : Plus dur à souder, il faut faire glisser l'étain sous la led.
Historique des essais avec leurs ancêtres (WS2812)
- Mode "Deadbug", pas recommandé, si urgence utiliser plutôt du fil cuivre monobrin bien fin.
- Sur PCB maison. Déjà nettement plus facile à souder, mais utilisation de flux recommandée.
- Sur PCB SeeedStudio, 1ère version avec les pistes du mauvais coté (d'où le recablage). Super facile à souder, flux pas nécessaire.
- Sur PCB FritzingFab (plus cher mais plus rapide), 2ème version avec les pistes du BON coté. Super facile à souder, flux pas nécessaire.
- It's Alive !
Projet d'éclairage indirect piloté par smartphone ou tablette (Mbxddp)
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 :
- https://www.google.com/search?tbm=isch&q=led+wheel+bike
- https://www.kickstarter.com/projects/minimonkey/monkey-light-pro-bicycle-wheel-display-system
- http://www.bikerumor.com/2012/11/21/glow-yo-roll-with-revolights-bicycle-rim-led-lights
Thermomètre Revisité
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
