Ceci est une ancienne révision du document !
Capteurs - Humidité
[Mise à jour le 30/6/2022]
1. Humidité de l'air
1.1 Généralités
L'humidité relative de l'air, ou degré hygrométrique, couramment noté φ, correspond au rapport de la pression partielle de la vapeur d'eau contenue dans l'air sur la pression de vapeur saturante (ou tension de vapeur) à la même température. Elle est donc une mesure du rapport entre le contenu en vapeur d'eau de l'air et sa capacité maximale à en contenir dans ces conditions. Ce rapport changera si on change la température ou la pression bien que l'humidité absolue de l'air n'ait pas changé. Elle est mesurée à l'aide d'un hygromètre.Wikipédia
- Ressource
- Détection et mesure d'éléments ou de molécules à consulter sur Wikiversité.
1.2 HIH4030
- Source : wiki Sparkfun.
- Distributeur : Gotronic
- Caractéristiques
- Alimentation: 5 Vcc (4 à 5,8 Vcc)
- Consommation: 200 µA
- Plage de mesure: 0 à 100% HR
- Précision: ± 3,5% HR
- Temps de réponse: 5 s
- Sortie analogique linéaire
- Température de service: -40°C à +85°C
- Dimensions: 19 x 7,6 mm
- Documentation
- PDF à télécharger ici
- Modèles
- Sans correction de l'influence de la température : VOUT=(VSUPPLY)(0.0062(sensor RH) + 0.16), typical at 25 ºC
- Avec correction : RH = (Sensor RH)/(1.0546 – 0.00216T), T in ºC
- Aide pour la simulation de la chaîne de mesure
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à télécharger ici et à installer dans l'IDE.
- Installation : dézipper le répertoire à télécharger sur Github et le copier dans C:\Documents\Arduino\libraries.
- Connexion à un shield Tinkerkit v2 monté sur une Arduino Uno.
- Traitement à réaliser : RH=f(N)
- Exemple 1 (sans correction de l'influence de la température ambiante)
- HIH4030.cpp
// Library Inclusions #include <SparkFun_HIH4030.h> // Analog IO Pin Connected to OUT #define HIH4030_OUT A0 // Supply Voltage - Typically 5 V #define HIH4030_SUPPLY 5 // Library Variables HIH4030 sensorSpecs(HIH4030_OUT, HIH4030_SUPPLY); void setup(void){ Serial.begin(9600); // Serial Port } void loop(void){ Serial.print("Sensor Voltage = "); Serial.print(sensorSpecs.vout()); Serial.println(" V"); Serial.print("Relative Humidity = "); Serial.print(sensorSpecs.getSensorRH()); Serial.println(" %"); Serial.println(""); // Return Space Between Readings delay(5000); // Slow Down Serial Output }
- Exemple 2 : mesure de RH avec correction de l'influence de la température ambiante
Arduino Examples → Examples from Custom Libraries → SparkFun_HIH4030_Library → HIH4030_HumiditySensor_Example.ino
2. Humidité de la terre
2.1 Généralités
Il est pertinent de connaître la nature du sol avant de se lancer dans la plantation : sol drainé, sol humide ou sol sec.
Les différents végétaux n'ont pas les mêmes besoins en eau. Certains préfèrent un sol humide tandis que d'autres évoluent plus harmonieusement dans un sol riche en sable. ooreka
2.2 Moisture Sensor
- Source : wiki
Applications: contrôle d'humidité pour plante, détecteur d'eau etc.
- Distributeur : Gotronic
- Caractéristiques
- Alimentation: 3,3 ou 5 Vcc
- Consommation: 35 mA maxi
- Dimensions: 60 x 20 x 13 mm
- Modèle
- Fichier Excel à télécharger ici
- Aide pour la simulation de la chaîne de mesure
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à installer dans l'IDE : aucune
- Connexion à un shield Tinkerkit v2.
- Traitement à réaliser : RH=f(N)
- Un premier exemple pour tester le capteur
- moisture.cpp
// ------------------------------------------ // Capteur : humidité terre // Arduino : Uno // Date : 3/2019 // Fichier : moisture.ino // Auteur : Philippe Mariano // ------------------------------------------ #include <math.h> #include <stdio.h> // Variables // remarque : float codé sur 4 octets float k = 776; int N = 0; // image de l'humidité void setup() { Serial.begin(9600); } void loop() { // Lire N = analogRead(A0); // Traiter float RH = 20 - 25 * log(1 - N / k); // RH=f(N) // Ecrire Serial.print("RH"); Serial.print(N); Serial.print("="); Serial.print(RH); Serial.print("\n"); delay(2000); }