[TUTO] Remplacer un Arduino par un Nodemcu/Esp8266 en connexion USB/UART pour faire de l'Ambilight ( Bande de LEDs à 3 brins seulement )

 

J'ai crée ce Tuto car, malgré des heures de recherches sur plusieurs sites ou forums Anglophones, Francophones et même Germanophones, je n'ai pas trouvé un seul endroit où ce procédé d'utilisation est expliqué. Cela m'aura permis de trouver les informations qu'il me manquait.

 

 

Le but de ce Tuto est d'utiliser un Esp8266, Nodemcu ou autre microcontrôleur ESP à la place d'un Arduino pour faire de l'Ambilight non pas en Wifi mais en filaire par connexion USB.

 

 

Pour ce Tuto j'ai :

  • Utiliser un Nodemcu Lolin V3 mais tout autre modèle fera l'affaire.
  • Testé plusieurs bandes de LED : WS2812B et SK6812 mais normalement toutes les bandes 3 brins devrait fonctionner.

 

Préalable

 

Tout d'abord il nous faut :

  • Un Nodemcu/Esp8266
  • Le logiciel Arduino IDE correctement configuré pour un esp8266, voir ici et sélectionner le type de carte en fonction de ce que vous avez
  • La bibliothèque NeoPixelBus installé ( Installable depuis le gestionnaire de bibliothèques )
  • Le Sketch pour la programmation de notre Microcontrôleur disponible ici :  Adalight-Esp8266  ou télécharger mon archive ici

Configuration du Microcontrôleur 

 

Une fois que vous avez tout on peut commencer.

 

Décompresser Adalight-ESP8266-master.zip et ouvrir Adalight-ESP8266.ino dans Arduino.

Vous devriez obtenir ceci :

 

 

Il faudra configurer le Nodemcu dans l'onglet outils.

 

Voici les 2 valeurs que j'ai modifié :

  • CPU Frequency : 160 MHZ
  • Upload Speed : 115200

Screenshot de ma config :

 

!!!!!!!!!!!!!!

 

La bibliothèque NeoPixelBus à évoluer depuis que sticilface à créer son fichier donc il va falloir modifier cette ligne dans le sketch :

 

  •  NeoPixelBus strip = NeoPixelBus(pixelCount, pixelPin);

par

  • NeoPixelBus<NeoGrbFeature, NeoEsp8266Uart800KbpsMethod> strip(pixelCount);

 

Si votre bande de LED fonctionne à 400kbps il faudra changer le 800 en 400.

 

Par contre si vous avez les mauvaises couleurs lors de vos tests,  modifier juste l'ordre des lettres dans votre fichier config Json.

  "colorOrder" : "grb" en   "colorOrder" : "rgb" ou autre.

 

 

Dernière modification du fichier, le changement du nombre de LEDs :

  •     #define pixelCount 118 ( remplacer 118 par celle de votre config ).

 

puis Téléverser pour lancer la programmation.

 

Si tout se passe bien vous obtiendrai un 100% et téléversement terminé, comme sur cette image.

  

Câblage

 

Maintenant que le microcontrôleur est programmé, on peut passé au branchement.

 

Le câblage doit ressembler à ça :

 

 

 

 

 

La connexion au microcontrôleur doit se faire en 2 points :

  • Le Data avec le GPIO2 ( D4) 
  • Le Gnd de l'alimentation des Leds avec celui de la bande et du Nodemcu. 

La bande de Leds est alimenté en parallèle en 5v et le Nodemcu peut l’être soit par un chargeur MicroUsb soit par la broche Vin du GPIO.

 

On peut brancher le tout et passer à la dernière étape, la config d’Hypérion.

 

 

Modification de la configuration d'Hypérion

 

Pas grand chose à modifier, juste dans la partie device de votre fichier, le output en dev/ttyUSB0 et le rate a 2000000.

 

Voici à quoi ça devrai ressembler :

 

 "device" :

        {

                "name"       : "Le_Nom_Que_Vous_Voulez",

                "type"       : "adalight",

                "output"     : "/dev/ttyUSB0",

                "rate"     : 2000000,

                "colorOrder" : "grb"

        },

 

 

Plus qu'a testé et voir le résultat...

 

 

Infos Supplémentaire si vous avez des erreurs de ce genre  :

  • Unable to open RS232 device (IO Exception (2): No such file or directory, file /home/sascha/hyperion/dependencies/build/serial/src/impl/unix.cc, line 100.)

 

Vérifier la présence du microcontrôleur, 2 commandes au choix :

  • ls /dev/ttyU*
  • dmesg | grep USB0 

 

On devrai voir apparaître ceci dans la console SSH :

 

/dev/ttyUSB0

 

ou  une ligne dans ce genre pour dmesg :

 

[    5.033790] usb 1-1.5.4: ch341-uart converter now attached to ttyUSB0

  

 

 

Bon mod à tous !!!

 

 

Un grand merci à sticilface et Makuna pour leur travail.

Commentaires : 0 (Discussion fermée)
    Aucun commentaire pour le moment.