#include <LiquidCrystal.h> // Incluye la librería para el LCD
#define SensorHumedad A0 // Define el pin del sensor de humedad
#define Bomba 7 // Define el pin de la bomba de agua
int ValorHumedad; // Variable para almacenar el valor de humedad
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Configura los pines del LCD
void setup() {
pinMode(Bomba, OUTPUT); // Define el pin de la bomba como salida
lcd.begin(16, 2); // Inicializa el LCD
lcd.print("Sistema de riego"); // Imprime en el LCD
}
void loop() {
ValorHumedad = analogRead(SensorHumedad); // Lee el valor del sensor de humedad
ValorHumedad = map(ValorHumedad, 0, 1023, 0, 100); // Convierte el valor a porcentaje
lcd.setCursor(0, 1); // Establece la posición del cursor del LCD
lcd.print("Humedad: "); // Imprime en el LCD
lcd.print(ValorHumedad); // Imprime en el LCD
lcd.print("%"); // Imprime en el LCD
if (ValorHumedad > 50) { // Si la humedad es menor a 50%
digitalWrite(Bomba, HIGH); // Enciende la bomba de agua
lcd.setCursor(0, 0); // Establece la posición del cursor del LCD
lcd.print("Regando... "); // Imprime en el LCD
} else { // Si la humedad es mayor o igual a 50%
digitalWrite(Bomba, LOW); // Apaga la bomba de agua
lcd.setCursor(0, 0); // Establece la posición del cursor del LCD
lcd.print("No riego.. "); // Imprime en el LCD
}
delay(1000); // Espera un segundo antes de volver a leer el sensor de humedad
}