Un anémomètre WiFi -2-
Par makoto doushite le samedi, 5 janvier 2019, 18:56 - Energies Renouvelables - Lien permanent
- Avoir un affichage sur le web c'est bien…
Une petite vidéo :
- Mais un module d'affichage physique c'est quand même plus pratique !
Une petite vidéo :
- Une seconde démo en vidéo, avec le programme de l'anémomètre revu et corrigé. Le rafraîchissement des valeurs se fait toutes les demi-secondes :
- J'ai donc passé quelques jours à concevoir ce boîtier client qui fonctionne à base lui aussi d'un NodeMCU connecté au réseau WiFi de la maison, et qui récupère les infos de vitesse transmise par l'anémomètre.
Principe :
Ce client se connecte à l'anémomètre et récupère le fichier JSON ( http://192.168.0.34:8080/mesures.json) afin de le parser toutes les secondes, reste alors à afficher l'information.
Ce sont donc des vieux afficheurs matriciel DLG7137 qui vont faire le travail.
Pour chaque afficheurs il aurait fallu employer un registre à décalage, afin de pouvoir adresser les données à afficher sur chaque matrices, comme cela à été fait sur le WebRadioReveilWiFi, mais ne disposant pas de suffisamment de 74HC595, j'ai dû procéder autrement.
Les DLG7137 disposent en effet d'une pin Write (WR/) qui n'autorise l'affichage de la donnée qu'au moment où elle passe à l'état bas.
Du coup en reliant tous les afficheurs entre eux et en faisant circuler l'information, il restait au programme de valider la pin Write du bon afficheur au bon moment pour afficher le caractère attendu sur chacun des afficheurs.
Et comme le NodeMCU ne dispose pas de suffisamment de papattes pour pouvoir brancher les 12 pins Write des 12 afficheurs, j'ai donné ce travail à faire à deux registres 74HC595, permettant ainsi d'adresser 16 pins Write.
Note : J'ai oublié de câbler les deux condensateurs de découplage utiles aux registres 74HC595 !!
Ne les oubliez-pas ! (100nF directement entres les pattes d'alimentation 8 et 16)
Réalisation :
Pas de plaquette de circuit imprimé réalisée cette fois, par manque de temps et aussi car le boîtier serait unique, j'ai donc soudé le tout un quatre ou six heures sur une plaquette à trous, puis j'ai dessiné le boîtier en 3D pour impression.
- La plaquette à trous :
- Le boîtier imprimé, avec un petit bouton pour appuyer sur le reset du NodeMCU.
- J'ai trouvé un morceau de plexis de 2mm d'épaisseur, que j'ai peint sur l'envers à l'aérographe au Tamiya smoke X-19 afin de donner un côté fumé à ce vitrage, ensuite collé à l'intérieur du boîtier :
- La plaquette est mise en place en la glissant dans la rainure prévue, puis c'est au tour du couvercle :
- Voilà…
- C'est classe moi j'dis :D :
Le module affiche NoData lorsque la transmission de donnée se passe mal, comme par exemple lorsque l'anémomètre est éteint.
Programme :
- Le code du NodeMCU est trop imposant pour être présenté correctement dans cette page, il est téléchargeable en pièce jointe ou consultable ici.
- Vous aurez remarqué au passage que j'ai donc connecté un second capteur à effet Hall pour mesurer la vitesse de rotation de l'éolienne, le code est dispo ici.