Buenas a todos, pues lo que he hecho ha sido conectar un sensor dht22 a una patalla lcd y mostrar en esa pantalla lo que mide el sensor, hasta ahí todo guay y funciona correcto. Ahora a ese código le he implementado un pulsador para que se active cuando lo pulso y se desactive cuando pasan unos segundos y el problema viene que ahora el display me muestra todo el rato la palabra "NAN" (Not a number) que antes no lo hacia y lo mostraba bien. Si me pueden ayudar, gracias.
#include <LiquidCrystal.h>
LiquidCrystal lcd (12, 11, 10, 9, 8, 7);
int estado = 0;
int tiempo = 30000;
byte temp = 0;
unsigned long tiempoAnterior = 0;
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
lcd.begin(16,2);
pinMode(13,INPUT);
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
estado = digitalRead(13);
if(estado == HIGH) {
tiempoAnterior = millis();
temp = 1;
lcd.setCursor(0,0);
lcd.print("Temp");
lcd.setCursor(9,0);
lcd.print(t);
lcd.setCursor(14,0);
lcd.print((char)223);
lcd.setCursor(15,0);
lcd.print("C");
delay(2000);
lcd.setCursor(0,1);
lcd.print("Humedad");
lcd.setCursor(9,1);
lcd.print(h);
lcd.setCursor(15,1);
lcd.print("%");
delay(2000);
}
if((millis() > tiempoAnterior + tiempo) && temp == 1) {
lcd.noDisplay();
temp =0;
}
}
Por si ayuda de algo la versión de la librería del DHT que uso es la 1.2.3 que viene con arduino.