// librerias a utilizar
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// Definiciones de pines de sensores
const int DHTPIN = 4; // Pin del sensor DHT22
const int RELAY_PIN = 26; // Pin del relé
// Variables globales
DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
pinMode(RELAY_PIN, OUTPUT);
dht.begin();
lcd.init();
lcd.backlight();
lcd.begin(16, 2);
}
void loop() {
// Lectura de los sensores y almacenamiento
float temperatureDHT22 = dht.readTemperature(); // Temperatura
float humidityDHT22 = dht.readHumidity(); // Humedad
// Mostrar los datos en el LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperatureDHT22);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(humidityDHT22);
lcd.print("%");
// Activar el relé si la humedad del suelo está entre 60% y 75%
if (humidityDHT22 < 60) {
digitalWrite(RELAY_PIN, HIGH);
} else if (humidityDHT22 > 75) {
digitalWrite(RELAY_PIN, LOW);
}
delay(10000); // Esperar 10 segundos antes de tomar otra lectura
}