[TUTO] Faire de l'Ambilight sans fil avec un Esp8266/Nodemcu et la Bibliothèque NeoPixels ( Bande de LEDs à 3 brins seulement )

 

 

J'avais déjà abordé le sujet dans mes précédents Tuto le fait de pouvoir faire de l'Ambilight avec un Nodemcu soit en mode sans fil en utilisant FastLed, soit en connexion USB avec NeoPixels.

 

Le but de ce Tuto est donc de toujours utiliser un Esp8266, Nodemcu ou autre microcontrôleur ESP, mais cette fois-ci en utilisant un Sketch ino utilisant la bibliothèque NeoPixels ( et non plus FastLed ) pour des bandes PWM.

L'avantage de la bibliothèque NeoPixels est qu'elle gère des bandes RGBW, chose que ne sais pas faire Fastled pour le moment.

 

  

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
  • Utilisé le Sketch en version OTA

 

 

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, WiFiManager installés via le gestionnaire de bibliothèques.
  • Le Sketch pour la programmation de notre Microcontrôleur disponible ici :  ESP-udp_OTA-webconfig

 

Modification du Sketch pour la programmation

 

Décompresser l'archive stuff-master.zip et ouvrir le fichier ESP-udp-neo-OTA-webconfig.ino dans Arduino.

 

Screenshot de ce qu'on devrait voir :

 

 

La première chose à faire, est de définir le type de connexion que l'on va utiliser :

  • Par défaut on utilisera le mode UseDma

J'ai essayé ce mode ainsi que le mode UseUart et les 2 fonctionnent parfaitement, donc à tester et choisir celui qui vous convient le mieux.

 

Repérer les lignes suivantes :

 

// know methods: {UseBigBang, UseUart, UseAsyncUart, UseDma}

#define UseDma

//#define UseAsyncUart

//#define UseUart

 

 

La configuration actuelle utilise le mode Dma. Si vous voulez changer, de-commenter une des lignes et commenter les 2 autres comme ceci :

 

// know methods: {UseBigBang, UseUart, UseAsyncUart, UseDma}

//#define UseDma

//#define UseAsyncUart

#define UseUart

 

Une fois que nous avons défini notre mode de fonctionnement, il faut spécifier sur quelle broche est connecté notre bande et indiquer le nombre de LEDs qu'elle contient ( dans mon cas 384 ) :

 

#define NeoPin 3

#define PixelCount 384

ou

#define NeoPin 2

#define PixelCount 384

 

 

Pour résumé :

  • en mode UseDma : #define NeoPin 3 et #define UseDma
  • en mode UseUart : #define NeoPin 2 et #define UseUart

 

Copie écran de ma config :

 

Notre fichier est prêt à être Téléverser, mais avant cela, il va falloir ouvrir un Moniteur Série ( Onglet Outils, Moniteur Série ).  Une nouvelle boite de dialogue apparaît. Celle-ci nous permet d'obtenir des informations dès la fin de la programmation.

 

On peut maintenant lancer la programmation. SI votre ESP est déjà configuré pour s'y connecter, vous verrez ces informations dans votre fenêtre d'information :

 

( on voit bien que mon routeur m'a assigné une adresse 192.168.1.14 )

 

Par contre s'il ne s'est pas connecté, vous verrez cette fenêtre d'information s'afficher :

 

Il faudra donc passer par la séquence de configuration Wifi. Pour cela notre Microcontrôleur à démarrer en mode point d’accès.

Si vous faites un scan de réseau Wifi, vous constaterez qu'un nouveau réseau WS2812-XXX à fait son apparition :

Il va falloir :

  • Se connecter sur ce réseau puis
  • Ouvrir la page Web 192.168.4.1 pour accéder à l'interface de configuration
  • Cliquer sur Configure Wifi
  • Sélectionner son réseau, entrer le mot de passe et cliquer sur Save
  • Une page vous informera que notre microcontrôleur va essayer de se connecter sur notre réseau

Accéder ensuite à votre interface de routeur pour retrouver l'adresse IP attribué à votre microcontrôleur.

 

 Sur l'impression écran ci-dessous, on voit bien qu'il s'est connecté à mon réseau Wifi et que j'ai obtenu l'adresse 192.168.1.14 : 

 

Maintenant que nous avons configuré notre microcontrôleur, nous pouvons passer au branchement.

 

Câblage

  

Le câblage doit ressembler à ceci. En fonction de la configuration en Mode UseUart ( image de gauche ) ou Mode UseDma ( image de droite ).

 

Pour résumé le Data se branche :

  • En mode UseUart sur la broche D4 ( GPIO2 - TXD1)
  • En mode UseDma sur la broche RX ( GPIO3- RXD0 )

Les Gnd sont connectés entre eux et la bande est alimenté en parallèle en 5v.

Le Nodemcu est alimenté soit par un chargeur MicroUsb ou par la broche Vin du GPIO.

 

 

Voici les branchements si vous utilisé un ESP-01 : 

( UseUart à Gauche et UseDma à droite )

 

 

Une fois tout branché, on peut passer à la config d'Hypérion.

 

 

Modification de la configuration d'Hypérion

 

Si vous avez un fichier de configuration Hypérion fonctionnel, vous pouvez faire un copier/coller de ce qui se trouve ci-dessous dans la partie Device de celui-ci ( sinon RDV ici ) :

 

{

        // DEVICE CONFIGURATION

        "device" :

        {

                "name"       : "Le_Nom_Que_Vous_Voulez",

                "type"       : "udpraw",

                "output"     : "192.168.1.14:2801",

                "rate"     : 1000000,

                "maxpacket"     : 1450,

                "protocol"     : 0,

                "colorOrder" : "rgb"

        },

 

Il vous faudra modifier le nom, l'adresse IP du microcontrôleur et l'ordre des couleurs et exécuter Hypérion comme vous le faites d'habitude.

 

Copie écran d’exécution de l'instance d’Hypérion:

 

Voila, vous avez un systeme Ambilight sans fil avec utilisation de la bibliothèque NeoPixels. Vous pouvez également utiliser ce Sketch dans mon autre Tuto Ambilight Multi Zones.

 

Bon mod à tous !!! 

 

 

Un grand merci à penfold42 pour son travail.

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