[Arduino] Fabriquez votre propre capteur d'humidité avec le DHT22 !

Tags: Tutoriel Informatique Arduino


 Attention, cet article date de plus d'un an. Les informations qu'il contient sont peut-être obsolètes. 

Bonjour à tous !

Dans le précédent article, je vous avais promis un article sur un outil que j’utilise au quotidien, n’étant pas encore prêt pour faire un article de qualité dessus aujourd’hui, j’ai décidé de parler d’un autre sujet ! On va voir aujourd’hui comment mettre en place un capteur d’humidité avec une carte Arduino. Le petit bonus sera de connaître également la température “théorique” et de calculer la température ressentie.

On commencera par présenter la carte Arduino, ensuite on verra le matériel nécessaire et enfin le montage en question.

Arduino, DHT22, c’est quoi ?

Présentation de la carte Arduino

La carte Arduino UNO
La carte Arduino UNO

Arduino (ou Genuino) est une marque de cartes matériellement libres sur lesquelles se trouve un microcontrôleur. Ce microcontrôleur peut être simplement programmé pour analyser et produire des signaux électriques et sert la domotique, le pilotage de robots … Bref, trêve de copié-collé, je vous redirige vers la page Wikipédia si vous voulez en savoir plus.

Le capteur DHT22

Le capteur DHT22
Le capteur DHT22

Le capteur DHT22 est un capteur de température et d’humidité, il possède les caractéristiques suivantes:

  • 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

Si vous désirez plus d’informations, la datasheet est disponible à l’adresse suivante.

Son principal défaut est sa fréquence d’échantillonnage de 0,5Hz qui implique une mesure toutes les 2 secondes au plus rapide.

Je l’ai obtenu sur Amazon pour 8€, ce qui donne un prix tout à fait correct au vu des caractéristiques promises.

Un exemple de montage

Bien sur, ce n’est pas la seule approche possible pour mettre en place le capteur DHT22 avec un Arduino, voici tout de même le montage que j’ai réalisé.

Le matériel nécessaire

Les composants que j’ai utilisés sont les suivants, à adapter selon ce que vous avez bien sur !

  • Une carte Arduino UNO.
  • Le capteur DHT22 (le DHT11 peut également être envisagé, mais il est moins précis).
  • Une résistance de 10 kΩ et une de 222Ω si vous utilisez l’écran.
  • Si vous le désirez, un écran LCD avec un potentiomètre pour régler son contraste.
  • Une vingtaine de fils de raccordements.

Le montage

À l’aide du logiciel Fritzing, j’ai pu dessiner les schémas des montages avec et sans écran:

Montage sans l’écran Montage avec l’écran

Le code

Pré-requis nécessaires

Le montage nécessite l’installation des 2 librairies suivantes:

  • La librairie DHT-sensor-library disponible sur github.
  • Ainsi que la librairie Adafruit_Sensor disponible sur github.

Extraits de code

Un script pour une carte Arduino est généralement constituée du squelette suivant:

  • La fonction setup pour mettre en place les composants (la fonction est appelée au lancement du script).
  • La fonction loop qui sera appelée en continu tout au long de l’exécution du script (un delay (sleep) sera généralement utilisé).

Dans notre cas (pour le montage avec écran), la fonction setup est défini de cette façon:

void setup() {
  lcd.begin(16, 2);

  lcd.print("Initialization");
  lcd.setCursor(0, 1);
  lcd.print("...");
}

Enfin la fonction loop ressemble à ceci:

void loop() {
  // Wait a few seconds between measurements.
  delay(2000);

  lcd.clear();
  lcd.setCursor(0, 0);

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  
  ...
  
  // Compute heat index in Celsius -> put at true for Fahrenheit
  float hic = dht.computeHeatIndex(t, h, false);
  
  ...
}

Le code complet

Le code pour les montages avec et sans écran est disponible sur mon serveur git.

Le résultat

Voici donc une photo du montage avec l’écran:

Le montage en photo
Le montage en photo

Avec une mesure toutes les 2 secondes, on arrive à pouvoir lire facilement les informations retournées. La précision est vraiment optimale, pour son petit prix, le capteur DHT22 remplit parfaitement son rôle. Bien sur, si vous passez de l’intérieur de votre maison à une température négative dehors, il faudra quelques minutes au capteur pour descendre progressivement vers les mesures réelles.

Conclusion

J’espère que cet article sur un cas d’utilisation de la carte Arduino vous aura plus ! N’hésitez pas à utiliser la section commentaires ci-dessous pour vos remarques, avis et suggestions. Par ailleurs, seriez-vous intéressé par d’autres articles sur des cas d’utilisation d’Arduino ?

Commentaires




Ailleurs sur le Web


Joplin : améliorer la sécurité du lien Nextcloud

Résumé (valable pour toute application webdav): Partager un dossier (URL du type: https://your-nextcloud.com/s/xF4CDBt5mRCid83) avec un mdp (ex: UxMb6WFMqkoQ) Appli webdav: url: https://your-nextcloud.com/public.php/webdav/ username: xF4CDBt5mRCid83 (celui du…

via Shaarli le 03 janvier 2023

Building A Virtual Machine inside ChatGPT

C'est juste dingue :o

via Shaarli le 06 décembre 2022

Le vrai coût écologique d’un email - Les Numériques

Vous avez sans doute souvent entendu que supprimer ses vieux emails et mettre de l’ordre dans sa messagerie était “bon pour la planète”. A priori, ça ne peut pas faire de mal, mais c’est une idée à laquelle il faut aujourd’hui tordre le cou. En effet, nou…

via Shaarli le 15 octobre 2022

Généré avec openring


Recettes de gourmands


Galette comtoise

Sans vouloir être chauvin, cette galette venant de Besançon est ma galette préférée.

via cooking.pofilo.fr le 12 février 2023

Crösti-monsieurs

Un "creuchti-monsieur", c'est un croque-monsieur mais avec des röstis en guise de pain.

via cooking.pofilo.fr le 15 janvier 2023

Flammekueche

Sacrilège, cette tarte flambée est dans la catégorie des pizzas ... On verra si je crée cette catégorie si je rajoute d'autres tartes flambées !

via cooking.pofilo.fr le 25 décembre 2022

Généré avec openring