Le capteur DHT22 (aussi appelé AM2302) permet de mesurer l'humidité relative de l'air ainsi que la température ambiante. Nous l'utilisons aujourd'hui avec un Raspberry Pi programmé en Python.
Le capteur comporte un condensateur dont la capacité dépend de l'humidité. Puisqu'il faut également connaître la température pour pouvoir calculer l'humidité relative, le DHT22 comporte également un capteur de température intégré.J'ai utilisé un DHT22 qui est incorporé à un module comportant 3 broches: + , out et -. Ce module comporte déjà une résistance de tirage entre les broches + et OUT. Si ce n'est pas le cas pour le capteur que vous utilisez, il est recommandé de placer une résistance de 4,7 kΩ ou 10 kΩ environ entre DATA et VCC.
Pour ma part, j'ai branché mon module au Raspberry Pi de la façon suivante:
- Broche + du DHT22: sortie 3,3 V du Raspberry Pi
- Broche out du DHT22: broche GPIO 4 du Raspberry Pi
- Broche - du DHT22: broche GND du Raspberry Pi
pip3 install adafruit-blinkapip3 install adafruit-circuitpython-dhtsudo apt-get install libgpiod2
Le script ci-dessous, inspiré d'un exemple fourni par Adafruit, affiche la température, l'humidité relative, le point de rosée et l'indice humidex.
-
Si vous décommentez la ligne 38, un message d'erreur sera affiché en cas d'échec de la lecture du capteur. Dans mon cas, j'ai eu la surprise de constater qu'environ une lecture sur quatre échouait avec une de ces deux mentions: "A full buffer was not returned. Try again." ou encore "Checksum did not validate. Try again.". Après avoir vainement tenté de trouver une façon d'éviter ces erreurs, j'ai fini par me résigner et à simplement ne pas afficher le message d'erreur. De toute façon, la température et l'humidité sont des paramètres qui varient lentement, on a donc tout le temps de reprendre notre mesure si elle a échoué.
À lire également:
J'ai déjà utilisé un DHT22 avec un Arduino Uno.
Aucun commentaire:
Enregistrer un commentaire