#include <DHT.h> // incluimos la librería
#define DHTPIN 2 // Definimos el pin digital donde se conecta el sensor
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int estadosalida = 0 ;
byte N[8] = { // Definimos un caracter para "º"
B00111,
B00101,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
};
// Dependiendo del tipo de sensor
#define DHTTYPE DHT11
// Inicializamos el sensor DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.createChar (0,N);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
// Inicializar el LCD 20x4 con el número de columnas y filas del LCD
lcd.begin(20,4);
// Escribimos el Mensaje en el LCD
lcd.print("Temperatura-humedad");
delay (500); // retardo para que inicie el sistema
// Comenzamos el sensor DHT
dht.begin();
delay (1000); //espera antes de acceder al sensor
} //fin de "setup ()"
void loop() {
// Inicio del programa
// Esperamos 5 segundos entre medidas
delay(5000);
// Leemos la humedad relativa
float h = dht.readHumidity();
// Leemos la temperatura en grados centígrados (por defecto)
float t = dht.readTemperature();
// Leemos la temperatura en grados Fahrenheit
float f = dht.readTemperature(true);
// Comprobamos si ha habido algún error en la lectura
if (isnan(h) || isnan(t) || isnan(f)) {
//Serial.println("Error obteniendo los datos del sensor DHT11");
return;
}
// Calcular el índice de calor o sensación térmica en grados centígrados
float hic = dht.computeHeatIndex(t, h, false);
// Ubicamos el cursor en la primera posición (columna:0) de la segunda línea(fila:1)
lcd.setCursor(0, 1);
lcd.print("Hum.rel.= ");
lcd.print(h);
lcd.print(" %");
lcd.setCursor(0, 2);
lcd.print("Temp.=");
lcd.print(t);
lcd.write (byte (0)); //símbolo de "º", grado
lcd.print("C");
lcd.setCursor(0, 3);
lcd.print("Sens.Term.=");
lcd.print(hic);
lcd.write (byte (0)); //símbolo de "º", grado
lcd.print("C");
if (h > 69){
digitalWrite(12,1);
digitalWrite(13,0);
}else {
digitalWrite(12,0);
digitalWrite(13,1);
}
} // fin de lazo cerrado |