Lire une sonde DHT22 avec un arduino

Bonjour à tous,

Aujourd’hui nous allons attaquer un grand classique : Lire une sonde DHT22 / AM2303 (qui permet de relever la température et l’humidité), avec une carte Arduino Uno.

Ingrédients

Pour réaliser cette recette il vous faudra :

  • Une carte arduino
  • Une sonde DHT22
  • Une plaque de prototypage
  • Quelques câbles mâles / mâles

Et c’est tout 🙂

Présentation de la sonde

La sonde DHT22 est une des sondes les plus classiques lorsque l’on souhaite mesurer une température avec un minimum de fiabilité. Évitez d’utiliser la DHT11 qui ne vaut pas le coup même si elle est moins chère. Elle est moins précise, et ne prend pas les températures négative. A éviter donc !

Notre sonde DHT22 a elle les spécifications suivantes :

  • Entre 3 et 5V en entrée
  • Lecture de l’humidité entre 0 et 100% avec une précision allant de 2% à 5%
  • Lecture de la température de -40°C à 80°C avec une précision d’environ 0.5°C

Vous trouverez dans la datasheet l’ensemble des spécifications techniques.

Montage

Passons maintenant à la partie marrante : brancher des fils et se planter 🙂 Pour lire cette sonde, il faut faut effectuer les branchements suivant :

 

Montage Arduino et DHT22
Montage Arduino et DHT22

La sonde possède 4 pattes, mais la 3 ème ne nous sert pas. On relie donc les pattes de la manière suivante :

  1. Vers l’alimentation 3,3 Volts
  2. Vers un pin de donnée
  3. On laisse vide
  4. Vers un pin GRD

ATTENTION : On m’a fait remarqué que je m’étais gentillement planté comme une bleusaille sur les codes couleurs. Contrairement à ce qui devrait être fait, ici, le rouge est pour le moins et le bleu pour le plus. Faites donc attention à ne pas reproduire mon erreur pour ne pas abimer votre sonde.

Et il faut bien évidemment mettre une résistance de 4700 Ohm à la broche 2 et la relier ensuite à l’alimentation (référez vous à mon schéma pour l’exemple). Voila, montage terminé, c’est on ne peut plus simple.

Le code

Maintenant que notre montage est complet, on va désormais s’occuper de la partie code pour récupérer les informations que l’on recherche : la température et l’humidité.

Heureusement pour nous, il existe sur le net plusieurs bibliothèques pour exploiter les données récoltées, nous allons ici exploiter celle d’Adafruit pour utiliser notre sonde. Téléchargez le code sur le github dédié.

Pensez à modifier cette ligne pour renseigner le pin que vous avez utilisé.

#define DHTPIN 2

Vérifiez le code, puis compilez le et téléversez le sur votre carte arduino. Et hop, cela fonctionne.

Ouvrez le serial monitor et vous obtenez un affichage dans ce genre :

Affichage serial de la lecture du DHT22
Affichage serial de la lecture du DHT22

Et voila, le tour est joué !

Je vous invite à faire un tour dans la bibliothèque fournie par Adafruit, notamment dans le fichier DHT.cpp pour comprendre comment fonctionne la lecture de la sonde.

N’hésitez pas non plus à poser vos questions.

Laisser un commentaire

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