Bluetooth HC05 no responde a comandos AT ERROR: (0)

Hola! he probado con dos modulos distintos y varias formas de acceder,

#include <SoftwareSerial.h>
SoftwareSerial BT1(10, 11); // RX | TX

void setup()
  { pinMode(8, OUTPUT);        // Al poner en HIGH forzaremos el modo AT
    pinMode(9, OUTPUT);        // cuando se alimente de aqui
    digitalWrite(9, HIGH);
    delay (500) ;              // Espera antes de encender el modulo
    Serial.begin(115200);
    Serial.println("Levantando el modulo HC-05");
    digitalWrite (8, HIGH);    //Enciende el modulo
    Serial.println("Esperando comandos AT:");
    BT1.begin(38400); 
  }
 
void loop()
  {  if (BT1.available())
           Serial.write(BT1.read());
     if (Serial.available())
        BT1.write(Serial.read());
  }

Se supone que con este codigo y conectando el pin EN o KEY (segun el modelo) el modulo entra directamente en modo AT.

No es el caso

Con el pin EN/KEY desconectado y pulsando el boton cuando alimentas el modulo entra en modo AT…

abro la consola

Envio AT

Recibo OK

es lo unico que hace bien… con cualquier otro comando recibo ERROR:(0)

Si reinicio en modo normal cambiando la velocidad a 9600, empareja con el telefono (app Serial Bluetooth) envia y recibe,

si envias “hola” desde la APP la palabra llega completa a la consola. pero si envio “hola” desde la consola solo llega “hol”.

He buscado en google y no hay nada sobre el error(0).

Le ha pasado a alguien mas?

SAlu2

Hola.

Me paso algo parecido con los HC-06. Resulta ser que hay versiones diferentes de formdware y no en todos los comandos AT funcionan de la misma forma y/o con la misma sintaxis.

Mira esto:

Se trata, en mi caso, de primero hacer AT+VERSION para ver cual es la version del firmware y luego usar los comandos que necesites.

Quizas sea algo parecido para los HC-05

Hola! gracias por contestar, he probado con ese comando y devuelve el error:(0) solo devuelve OK cuando envio AT.

Tiene que ser algo que hago mal porque he probado con dos HC05 diferentes y hacen lo mismo.

Ya he dado con el error, el hc 05 puede entrar al modo AT de dos formas, una con un grupo reducido de comandos AT y otra con todos los comandos.

La verdad es que es un poco retorcido. Si enciendes el modulo (sin conectar en/key y state) parpadea rapido mientras no esté emparejado, pues si pulsas brevemente el boton ya puedes escribir comandos AT desde la consola. EL HC 05 se comunica a la velocidad que le hayamos asignado, si no lo hemos hecho deberia ser 9600.

Deja cambiar el nombre, la velocidad, el pin y poco mas. para salir del modo AT basta con enviar AT+RESET y ya puedes emparejar sin necesidad de apagar nada.

Si quieres entrar en el otro modo debes cambiar la velocidad a 38400 y mantener pulsado el boton antes de alimentar, encender el modulo y el led parpadea despacio, ya está en modo AT.

Lo raro es que te deja cambiar el nombre pero cuando haces un AT+NAME? no responde nada.