Accueil » Capteur d’humidité

Capteur d’humidité

Capteur d’humidité :

Dans ce tutorial on s’intéressera à l’utilisation d’un capteur d’humidité, pour une application d’irrigation automatique de nos plantes, Nous allons faire deux montages :

Premier montage « mode digital » : on se limitera à utiliser la sortie numérique du capteur pour commander notre système d’irrigation.

Deuxième montage « mode analogique » : en plus de ce qu’on réaliser dans le premier montage on va aussi lire les valeurs issues de la sortie analogique du capteur et les tracer sous Matlab et Processing

Ce module permet de mesurer l’humidité du sol en mesurant sa conductivité électrique, cette méthode est très économique et plus simple à utiliser, pourtant elle est moins précise pour un usage généralisé puisque la nature du sol peut influencer sa conductivité électrique, mais avec le bon réglage on peut facilement remédier à ça.

. Applications :

  • Arrosage et irrigation automatique des plantes
  • Mesures analogiques d’humidité
  • Détecteur de pluie
  • Peut-être utiliser comme une alarme grâce à son seuil réglable, sorties numérique et analogique.

Fonctionnement :

Le module est constitué de deux parties:

d’un coté on a la sonde qui sera plantée dans le sol pour mesurer la conductivité électrique, et de l’autre coté on aura un module qui sera branchée à notre carte arduino.

Il convient aussi de noté qu’on peut utiliser directement ce capteur avec un relais ou même une une simple alarme pour un usage en mode digital (le relais va commander une pompe à arrosage ou déclencher une alarme à partir d’un seuil que l’on peut choisir on réglant le potentiomètre du capteur).

Le module possède deux modes de fonctionnement :

  • Un mode digital (on /off) qui déclenche au-dessous d’un seuil réglable.
  • Un mode analogique pour mesurer précisément la conductivité du sol (ou l’humidité)

Le module possède un potentiomètre qui permet de régler le seuil de déclanchement il suffit de tourner le trou (en vert) à fin de choisir le seuil convenable à notre usage.  

NB :la résistance du sol augmente avec la sécheresse, L’augmentation de l’humidité fait baisser la sortie du capteur, si on le met dans l’eau on aura 0V à la sortie.

Câblage du capteur :

  • VCC Alimentation externe 3.3 V ou 5V
  • GND Masse
  • DO Sortie digitale du module (high / low)
  • AO Sortie analogique du module

 Instructions d’utilisation :

Le capteur est très sensible à l’humidité. Une valeur de référence est réglée sur le module(potentiomètre). La sortie D0 est à l’état haut si l’humidité est inférieur au seuil de référence, ou à l’état bas si l’humidité est supérieure au seuil.

La sortie numérique peut être connecté directement avec un arduino ou un microcontrôleur. Elle peut aussi être connecter à un indicateur voyant (LED) ou sonore (alarme, buzzer…)

La sortie analogique A0 connecté à un convertisseur analogique/numérique 10 bits, peut fournir une information plus précise.

  • Tension de fonctionnement : 3,3V-5V
  • Taille du PCB :  3cm x 1.6cm
  • Indicateur de tension (LED rouge)
  • Indicateur de sortie numérique (LED verte)
  • Le comparateur est basé sur un LM393 (très stable)

Exemple d’utilisation :

 La programmation de ce montage est assez simple. On paramètre l’entrées de l’arduino (liée au capteur) et la sortie (liée à un relais, dans cet exemple, j’ai utiliser une LED pour visualiser les résultats) dans la fonction setup. Si l’entrée D0 du capteur est à l’état haut (HIGH) on allume la LED ce qui correspond à commander le relais pour commencer l’arrosage pendant une période précise. Sinon, on éteint la LED (arrêt de l’arrosage).

int t=2; // période d'arrosage, il suffit de changer la valeur de "t" par la période souhaitée
const int arr = 5; // broche 5 de l'arduino et liée au relais.
const int plante = 6; // broche 6 de l'arduino et liée à la sortie numérique du capteur.

///////////////////////// fonction d'initialisation de la carte ////////////////////////


void setup() 
{
pinMode(arr, OUTPUT); // arr est une broche de sortie pour commander le relais
pinMode(plante, INPUT); // plante est une broche d'entrée 
}


////////////////////////////// fonction principale ////////////////////////////////////


void loop() 
{ 
int hum = digitalRead(plante); // Lecture de l’état du capteur 
if(hum == HIGH) // Si le capteur est à l’état haut 
{
  while (t>0){
digitalWrite(arr, HIGH); // Allumer L1 
delay(1000);// arrosage pendant une minute
t=t-1;//décrémentation de t d'une minute
}
}
else // Sinon
{
digitalWrite(arr, LOW); // Eteindre L1 
} 
delay(1000); // Attendre 1 seconde 
}

Laisser un commentaire