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

5.8.1 Capteur d’humidité du sol

image

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.

5458448

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).

image-20250417145121859

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.

couy81

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.

5458448

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.

flo8

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.