jeudi 23 juillet 2020

Mesurer la température et l'humidité relative avec un DHT22 (AM2302)


Le capteur DHT22 (aussi appelé AM2302) est spécialement conçu pour mesurer l'humidité relative de l'air, ainsi que la température. Voyons comment l'utiliser avec un Arduino.



Ce capteur contient un condensateur dont la capacité dépend de l'humidité de l'air ambiant. Puisque l'humidité relative dépend aussi de la température, le capteur comporte aussi un thermistor. La température et l'humidité relative sont transmises au microcontrôleur de façon numérique.

Si vous avez un capteur DHT11 plutôt qu'un DHT22, vous obtiendrez des mesures moins précises, mais les deux capteurs s'utilisent de la même façon.

Connexions

Le capteur DHT22 que j'ai utilisé était intégré à un module comportant 3 broches:
  • +:  Alimentation de 5 V ou de 3,3 V, selon le niveau logique désiré.
  • OUT: À brancher à une entrée numérique du microcontrôleur (j'ai choisi la broche 2 du Uno)
  • -: GND
Mon module comporte déjà une résistance de tirage entre la broche + et la broche OUT, il n'a donc pas été nécessaire que j'en installe une moi-même.


Installation de la bibliothèque DHT d'Adafruit

J'ai choisi d'utilise la bibliothèque DHT d'Adafruit, qui peut être utilisée avec les capteurs DHT11, DHT12, DHT21/AM2301  et DHT22/AM2302. Vous pouvez passer par le gestionnaire de bibliothèques de l'IDE Arduino.

L'exemple "DHTtester" fourni avec la bibliothèque permet de vérifier rapidement le bon fonctionnement du capteur. Puisqu'Adafruit se trouve aux États-Unis, ils ont intégré à leur bibliothèque des fonctions qui permettent d'obtenir facilement la température en degrés Fahrenheit ainsi que l'indice de chaleur utilisé aux États-Unis pour exprimer le degré d'inconfort causé par la combinaison de la chaleur et de l'humidité  (formules de Rothfusz et Steadman).



Sketch: température, humidité relative, point de rosée et humidex

Puisque je vis au Canada, c'est plutôt l'indice humidex qui m'intéresse. Et puisque l'humidex se calcule au moyen du point de rosée (température sous laquelle la vapeur d'eau contenue dans l'air se condense sur les surfaces), j'ai écrit un sketch qui affiche la température, l'humidité relative, le point de rosée et l'indice humidex.

Connaissant la température et l'humidité relative, la formule de Heinrich Gustav Magnus-Tetens permet de calculer le point de rosée:


J'ai d'abord calculé α(T,RH) à la ligne 48, dans une variable baptisée "alpha", puis je l'ai utilisée à la ligne 49 pour le calcul du point de rosée (variable "rosee").

Finalement, j'ai calculé l'indice humidex (ligne 52) grâce à l'équation mise au point par Masterton et Richardson:
Pour l'interprétation du résultat obtenu, j'ai utilisé la formulation exacte proposée par Environnement et changement climatique Canada.

Ce qui m'a donné ce résultat dans le moniteur série:



-
-

À lire également:

Pour compléter vos mesures météorologiques, vous pouvez mesurer la pression atmosphérique avec un capteur BMP180 et fabriquer votre propre anémomètre.

Yves Pelletier (TwitterFacebook)


Aucun commentaire:

Enregistrer un commentaire