Contrôler des neopixels comme un DJ

Creation de avatarRémi Sarrailh | Categories : Art, Electronics, Music & Sound

Utilisez un ESP8266 pour contrôler des neopixels (ws2812) comme un technicien lumière depuis le Wi-Fi avec uniquement des logiciels gratuits.

License : Attribution (CC BY)

Introduction

Pour contrôler nos LED, nous allons utiliser le protocole Art-Net : https://fr.wikipedia.org/wiki/Art-Net

Ce protocole permet de transmettre des instructions DMX à travers le réseau en utilisant l'UDP.

Cette méthode est très rapide , fiable et compatible avec la plupart des systèmes d'éclairage professionnels.

Une fois que nous aurons créer notre appareil avec l'ESP8266 nous allons utiliser Jinx, un logiciel sous Windows qui permet de contrôler nos LEDs.

Ce logiciel très complet permet de créer des animations à l'aide du son, d'une image, d'une vidéo, d'une webcam, même de capturer l'image de l'écran et aussi d'afficher du texte.

Video overview

  • Files

Materials

  • ESP8266 (Wemos D1 Mini)
  • Matrix WS2812b (ou strip de LED)
  • Resistance 475 Ohm (entre 300/500)
  • Condensateur 1000µF (optionnel)
  • Alimentation dédié pour les leds (optionnel)

Tools

Step 1 - Préparer l'ESP8266

Si vous ne l'avez pas fait, ajouter le support de l'ESP8266 dans le logiciel Arduino : https://github.com/esp8266/Arduino#installing-with-boards-manager.

Il y a plusieurs façons d'uploader le firmware que nous allons utiliser, le plus simple est d'utiliser l'exemple ESP8266WebServer -> WebUpdate.

N'oubliez pas de changer STASSID et STAPSK avec le nom de votre réseau Wi-Fi et votre mot de passe.

#define STASSID "your-ssid"
#define STAPSK "your-password"

Step 2 - Uploader ESP8266_ArtNetNode

Nous pouvez maintenant flasher le firmware sur notre ESP8266

L'ESP8266 va redémarrer plusieurs fois avant d'être disponible.



Step 3 - Paramétrage Wi-Fi

L'ESP8266 est maintenant en mode HotSpot, chercher le réseau Wi-Fi avec comme nom espArtNode_00XXX.

Le mot de passe est : byMtongnz2017

  • Allez sur http://2.0.0.1 et cliquez sur WIFI pour paramétrer le SSID/mot de passe
  • Cliquer sur REBOOT.



Step 4 - Trouver l'adresse IP de espArtNode

Malheureusement, espArtNode n'utilise pas mdns, donc vous devrez trouver l'adresse IP par vous même.

Vous pouvez utiliser fing (la version Android est la plus facile à utiliser) ou ArtNet-Lite (cette application détecte automatiquement les appareils avec ArtNet)

Jinx (le logiciel que nous allons utiliser pour contrôler les LED) a un mode SCAN, mais il ne marche pas avec espArtNetNode.

Step 5 - Paramétrer les NeoPixels

Dernier point, paramétrer le PORT A pour qu'il gère des LEDs NeoPixel.

Le PORT A correspond à la broche TX.

  • Cliquer sur PORT A.
  • Dans Port Type, mettre LED pixels - WS2812.
  • Cliquer sur Save Changes.
  • Changez number of pixels.
Number of pixels n'apparait qu'après avoir sauvegardé les changements



Step 6 - Paramétrer Matrix Options

Voilà, notre appareil est prêt, mais il nous reste à paramétrer 3 choses dans Jinx pour le contrôler.

  • Matrix Options: Cette option paramètre la matrice virtuelle dans Jinx
  • Output devices: les appareils connectés à Jinx
  • Output Patch : La position de chaque LED.

Si vous ne l'avez pas déjà fait brancher votre matrice / strip de LED à votre ESP8266

Alimenter beaucoup de LED peut être compliqué, je vous conseille de lire attentivement le guide d'Adafruit. : https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels
Il est possible d'alimenter même une centaine de LED rien qu'avec l'USB du moment que vous réglait la luminosité au minimum. Faites attention si la luminosité est trop importante les LED vont se comporter bizarrement et peuvent être endommagés !
  • Télécharger Jinx ici : http://www.live-leds.de/
  • Aller dans Setup -> Matrix Options
  • Paramétrer Width (largeur) / Height (longueur)
Vous n'avez pas une matrice, juste un strip de LED? Paramétrer la longueur (width) sur la longueur de votre strip et height (longueur) sur 4 (valeur minimum)


Step 7 - Paramétrer Output Devices

Maintenant, nous allons connecter notre ESP à Jinx.

  • Aller sur Setup -> Output Devices
  • Cliquer sur Add
  • Choissisez Art-Net (option par défaut)
  • Déselectionner Broadcast (le broadcast est très lent)
  • Mettez l'adresse IP de votre ESP



Step 8 - Paramétrer Output Patch

Dernière chose à faire, il nous faut expliquer à Jinx dans quel ordre sont les LED.

  • Aller sur Setup -> Output Patch.
  • Choissisez votre ESP.
  • Cliquer sur Fast Patch.
  • Sélectionner la taille de votre matrice de LED.
  • Dans Patch Mode, mettez le sens de votre matrice.
  • Dans Pixel Order, mettez GRB.
  • Vérifier que First channel est bien à 0.



Step 9 - Testez les LED

Il y a de grandes chances que vous ne paramétrerez pas vos LED correctement du premier coup, recommencez la partie Output Patch en cliquant sur Clear Patch avant et recommencez si c'est le cas.

Si vous avez un doute sur votre alimentation, commencez par baisser la valeur Master afin de ne pas abimer vos LED.

  • Aller dans Setup / Start Output
  • Dans Channel 1, choisissez Simple Color, vérifiez que les LED s'allument
  • Cliquez sur Edit et vérifier que la couleur Rouge / Vert / Bleu est correcte.
  • Dans Channel 1, choisissez Radar/Scan Lines
  • Vérifier que votre matrice affiche correctement la ligne

Je ne vais pas rentrer plus en détail sur le fonctionnement de Jinx, essayez par vous même! Un manuel est disponible (en anglais) ici : http://www.live-leds.de/downloads/


Step 10 - Notes sur les LED

Vous pouvez trouver les modèles 3D de mes LED sur Thingiverse :

Ces modèles sont faits par Olivier Sarrailh.

Si vous voulez faire une matrice de LED, je ne vous conseille pas d'utiliser des strip de LED, c'est difficile de les aligner, utiliser plutôt des matrices toutes faites (flexible si vous voulez créer une matrice circulaire)

Je me répète, mais jetez un œil à la documentation d'Adafruit sur l'alimentation des LED

https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels

A contrario de ce qui y est dit, il est possible d'alimenter des matrices plus ou moins grandes avec juste un câble USB, si vous baissez la luminosité.

Attention, vous risquez d'abimer les LED, si vous monter accidentellement la luminosité.

Voilà pour ce tutoriel, n'hésitez pas à laisser un commentaire.

Et suivez-moi sur twitter pour avoir plus d'informations sur les prochains tutoriels ! https://twitter.com/m4dnerd.

Comments

Published