Problemas al ejecutar comandos con bluetooth hc-06 arduino uno

Hola a todos, bueno mi problema va con la ejecucion de comandos en un arduino Uno, por medio de bluetooth, el modulo que utilizo es el HC-06, el problema viene cuando trato de conectar el arduino con mi telefono android, descargue 2 apps (arduino bluetooth y serial bluetooth) para la ejecucion desde terminal una vez conectado, lo raro es que a la hora de conectar me dice que esta conectado (y el led parpadeante se queda fijo) aunque una app me salta con un mensaje de que (is paired but no conected) pero de todas formas con ambas apps el led indica que se conecto y en teoria deberia funcionar asi que tal vez el problema sea el codigo asi q aqui lo paso

///////////////////////////////////////////////////////////// Pin definition
int MotorLeftDirectionOfRotation = 12;
int MotorLeftSpeed = 3;
int MotorRightDirectionOfRotation = 13;
int MotorRightSpeed = 11;


///////////////////////////////////////////////////////////// Variable declaration
int Message; 


///////////////////////////////////////////////////////////// Setup (Start procedure / INIT)
void setup()
{
  Serial.begin(9600);
  
  pinMode(MotorLeftDirectionOfRotation,OUTPUT);
  pinMode(MotorLeftSpeed,OUTPUT);
  pinMode(MotorRightDirectionOfRotation,OUTPUT);
  pinMode(MotorRightSpeed ,OUTPUT);
}


///////////////////////////////////////////////////////////// Loop
void loop() 
{ 
  /////////////////// Read telegram over bluetooth connection
  Message=Serial.read(); 

  /////////////////// Help
  if(Message=='h')
  { 
    Serial.println("My commands are:");
    Serial.println("b -> move backwards for 2 second");
    Serial.println("f -> move forward for 2 second");
    Serial.println("r -> turn right for 90 degree");
    Serial.println("l -> turn left for -90 degree");
  }

  /////////////////// Forward
  if(Message=='f')
  {
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,150);
    analogWrite(MotorRightSpeed,150);
    delay(2000);
    // Stop
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,0);
    analogWrite(MotorRightSpeed,0);
  }

  /////////////////// Backward
  if(Message=='b')
  {
    digitalWrite(MotorLeftDirectionOfRotation,LOW);
    digitalWrite(MotorRightDirectionOfRotation, LOW);  
    analogWrite(MotorLeftSpeed,150);
    analogWrite(MotorRightSpeed,150);
    delay(2000);
    // Stop
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,0);
    analogWrite(MotorRightSpeed,0);
  }

  /////////////////// Right turn 90°
  if(Message=='r')
  {
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, LOW);  
    analogWrite(MotorLeftSpeed,150);
    analogWrite(MotorRightSpeed,150);
    delay(1000);
    // Stop
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,0);
    analogWrite(MotorRightSpeed,0);
  }

  /////////////////// Left turn 90°
  if(Message=='l')
  {
    digitalWrite(MotorLeftDirectionOfRotation,LOW);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,150);
    analogWrite(MotorRightSpeed,150);
    delay(1000);
    // Stop
    digitalWrite(MotorLeftDirectionOfRotation,HIGH);
    digitalWrite(MotorRightDirectionOfRotation, HIGH);  
    analogWrite(MotorLeftSpeed,0);
    analogWrite(MotorRightSpeed,0);
  }
}

el codigo es para este robot de keyestudio Ks0071 keyestudio Mini Tank Robot - Keyestudio Wiki
alguien puede ayudarme ?
busque por los foros de la comunidad arduino tanto en español como en ingles pero no encontre solucion a mi problema soy nuevo en esto
desde ya muchas gracias :smiley:

Los enlaces van con etiquetas, del mismo modo que bien posteaste tu código. Asi que revisa las normas del foro y edita esa parte de tu comentario donde no esta correctamente posteado.

Cuando tienes un problema, lo mejor es aislarte del código inicial y hacer un nuevo y mas simple código donde solo pruebas lo que te da problemas.
Si estas en un UNO/NANO/PRO Micro entonces solo tienes un solo puerto hardware. Deberás usar SoftwareSerial para conectar el BT y poder VISUALIZAR en tu puerto Serial que esta pasando.
No hace falta consultar a un foro por cosas que uno mismo puede hacer y agotar todas las instancias.

Entonces, paso 1: usas un código que genera un puerto serie usando 2 pines de tu elección. Los conectas al BT. Compartes GND y VCC con Arduino como antes. Los pines tomarán una condición de RX1 y TX1 y tendrás que cruzarlos con el BT.

Ahora bien, hecho esto, prueba con tu APP y usando el monitor Serie envía comandos desde y hacia el Android/Arduino.

Convert Digital Pins of Arduino Board to Transmitter (Tx) and Receiver (Rx)