5.8 Sistema de monitoreo de humedad del suelo
5.8.1 Sensor de humedad del suelo

Atención: No desborde agua de las piscinas de plástico en los experimentos. Derramar agua sobre otros sensores puede causar no solo un cortocircuito o que los módulos dejen de funcionar, sino también la generación de calor e incluso una explosión. ¡Tenga mucho cuidado! Especialmente para los usuarios más jóvenes, opere con sus padres.
Abra el código 5.8.1Soil-Humidity-Sensor con Arduino IDE.
#define SoilHumidityPin 32
void setup() {
Serial.begin(9600);
pinMode(SoilHumidityPin,INPUT);
}
void loop() {
//Define una variable como el valor del sensor de humedad del suelo
int ReadValue = analogRead(SoilHumidityPin);
Serial.println(ReadValue);
delay(500);
}
Elija la placa ESP32 Dev Module y el puerto COM, y cargue el código.

Resultado de la prueba:
Abra el monitor serie. Toque el área de detección del sensor con un dedo húmedo y el valor de humedad detectado actualmente se imprimirá en el monitor (rango: 0~4095).

Los sensores de humedad del suelo se utilizan principalmente para medir el contenido de agua en el suelo volumétrico, monitorear la humedad del suelo, irrigar cultivos y proteger bosques.

5.8.2 Sistema de monitoreo de humedad del suelo
Adoptamos LCD1602 para revelar el valor en tiempo real de la humedad del suelo. Cuando el valor es inferior a la humedad mínima establecida, el zumbador emitirá un sonido para avisar a los agricultores sobre la irrigación.
Abra el código 5.8.2Soil-Humidity-Testing-System con 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);
//Cuando el valor detectado es inferior al umbral establecido, el zumbador emite un sonido
if(200 >= shvalue)
{
ledcWriteTone(BuzzerPin,532);
delay(100);
ledcWriteTone(BuzzerPin,532);
delay(100);
ledcWriteTone(BuzzerPin,659);
delay(100);
ledcWriteTone(BuzzerPin,0); //Detener la alarma
}
delay(500);
lcd.clear();
}
Elija la placa ESP32 Dev Module y el puerto COM, y cargue el código.

Resultado de la prueba:
El LCD1602 muestra el valor en tiempo real de la humedad del suelo. Cuando el valor detectado por el sensor de humedad del suelo es inferior a 200, el zumbador emite un sonido de alarma.

Atención: No desborde agua de las piscinas de plástico en los experimentos. Derramar agua sobre otros sensores puede causar no solo un cortocircuito o que los módulos dejen de funcionar, sino también la generación de calor e incluso una explosión. ¡Tenga mucho cuidado! Especialmente para los usuarios más jóvenes, opere con sus padres.