Animer sa matrice de LEDs
Vous avez surement déjà vu sur Internet ou YouTube des animations de matrices LEDS RGB de 8×8 ou même 16×16 ! Aujourd’hui nous allons voir comment reproduire ce genre d’animation, le tout commandé depuis votre ordinateur ou votre téléphone.
MATÉRIEL
Matériel pour fabriquer une matrice LED connectée :
- 2 prises USB, dont une capable de délivrer au minimum 1,5 A (nous verrons pourquoi 2 ports après)
- 1 matrice led qui possède des LEDs WS2812 RGB
- 1 NodeMCU ESP8266
- des jumpeurs femelle et des pins 2.54mm
- un câble avec prise USB qui fonctionne (et qui ne vous sert pas)
RÉALISATION
Pour faciliter les branchements et modifications futures de la matrice, j’ai soudé 3 pins à celle-ci (voir photo).
Ensuite il faut connecter les 3 pins de la matrice à leur position respective à l’aide des jumpeurs femelle. Le pin IN doit être branché sur le GPIO2 de l’ESP8266 soit le pin D4. Pour les pins d’alimentation V+ et V-, on ne peut pas se brancher directement sur l’ESP (0,2 A) car elle ne fournit pas le courant nécessaire à l’alimentation des LEDs (environ 1,2 A).
Il faut savoir que la tension d’alimentation de la matrice est de 5V mais son courant varie énormément en fonction du nombre de LEDs allumées et à quelle intensité (Ne jamais allumer les LEDs de la matrice à leur luminosité maximale car cela fait chauffer les composants ce qui est très mauvais pour eux et il n’y a pas de dissipateur).
Quelques calculs savants …
Petit calcul rapide pour savoir quelle serait la quantité de courant nécessaire pour allumer les 64 LEDs composée ce 3 sous-LEDs RGB qui consomment chacune 0,02 A à leur intensité maximale soit : 64*3*0,02 = 3,84 A !
Pour l’animation, une luminosité de 30% (0,006 A) suffit amplement soit : 64*3*0,006 = 1,15 A (si toutes les LEDs sont allumées)
J’ai donc fabriqué câble alimentation pour les LEDs de la matrice, ainsi le courant provient directement du chargeur et ne passe pas par l’ESP8266 ce qui briderait la luminosité des LEDs si c’était le cas. On connecte donc le fil rouge (positif) au V+ et le fil noir (masse) au V-.
Il faut maintenant téléverser le programme sur l’ESP. Celui-ci qui va permettre de gérer les LEDs et de lancer des animations à distance grâce à la connexion wifi.
Il y a 2 méthodes pour cela :
Comme première méthode, vous pouvez télécharger la dernière version du code en cliquant sur ce lien. Dézipper le dossier puis ouvrez le fichier qui se trouve dans WLED-0.9.1 > wled00 > wled00.ino à l’aide de l’IDE Arduino.
Rappel : l’IDE Arduino de base est incapable de téléverser du code sur un ESP8266, pour que ce soit possible il faut lier l’IDE avec la base de donnée de l’ESP8266 pour que celui-ci puisse prendre en compte de nouvelles cartes supplémentaires. Nous avons rédigé un article qui explique comment lier l’IDE avec de nouvelles cartes que vous pouvez lire ici.
Sélectionnez donc la carte correspondante sur lequel vous souhaitez téléverser le code puis uploader le tout.
La deuxième méthode consiste à télécharger ce fichier binaire puis il faut flasher le programme sur le NodeMCU. Pour cela, télécharger le logiciel correspondant à votre OS ici. Exécutez le logiciel puis sélectionnez le port correspondant à votre carte et importez le fichier .bin. Enfin flashez le programme et attendre jusqu’à obtenir un message de confirmation.
Vous pouvez maintenant brancher les 2 câbles USB au chargeur, celui qui alimente la matrice et celui qui alimente le NodeMCU. Nous allons maintenant configurer la carte et voir ses possibilités.
CONFIGURATION
Accédez à votre réseau WIFI et connectez vous à WLED-AP. Le mot de passe par défaut est wled1234 mais vous pouvez modifier depuis les paramètres de la page web hébergée sur le NodeMCU (ESP8266). Accédez à l’adresse IP 4.3.2.1, vous voici maintenant dans l’interface de configuration des animations. Vous pouvez gérer la luminosité de l’animation, la luminosité maximale, la vitesse d’animation, le choix de l’animation, etc.
Si vous allez dans Config > WIFI Setup, il est possible de connecter son ESP8266 à votre réseau wifi en rentrant les informations de SSID et le mot de passe.
Vous pouvez aussi voir une estimation de la consommation de votre matrice dans Config> LED Preferences. Vous pouvez changer la luminosité par défaut, cela peut être pratique et vous évitera une consommation trop importante lors des prochains redémarrages.
On vous laisse vous amuser avec la multitude de possibilité qu’offre cette interface ! De notre côte, on prépare un gros projet avec un assemblage d’une quinzaine de matrices mais on ne vous en dit pas plus pour vous garder la surprise !
Merci Guillaume
Je suis totalement débutant et je cherchais justement des explications simples sur cette manip pour un ruban Led ws2812b, j’en avais trouvé une bien en anglais mais ton explication est très claire, reste plus qu’à essayer, Merci
Ps : sur plusieurs tutoriels avec ruban led ws2812b, il est préconisé de mettre une résistance en série sur le data du ruban led et un condensateur en parallèle sur l’alimentation de l’esp si j’ai bien compris, est-ce que tu pourrais m’expliquer pourquoi ?
Merci beaucoup
Cyril