#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
//Crear el objeto lcd dirección 0x3F y 16 columnas x 2 filas
// Declaracion de variables globales
LiquidCrystal_I2C lcd(0x27,16,2); //
#define DHTPIN 3
#define DHTTYPE DHT11 // DHT 11 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
int n=1;
void setup() {
Serial.begin(9600);
// Inicializar el LCD
Serial.println(F("DHT11 example!"));
dht.begin();
lcd.init();
//Encender la luz de fondo.
lcd.backlight();
lcd.setCursor(1, 0);
// Escribimos el Mensaje en el LCD.
lcd.print("Temperatura");
lcd.setCursor(0,1);
lcd.print("°C");
pinMode(4,OUTPUT);
// modo salida put your setup code here, to run once:
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Check if any reads failed and exit early (to try again).
if (isnan(temperature) || isnan(humidity)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
lcd.clear(); //Limpiamos la pantalla LCD de cualquier caracter
lcd.setCursor(0, 0);
lcd.print(" Humedad:");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print(" Temperatura:");
lcd.print(temperature);
lcd.print("°C");
Serial.print(F("Humedad: "));
Serial.print(humidity);
Serial.print(F("% Temperature: "));
Serial.print(temperature);
Serial.println(F("°C "));
delay(100);
if (temperature<25&&n==0){
digitalWrite(4,LOW);// Apaga
Serial.println("APAGADO");
delay(1000);// da una pausa 1000 miliseconds
n=0;
}
if (temperature>25&&n==1){
digitalWrite(4,HIGH);// Enciende
Serial.println("ENCENDIDO");
delay(1000); // da pausa 1000 miliseconds
// put your main coa medio segundode here, to run repeatedly:
n=1;
}
delay(1000);
}