Coche Bluetooth

Hola. Tengo el programa de todos los movimientos. Funciona perfectamente por si solo, pero cuando conecto bluetooth o sensor de distancia, me bala la tensión y no se mueve.

int IN1 = 2;			
int IN2 = 3;			
int ENA = 5;			
int IN3 = 7;			
int IN4 = 8;			
int ENB = 9;			
int VELOCITAT;			
void setup() {
  pinMode(IN1, OUTPUT);		
  pinMode(IN2, OUTPUT);		
  pinMode(ENA, OUTPUT);		
  pinMode(IN3, OUTPUT);		
  pinMode(IN4, OUTPUT);		
  pinMode(ENB, OUTPUT);		
 }
void loop() {
  VELOCITAT=200;
  endavant(VELOCITAT);
  delay(3000);
  aturada();
  delay(3000);
  enrere(VELOCITAT);
  delay(5000);
  dretaEndavant(VELOCITAT);
  delay(3000);
  aturada();
  delay(5000);
  esquerraEndavant(VELOCITAT);
  delay(3000);
}
void endavant(int veloc){	
  analogWrite(ENA, veloc);	
  digitalWrite(IN1, LOW);	
  digitalWrite(IN2, HIGH);	
  analogWrite(ENB, veloc);	
  digitalWrite(IN3, LOW);	
  digitalWrite(IN4, HIGH);	
}
void enrere(int veloc){
  analogWrite(ENA, veloc);	
  digitalWrite(IN1, HIGH);	
  digitalWrite(IN2, LOW);	
  analogWrite(ENB, veloc);	
  digitalWrite(IN3, HIGH);	
  digitalWrite(IN4, LOW);	
}
void dretaEndavant(int veloc){
  analogWrite(ENA, veloc);	
  digitalWrite(IN1, LOW);	
  digitalWrite(IN2, HIGH);	
  analogWrite(ENB, veloc);	
  digitalWrite(IN3, LOW);	
  digitalWrite(IN4, LOW); 
}
void esquerraEndavant(int veloc){
  analogWrite(ENA, veloc);	
  digitalWrite(IN1, LOW);	
  digitalWrite(IN2, LOW);	
  analogWrite(ENB, veloc);	
  digitalWrite(IN3, LOW);	
  digitalWrite(IN4, HIGH);
}
void aturada(){		
  analogWrite(ENA, 0);		
  analogWrite(ENB, 0);		
}

Esto es con el Bluetooth

#include <SoftwareSerial.h>
SoftwareSerial ElMeuBT(10, 11);  // pin 10 como RX, pin 11 como TX
int DATO = 0;
int IN1 = 2;
int IN2 = 3;
int ENA = 5;
int IN3 = 7;
int IN4 = 8;
int ENB = 9;
int VELOCITAT = 80; 
void setup() {
  ElMeuBT.begin(38400);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}
void loop() {
  while(ElMeuBT.available() > 0) {  
    DATO = ElMeuBT.read();        
    if (DATO == '2') {
      analogWrite(ENA, VELOCITAT);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      analogWrite(ENB, VELOCITAT);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }else
    if (DATO == '8') {
      analogWrite(ENA, VELOCITAT); 
      digitalWrite(IN1, HIGH);
      digitalWrite(IN2, LOW);
      analogWrite(ENB, VELOCITAT);
      digitalWrite(IN3, HIGH);
      digitalWrite(IN4, LOW);
    }else
    if (DATO == '4') {
      analogWrite(ENA, VELOCITAT);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, HIGH);
      analogWrite(ENB, 0);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, LOW);
    }else
    if (DATO == '6') {
      analogWrite(ENA, 0);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, LOW);
      analogWrite(ENB, VELOCITAT);      
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, HIGH);
    }else
    if (DATO == '5') {
      analogWrite(ENA, 0);
      digitalWrite(IN1, LOW);
      digitalWrite(IN2, LOW);
      analogWrite(ENB, 0);
      digitalWrite(IN3, LOW);
      digitalWrite(IN4, LOW);
    }
  }
}

El BT estará dañado?
Como lo has conectado 10, 11 y GND ademas de 5V para alimentar el BT?

Efectivamente. Y desde la app se manda el comando. No entiendo porque funcionó una vez y ahora no hay forma. Me estoy volviendo un poco loco.

¿Cómo lo estás alimentando?
Adjunta un esquema de las conexiones.

Buenas noches y muchas gracias por tu interés. Adjunto esquema de conexiones.

Agrega un Serial.print que muestre que comando ha recibido el Arduino.

DATO = ElMeuBT.read(); 
Serial.print("Dato: ");
Serial.println(DATO);