Usar sensor de temperatura y manipular motores

Hola, buenas, tengo un proyecto en el cual llevo trabajando un tiempo esta es la primera vez que manipulo algoritmos y arduino, por lo que he visto muchos tutoriales, pero me encontrado estancado en un punto, les resumo mi proyecto, he creado un carro el cual es controlado mediante una aplicación la cual cree utilizando el programa llamado appinventor, mediante esta controlo el carro al presionar el botón adelante le envió un carácter al arduino este es recibido por el modulo bluetooth hc-06, al hacerlo este avanza, lo mismo para las demás direcciones, el problema es cuando intente añadir un sensor de temperatura, al hacerlo puede recibir los valores de temperatura y humedad, pero al intentar controlar el carro este no reacciona, no se cual pueda ser el problema espero puedan ayudarme, muchas gracias por su tiempo.

#include <dht.h>
dht DHT;
#define DHT11_PIN 12
int Pin_Motor_Der_A = 8;
int Pin_Motor_Der_B = 9;
int Pin_Motor_Izq_A = 10;
int Pin_Motor_Izq_B = 11;
int tiempo=0;
void setup() {
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, OUTPUT);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);
}

void loop() {
  if (Serial.available()) {
   char dato= Serial.read();
  if(dato=='a'){
  digitalWrite (Pin_Motor_Der_A, HIGH);
  digitalWrite (Pin_Motor_Der_B, LOW);
  digitalWrite (Pin_Motor_Izq_A, HIGH);
  digitalWrite (Pin_Motor_Izq_B, LOW);
  }
  if(dato=='r'){
  digitalWrite (Pin_Motor_Der_A,LOW );
  digitalWrite (Pin_Motor_Der_B,HIGH );
  digitalWrite (Pin_Motor_Izq_A,LOW );
  digitalWrite (Pin_Motor_Izq_B,HIGH );
  }
  if(dato=='d'){
  digitalWrite (Pin_Motor_Der_A,HIGH );
  digitalWrite (Pin_Motor_Der_B,LOW );
  digitalWrite (Pin_Motor_Izq_A,LOW);
  digitalWrite (Pin_Motor_Izq_B,HIGH);
  }
  if(dato=='i'){
  digitalWrite (Pin_Motor_Der_A,LOW);
  digitalWrite (Pin_Motor_Der_B,HIGH);
  digitalWrite (Pin_Motor_Izq_A,HIGH);
  digitalWrite (Pin_Motor_Izq_B,LOW );
  }
  if(dato=='s'){
  digitalWrite (Pin_Motor_Der_A, LOW);
  digitalWrite (Pin_Motor_Der_B, LOW);
  digitalWrite (Pin_Motor_Izq_A, LOW);
  digitalWrite (Pin_Motor_Izq_B, LOW);
  }
  }
  {
    DHT.read11(DHT11_PIN);
  
    //TEMPERATURA//
    Serial.print("Temperatura = ");
    Serial.print(DHT.temperature);
    Serial.println(" C");
  
    //HUMEDAD RELATIVA//
    Serial.print("Humedad = ");
    Serial.print(DHT.humidity);
    Serial.println(" %");
    delay(2000);
  }
  }

Aquí el código de la aplicación:

Aquí la aplicación:

Aquí el carro:

Edito ,por que no me di cuenta que usas el movil para la conexion.Lo que me parece raro es como usas la libreria dht.Podrias poner un enlace al sitio donde la descargaste ?

Sobre eso, lo que sucede es que vi un tutorial en youtube sobre como utilizar el sensor dht11 y allí venía la llibreria aqui esta el link: https://drive.google.com/file/d/1iwL4bp-kUvf1MpfDM06SSGTNeBtq0FHb/view

Creo que el problema esta aqui:

 //HUMEDAD RELATIVA//
    Serial.print("Humedad = ");
    Serial.print(DHT.humidity);
    Serial.println(" %");
    delay(2000);

Cada vez que envias la lectura haces un delay de 2 segundos ,eso bloquea todo lo demas y lo hace cada vez que entra al loop.Si no quieres refrescar con tanta frecuencia usa millis() .Busca el ejemplo del ide Archivo->Ejemplos->Digital->BlinkWithoutDelay y estudialo.

Okey, tiene sentido lo intentare, gracias