Capteur d'humidité du sol (analogique et numérique) avec Ard

Tutoriel d'utilisation du capteur d'humidité du sol (analogique et numérique) avec Arduino

Composants utilisés
Principe de fonctionnement

Ce capteur mesure l'humidité du sol à partir des changements de conductivité électrique de la terre (la résistance du sol augmente avec la sécheresse).
Câblage
Le capteur se branche simplement avec 2 fils sur la platine de mesure (GND et signal).
La platine de mesure est alimentée directement par l'Arduino en 5V et possède deux sorties indépendantes, analogique / digitale.

Montage analogique
Capteur --> Carte Arduino Uno
On branche ici une LED couleur entre GND (Arduino) et Pin 2. Elle sert de témoin de seuil de sécheresse atteint.
A la place de cette LED on peut aussi connecter un relais commandant une pompe d'arrosage, une alarme, etc...

Montage analogique et numérique
Le code pour Arduino

Le moniteur série affiche les mesures du capteur. la LED s'allume selon le niveau de sécheresse.

Affichage sous Processing
On utilise ici l'oscilloscope numérique du tutoriel "photo résistance".
Le code Arduino sort à 9600 bauds les mesures analogiques qui sont ici affichées sur la courbe en tels réel.

L'augmentation de l'humidité fait baisser la sortie du capteur.

On peut tester le capteur en le plongeant dans un verre d'eau, des variations de niveau de moins d'un millimètre sont très visibles sur la courbe.
Un ajout de sel (augmente la conductivité électrique) baisse également la sortie du capteur.

Pour savoir quand arroser vos plantes, faire un étalonnage de seuil d'arrosage selon les besoins en eau de l'espèce.
Le potentiomètre rotatif de la carte permet de régler le seuil.
Voyants de contrôle
Applications
Arrosage automatique, culture hydroponique, détecteur de débordement, d'inondation de cave...
Composants utilisés
- 1 Capteur d'humidité du sol
- 1 Carte Arduino Uno
- 1 Pompe électrique (pour arrosage, aquariums..)
ou un module relais... - 1 LED couleur
- 1 Résistance de 470 Ohm en série avec la LED
Principe de fonctionnement
Ce capteur mesure l'humidité du sol à partir des changements de conductivité électrique de la terre (la résistance du sol augmente avec la sécheresse).
- Une sortie digitale avec un seuil réglable par potentiomètre permet de déclencher une pompe d'arrosage ou une alarme par exemple.
- Une seconde sortie analogique permet de suivre les fluctuations précises de l'humidité du sol.
Câblage
Le capteur se branche simplement avec 2 fils sur la platine de mesure (GND et signal).
La platine de mesure est alimentée directement par l'Arduino en 5V et possède deux sorties indépendantes, analogique / digitale.
Montage analogique
Capteur --> Carte Arduino Uno
- Vcc --> +5V Arduino
- GND --> masse GND Arduino
- A0 (sortie analogique) --> pin A0 Arduino
- D0 (sortie digitale) --> pin 3 digitale Arduino
On branche ici une LED couleur entre GND (Arduino) et Pin 2. Elle sert de témoin de seuil de sécheresse atteint.
A la place de cette LED on peut aussi connecter un relais commandant une pompe d'arrosage, une alarme, etc...
Montage analogique et numérique
Le code pour Arduino
- Code: Tout sélectionner
//****************************************************
// Mesure analogique et digitale de l'humidité du sol
// Avec le module Humidité Sol
// TipTopboards.com
// 23 12 2013 demo_hsol
//****************************************************
// Brancher +V -> 5V et GND
// Sortie analogique du capteur -> A0 Arduino
// Sortie digitale du capteur -> pin 3 Arduino (avec seuil)
//On rajoute une LEd témoin sur pin 4
int PinAnalogiqueHumidite=0; //Broche Analogique de mesure d'humidité
int PinNumeriqueHumidite=2; //Broche Numérique mesure de l'humidité
int PinLed=3; //LED témoin de seuilde sécheresse
int hsol; //Humidite su sol, mesure analogique
int secheresse; //0 ou 1 si seuil atteint
void setup(){ // Initialisation
Serial.begin(9600); //Connection série à 9600 baud
pinMode(PinAnalogiqueHumidite, INPUT); //pin A0 en entrée analogique
pinMode(PinNumeriqueHumidite, INPUT); //pin 3 en entrée numérique
pinMode(PinLed, OUTPUT); //LED témoin
}
void loop() { //boucle principale
hsol = analogRead(PinAnalogiqueHumidite); // Lit la tension analogique
secheresse = digitalRead(PinNumeriqueHumidite);
Serial.println(hsol); // afficher la mesure
//Serial.print(" ");
//Serial.println(secheresse); //0 ou 1 si le seuil est dépassé
if (secheresse==1)
{
digitalWrite(PinLed, HIGH); // LED allumée
}
else {
digitalWrite(PinLed, LOW); // LED off
}
delay(20); //delai entre 2 mesures 20ms
}
Le moniteur série affiche les mesures du capteur. la LED s'allume selon le niveau de sécheresse.
Affichage sous Processing
On utilise ici l'oscilloscope numérique du tutoriel "photo résistance".
Le code Arduino sort à 9600 bauds les mesures analogiques qui sont ici affichées sur la courbe en tels réel.
L'augmentation de l'humidité fait baisser la sortie du capteur.
On peut tester le capteur en le plongeant dans un verre d'eau, des variations de niveau de moins d'un millimètre sont très visibles sur la courbe.
Un ajout de sel (augmente la conductivité électrique) baisse également la sortie du capteur.
Pour savoir quand arroser vos plantes, faire un étalonnage de seuil d'arrosage selon les besoins en eau de l'espèce.
Le potentiomètre rotatif de la carte permet de régler le seuil.
Voyants de contrôle
- La première LED "PowerOn" du module s'allume quand il est sous tension.
- La seconde LED "Humidité" s'allume si le sol est suffisamment humide (la sortie numérique est alors à 1).
Applications
Arrosage automatique, culture hydroponique, détecteur de débordement, d'inondation de cave...