Arduino Bluetooth errore comunicazione

Salve a tutti, sto facendo una applicazione android che sfrutta un modulo Bluetooth HC-05 per comunicare con arduino.
Il mio modulo Bluetooth comunica con un baud rate come da datasheet e come ho verificato tramite comandi AT.
Dalla mia applicazione faccio inviare un comando

btSocket.getOutputStream().write("TO".toString().getBytes());

per far accendere un led ed uno simile per farlo spegnere.

da arduino utilizzo questo comando per individuare il comando appena inviato

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX
char command;
String string;
boolean ledon = false;
#define led 13

void setup()
{

  Serial.begin(38400);
  Serial.println("Ascoltiamo dal Bluetoth:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command
  pinMode(led,OUTPUT);
}

void loop()
{


  // Keep reading from HC-05 and send to Arduino Serial Monitor
  if (BTSerial.available()){
    while(BTSerial.available()>0){
      string = "";
      command=((byte)BTSerial.read());

      if(command == ':'){
        break;
      }
      else{
        string += command;
      }

      delay(1);

      Serial.write(command);
      Serial.println(string);

      if(string == "TF"){
        Serial.println ("OFF");
      }
      if(string == "TO"){
        Serial.println ("ON");
      }


    }

  }
}

ma quello che ottengo da seriale è una serie di simboli inconsistenti simili a quelli che si hanno quando la comunicazione (come ho riportato nella immagine allegata).
Non riesco a capirne il motivo, sapreste aiutarmi?
Ringrazio chiunque possa darmi una risposta.

Come giustamente hai scritto :

BTSerial.begin(38400); // HC-05 default speed in AT command

... quella è la velocità in modalità comandi AT, ma la velocità normale di default per il colloquio con il modulo è 9600 baud :wink:

Guglielmo

Non mi ricordavo di questo fatto, credevo che una volta vista la comunicazione in AT si utilizzasse la stessa velocità anche per la comunicazione.
Grazie mille per la risposta!