Capteurs de température sans fil, partie 2 : l’électronique

     

    Raté la partie 1 ? C’est par ici !

     

    Après avoir défini le problème, la spécification et le matériel que j’utiliserai, voyons un peu comment on va assembler tout ça ! 😄

     

    Montage

    Je vais faire mon montage sur une mini-breadboard comme celle-là

    Elle est pas belle cette petite breadboard ?

     

    Le NodeMCU est tellement minuscule qu’il y a assez de place pour lui et pour le circuit du DHT11

    NodeMCU, DHT11 et résistance 10K sur la breadboard

     

    Vous pouvez voir que j’ai ajouté une résistance de 10K entre la ligne d’alimentation et de communication du DHT11. C’est une recommandation de la datasheet du DHT11 (et une recommandation à suivre en général pour toute ligne avec un signal de communication).

    On appelle ça une résistance de pull-up, et c’est destiné à ce que le signal ait une valeur « par défaut » au niveau haut (d’où le nom 😛). De cette façon on est certain que la ligne de signal n’aura jamais un état indéterminé (dit « en l’air ») et ne fera pas antenne pour tous les parasites environnants.

     

    Branchement des entrées/sorties et alimentation

     

    Pour le reste des branchements, je branche la pin de signal (S, pin 2, fil orange) du DHT11 sur mon entrée/sortie D2, la pin de ground (GND, pin 4, fil bleu) à une ligne de la breadboard que je dédie à cela, et la pin d’alimentation (PWR, pin 1, fil blanc) sur l’entrée/sortie digitale D3.

     

    Pour les plus experts d’entre vous qui froncent les sourcils 🤨🤔, non ce n’est pas une erreur pour l’alimentation du DHT11 !

    Je vais chercher à économiser l’énergie au maximum puisque je vais fonctionner sur batterie. Pendant tout le temps où l’on ne mesure pas la température, le NodeMCU va être en veille et je souhaite qu’il en soit de même pour le DHT11.

    C’est donc pour pouvoir couper l’alimentation du DHT11 pendant tout le temps où on n’a pas besoin de prendre la température que j’alimente celui-ci depuis une pin digitale et pas depuis la ligne 3.3 volts.

    Au passage, pour faire cela il est utile impératif d’avoir vérifié au préalable que la sortie digitale est capable de débiter assez de courant pour le circuit qu’on alimente. Dans le cas du DHT11 on est trèèèèèèèèès large pour alimenter ainsi.

     

    Mettre en veille le NodeMCU (deep-sleep)

    Enfin pour pouvoir utiliser la fonctionnalité de mise en veille du NodeMCU et économiser l’énergie de la batterie, il est nécessaire de brancher la sortie D0 du NodeMCU à sa propre pin de Reset (fil vert).

    En gros, quand le programme que j’aurai mis dedans atteindra une certaine instruction, il va complètement s’éteindre, à l’exception d’un tout petit minuscule circuit qui compte le temps (circuit de type Timer ⏱).

    Une fois que le temps demandé est écoulé, ce timer envoie un signal sur la sortie D0, et c’est ce signal qui va sortir du sommeil le NodeMCU en l’allumant via sa pin de Reset. Ça a l’air un peu compliqué comme ça, mais en vérité c’est assez simple, et tout ce que ça nous demande c’est de rajouter le fil vert.

    (Si vous voulez plus de précisions sur le deep-sleep du NodeMCU n’hésitez pas à demander, j’en ferai alors un article !)

     

    Branchement de la batterie

    Bon ben là… c’est pas vraiment compliqué…

     

    Le fil rouge sur l’entrée 3.3 volts du Node MCU, le fil noir sur la ligne de GND de notre breadboard, et BLAF !

     

    J’ai branché juste pour la démo, mais en vérité, le branchement de la batterie se fera pour de bon une fois le NodeMCU programmé, ce qui sera fait daaaaaaaaaaaaans …….. le prochain et dernier article sur ce projet !

     

    No Comments

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *