#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
const int Led =13; //definir salida para led o modulo relay
LiquidCrystal_I2C lcd(0x27, 16, 2); // Dirección I2C, 16 columnas y 2 filas
#define DHTPIN 2 // Pin de datos del sensor
#define DHTTYPE DHT22 // Tipo de sensor (DHT11 o DHT22)
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// put your setup code here, to run once:
pinMode(Led,OUTPUT); // define el tipo para el pin
lcd.init(); // inicializa el LCD
lcd.backlight();// enciende luz del LCS
Serial.begin(9600); // abre comunicación serial
dht.begin();// inicializa el sensor de temperatura y humedad
}
void loop() {
delay(2000); // Espera 2 segundos entre lecturas
float tempC = dht.readTemperature(); // Temperatura en grados Celsius
float hum = dht.readHumidity(); // Humedad relativa
Serial.print("Temperatura: ");
Serial.print(tempC);
Serial.print(" °C, Humedad: ");
Serial.print(hum);
Serial.println(" %");
// Si la humedad baja debería de activar el relay para activar la bomba de agua hasta que la humedad se establesca al valor requerido
if (hum <= 25) {
digitalWrite(Led, HIGH);
}
if (hum > 26) {
digitalWrite(Led, LOW);
}
//Visualización de los valores en la LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temperatura (C):");
lcd.setCursor(2, 1);
lcd.print(tempC);
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Humedad (%):");
lcd.setCursor(0, 1);
lcd.print(hum);
delay(2000);
}