#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Incluimos librería, lo primero es importar la libreria DHT.h
#include <DHT.h>
//Crear el objeto lcd dirección 0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x27,16,2); //
// Definimos el pin digital donde se conecta el sensor, recordemos que el DHT11 convierte internamente la señal analogica a una de tipo diguital
#define DHTPIN 2
// Dependiendo del tipo de sensor, creamos otra constante para declarar el tipo de sensor que vamos a utilizar.
// Esta libreria tambien se usa para controlar el DHT22, el siguiente luego del DHT11
#define DHTTYPE DHT22
// Inicializamos el sensor DHT11, declaramos el objeto DHT con parametros pin y tipo de DHT
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Inicializar el LCD
lcd.init();
//Encender la luz de fondo.
lcd.backlight();
// Comenzamos el sensor DHT, con la sentencia begin()
dht.begin();
}
void loop() {
// Leemos la humedad relativa
float h = dht.readHumidity();
// Leemos la temperatura en grados centígrados (valor por defecto)
float t = dht.readTemperature();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp:");
lcd.print(t);
lcd.print((char)223); lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Humedad:");
lcd.print(h);
lcd.print("%");
delay(2000);
if(t<18){
lcd.clear();
lcd.setCursor(3,0);
lcd.print("Cooler OFF");
lcd.setCursor(3,1);
lcd.print("Temp:");
lcd.print(t);
delay(3000);
}
else if(t>25){
lcd.clear();
lcd.setCursor(3,0);
lcd.print("Cooler ON");
lcd.setCursor(3,1);
lcd.print("Temp:");
lcd.print(t);
delay(3000);
}
else{
lcd.clear();
lcd.setCursor(5,0);
lcd.print("Error");
delay(3000);
}
}