Problema sensor dht22

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.