[Solucionado] Arduino UNO se queda colgado.

hola buenas, tengo un problema con mi arduino, estoy monitorizando la temperatura y humedad por bluetooth y funciona bien pero al cabo de un tiempo (pocos minutos) se queda colgado y no responde, el código es el siguiente:

#include <DHT11.h>
#include <SoftwareSerial.h> 

float hum, temp;
char dato = '\0';

DHT11 dht11(9);
SoftwareSerial bt(6, 7);


void setup() {  
  
  bt.begin(9600);
  Serial.begin(9600);
  
}

void loop() {
  
  dht11.read(hum, temp);
   
  if(bt.available()){
    dato = bt.read();

  }
  
   switch(dato){
      case 'H':
        bt.print(int(hum));
        dato= '\0';
        break;
         
      case 'T':
        bt.print(int(temp));
        dato = '\0';  
        break;
     

       default:
        dato = '\0'; 
        break;
    
  }

}

lo que hago es le pido a Arduino la temperatura y después la humedad, arduino me responde con el valor adecuado y todo funciona bien, pero transcurrido un tiempo se queda colgado y no funciona.

he intentado y buscado mil cosas pero no consigo arreglarlo, alguien me puede ayudar a resolver este error?? o incluir algo en el código para que no se quede colgado?

un Saludo y gracias

Una búsqueda en Google de un par de minutos te hubiera dado esto.

Espero que te sirva!

He buscado y probado todo lo que he podido antes de recurrir a preguntar en el foro pero no encontré nada útil.

Hector_A:
Una búsqueda en Google de un par de minutos te hubiera dado esto.

Espero que te sirva!

Esto me sirve para cuando se queda congelado,

Muchas gracias.

De nada!