Voici deux exemples pour contrôler un Ruban de LED WS2811 avec des NodeMCUs ou ESPXX
Je le fais avec des NodeMCUs car j'en ai plein sous la main, mais cela fonctionne avec toutes la famille des ESP8266 Il faudra ajuster à vos GPIO
Matériel
- Un ou plusieurs rubans LED WS28XX :
- Un NodeMCU pour la commande et un NodeMCU par ruban :
- Un bouton poussoir pour la commande :
Schéma de câblage
La commande:
- GND du NodeMCU au pin 2 du bouton
Le ou les rubans:
- 5V de l'alim au5v du ruban
- GND de l'alim au GND du ruban
Si vous n'alimentez pas le NodeMCU avec l'alim du ruban il faut relier les masses
Les librairies nécessaires
Pour contrôler le ruban, j'utilise la librairie FastLED et pour la gestion du bouton j'utilise la librairie EasyButton
Piloter plusieurs rubans avec un bouton
Dans cet exemple la commande (le NodeMCU qui a le bouton), génère un réseau wifi RubanLedWIFI had-oc.
Les NodeMCUs des rubans se connecte à ce réseaux en mode IP fixe, chaque Ruban créer un serveur TCP.
Quand on appuie sur le bouton de la commande elle se connecte au serveur renseigné et envoie une instruction.
Le ou les rubans récupèrent l'instruction et s'allume avec un certain modèle.
A chaque appuie, le modèle changera, si on reste appuyer, au bout de 2 secondes, le ou les rubans s'éteignent.
Le programme de la Commande: commandeRubanLed.ino
Le programme du ruban1: Ruban1.ino
Si vous ajoutez un 2eme ruban, il faut dé-commenter les lignes 17, 36, 46, 53 du programme de la commande et donner au ruban2 l'adresse ip 192.168.0.22
Vous pouvez en ajouter d'autre en ajoutant une ligne après les lignes 17, 36, 46, 53 du programme de la commande et donner au rubanX l'adresse ip 192.168.0.XX
Vous pouvez ajouter un module de détection sonore LM393 :
Le programme du ruban1 avec son: Ruban1son.ino
Piloter un ruban par une page web
Ici on se connecte à la box et une page web permet de sélectionner les différents effets:
N'oubliez pas de renseigner vos identifiants et mots de passe du WIFI et de la page update (en début de programme)
Le programme du ruban avec page web: RubanWeb.ino
Dans la com série le programme vous donnera les infos de connexion :
il suffit ensuite de se connecter sur http://RubanWeb.local/
Voici la page:
Si vous appuyez sur un bouton le ruban s'allumera en conséquence
La page update, cliquez sur le lien vous devez vous loguez :
Vous pouvez ensuite mettre à jour le programme à distance :
Bonus:
On peut assez facilement créer une application Android pour piloter le ruban en ligne avec MIT app inventor
Voici le fichier .aia de l'application RubanWeb.aia, importez le projet dans MIT app inventor et vous pouvez ainsi voir le code ou le modifier
il y a aussi MIT AI2 Compagon une application à installer sur son téléphone, elle permet de tester les programmes fait sur le site avec son téléphone sans les installer.
Sinon voici l'application à installer: RubanWeb.apk
Sur la première page, on demande l'IP du ruban:
Si la connexion est OK, on enregistre l'IP du ruban, on n'aura plus à le renseigner sauf si on reset l'IP.
Voilà, on peut piloter le ruban avec sa propre application sur son téléphone.
Si vous appuyez sur la touche retour en bas du téléphone vous retournez sur la page 1 et pouvez effacer l'IP du ruban enregistré.
Piloter un ruban avec Alexa
En cours de rédaction ...
j'utilise Sinric
Pour cela il faut :
- créez un compte (https://sinric.com) si vous n'en avez pas. (Utilisez Chrome, FireFox)
- Connectez-vous et créez un "light" virtuel :
- copiez votre API key et l'id du switch que l'on va créer on en aura besoin pour le programme du sonoff
- Installez la Skill sinric https://www.amazon.com/dp/B078RGYWQQ
Vous y voyer votre device ici nommé sonoff
Maintenant on va televerser ce programme dans le sonoff :
Modifiez en début de prorgramme, votre wifi, votre mdp, la cle API et l'id du switch
sonoff_alexa.ino :
faite une recherche de nouveaux devices dans alexa, verifiez sa présence
Vous pouvez piloter votre sonoff par la voix et par le switch