5.8 Système de surveillance de l’humidité du sol
5.8.1 Capteur d’humidité du sol

Attention : Ne laissez pas l’eau déborder des piscines en plastique pendant les expériences. Le déversement d’eau sur d’autres capteurs peut non seulement provoquer un court-circuit ou la mise hors service des modules, mais aussi générer de la chaleur et même une explosion. Soyez extrêmement prudent ! Surtout pour les jeunes utilisateurs, veuillez opérer avec vos parents.
Ouvrez le code 5.8.1Soil-Humidity-Sensor avec Arduino IDE.
#define SoilHumidityPin 32
void setup() {
Serial.begin(9600);
pinMode(SoilHumidityPin,INPUT);
}
void loop() {
//Define a variable as the value of soil humidity sensor
int ReadValue = analogRead(SoilHumidityPin);
Serial.println(ReadValue);
delay(500);
}
Choisissez la carte ESP32 Dev Module et le port COM, puis téléchargez le code.

Résultat du test :
Ouvrez le moniteur série. Touchez la zone de détection du capteur avec un doigt mouillé et la valeur d’humidité actuellement détectée sera affichée sur le moniteur (plage : 0~4095).

Les capteurs d’humidité du sol sont principalement utilisés pour mesurer la teneur en eau volumétrique du sol, surveiller l’humidité du sol, irriguer les cultures et protéger les forêts.

5.8.2 Système de surveillance de l’humidité du sol
Nous utilisons un écran LCD1602 pour afficher la valeur en temps réel de l’humidité du sol. Lorsque la valeur est inférieure à l’humidité minimale définie, le buzzer émet un son pour avertir les agriculteurs d’irriguer.
Ouvrez le code 5.8.2Soil-Humidity-Testing-System avec Arduino IDE.
#include <LiquidCrystal_I2C.h>
#define BuzzerPin 16
#define SoilHumidityPin 32
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
ledcAttachChannel(BuzzerPin,1000,8,4);
pinMode(SoilHumidityPin,INPUT);
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
float shvalue = analogRead(SoilHumidityPin);
lcd.setCursor(0, 0);
lcd.print("SoilHum:");
lcd.setCursor(9, 0);
lcd.print(shvalue);
//When the detected value is lower than the set threshold, the buzzer emits sound
if(200 >= shvalue)
{
ledcWriteTone(BuzzerPin,532);
delay(100);
ledcWriteTone(BuzzerPin,532);
delay(100);
ledcWriteTone(BuzzerPin,659);
delay(100);
ledcWriteTone(BuzzerPin,0); //Stop alarming
}
delay(500);
lcd.clear();
}
Choisissez la carte ESP32 Dev Module et le port COM, puis téléchargez le code.

Résultat du test :
L’écran LCD1602 affiche la valeur en temps réel de l’humidité du sol. Lorsque la valeur détectée par le capteur d’humidité du sol est inférieure à 200, le buzzer émet un son d’alarme.

Attention : Ne laissez pas l’eau déborder des piscines en plastique pendant les expériences. Le déversement d’eau sur d’autres capteurs peut non seulement provoquer un court-circuit ou la mise hors service des modules, mais aussi générer de la chaleur et même une explosion. Soyez extrêmement prudent ! Surtout pour les jeunes utilisateurs, veuillez opérer avec vos parents.