Arduino Forum

International => Español => Hardware => Topic started by: Aureliano24 on Feb 22, 2015, 05:03 pm

Title: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 22, 2015, 05:03 pm
Hola a todos ! estoy teniendo un problema con el modulo HC-05 de bluetooth y no sé como solucionarlo.

recién compre el modulo hc-05 e intente configurarlo, para ello seguí este tutorial :
http://saber.patagoniatecnology.com/hc-05-bluetooth-conectar-esclavo-hc05-maestro-master-save-wireless-tutorial-iot-celular-smartphone-arduino-argentina-ptec/

El problema es que cuando yo pongo "AT " en la consola y debería darme OK, no está sucediendo. No me deja configurar nada del modulo.
Lo que si me deja es conectarme a través del celular , me aparece dentro del bluetooth el hc-05 y lo he probado con aplicaciones pero a pesar de que se conecte parece que cuando yo le envió información desde el android no la recibe (tampoco el android puede recibir).

Cuando lo tengo conectado se queda parpadeando intermitentemente. Solo deja de parpadear cuando lo conecto con el celular.

Mis conexiones son :
RXD = 6
TXD = 5
EN (En el tutorial dice key pero como supongo que en el lugar de KEY aparece en será la misma) = 3
GND = GND
VCC = 5v.


Y este es mi codigo :

Code: [Select]
#include <SoftwareSerial.h>

SoftwareSerial BTSerial(6, 5); // RX | TX

void setup()
{
pinMode(3, OUTPUT);  // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
digitalWrite(3, HIGH);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400);  // HC-05 default speed in AT command more
}

void loop()
{

// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available())
Serial.write(BTSerial.read());

// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available())
BTSerial.write(Serial.read());
}



Ya probe teniendo conectado sin el EN,
Probe cambiarlos a los pines 10, 11 el (rxd, txd) ,
Probe cambiar de 5v a 3,3v.
Probe con 6 aplicaciones para celulares distintas.
Probe todo lo que se me ocurria y sin solución.

Se les ocurre algo ?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: noter on Feb 22, 2015, 11:04 pm
¿Has cruzado los pines TX RX del Arduino y el módulo? Ten en cuenta que por el cable que uno transmite el otro debe recibir y viceversa.
Prueba sencillamente a intercambiar los pines TX y RX, pues pudiera ser eso.
Luego está el problema de softwareserial, que no se lleva bien con ciertas velocidades, pero esa es otra historia. De todas formas, ¿No estarás cometiendo el sacrilegio que hemos visto recientemente de utilizar softwareserial en un arduino mega o leonardo?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: max_saeta on Feb 22, 2015, 11:14 pm
Saludos
Los módulos Bluetooth que he usado no responden al comando AT, pero si envias AT+NAMEHC-05 si deben responder.

Que app android estas usando? Yo recomiendo Sena Blueterm
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 23, 2015, 12:47 am
No. Ya probe intercambiar los RXD y los TXD como por lo menos 4 veces.
Estoy utilizando el serial en un arduino UNO.

Las aplicaciones que estoy utilizando son creadas por mi por el app inventor 2.
También he probado el blueterm.

En el tutorial es el mismo modulo que tengo yo. Así que debería funcionar
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: max_saeta on Feb 23, 2015, 04:04 am
Quote
En el tutorial es el mismo modulo que tengo yo. Así que debería funcionar
Dudo que eso sea garantía de algo. El mismo modelo puede tener distintos firmware
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: AlexLPD on Feb 23, 2015, 04:38 am
De experiencia personal, el serial de la IDE no es muy confiable cuando se trata de recibir datos.

Prueba; Real Term.

-Alex.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Khazus on Feb 23, 2015, 08:59 am
Yo soy mas partidario de terminal externa y a ser posible usar FTDI.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 23, 2015, 06:18 pm
Hola a todos ! al final existen varios modelos de módulos bluetooth HC-05 . Yo tengo uno que tiene un botoncito. tenía que mantener apretado el botón, luego conectar el cable VCC y ya entraba en AT MODE.

Tuto que seguí : http://www.martyncurrey.com/?p=1348

Mi problema ahora es que cuando mando AT a través del serial estoy recibiendo : ϧ†…
Supongo que sera un problema de los baudios utilizados. Pero ya use 9600 para ambos y algunas otras combinaciones sin exito alguno. Que puede ser?

Con lo referido a las app he probado algunas con el MIT app inventor. Y las he probado de celular a celular y han funcionado, así que con el arduino tendrían que funcionar no? .
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: carmeloco on Feb 23, 2015, 06:27 pm
Prueba a 38400 baudios. Mis HC-05 funcionan siempre a esa velocidad cuando están en modo AT.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: AlexLPD on Feb 23, 2015, 09:18 pm
Siempre que el Hc entra en modo At el baudrate por default es 38400.

Osease siempre que lo vas a configurar tiene que ser esa la velocidad.

Prueba con este tutorial a mi me dio resultados;

De Tech Bitar (http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/?ALLSTEPS)
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 24, 2015, 06:11 am
Siempre que el Hc entra en modo At el baudrate por default es 38400.

Osease siempre que lo vas a configurar tiene que ser esa la velocidad.

Prueba con este tutorial a mi me dio resultados;

De Tech Bitar (http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/?ALLSTEPS)

Ya intente ponerlo en esa velocidad, de hecho todos los tutoriales que probe vienen con esa velocidad como standart. Ese tutorial que me pasaste parece no ser el modelo de HC-05 que tengo. Yo tengo el que tiene el botoncito.

Será que estoy haciendo mal las conexiones? porque en algunos tutoriales (como este : http://www.martyncurrey.com/?p=1348) utilizan resistencias ??

Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 24, 2015, 06:30 am
Encontré que el modelo de mi bluetooth es zs-040 y dice que la "baudrate" standart es 9600. Sin embargo sigo sin poder mandarle datos desde el serial lo ponga en 38400 o 9600 :/ .
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 24, 2015, 05:33 pm
Logré hacer que mis aplicaciones de android funcionen . Lo que no logro todavía es entrar en el modo AT.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: AlexLPD on Feb 25, 2015, 12:44 am
Se supone que vienen con un divisor de voltaje incorporado pero, puedes hacer la prueba a conectar  un divisor de voltaje externo al pin RX para que sea 3.3 V

El esquema esta en el ible que te envie.

No he visto esos con botoncito que dices, pero encontre este articulo quizas te sirva de ayuda;

Configurar HC05 y HC06 (http://www.geekfactory.mx/radio/bluetooth-hc-05-y-hc-06-tutorial-de-configuracion/).

-Alex.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Aureliano24 on Feb 28, 2015, 05:51 am
Que cambiaría en el caso de que conecte el RX a un cable externo?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: fcasanova on May 15, 2015, 03:28 am
hola y lo solucionaste ??
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: joqquezada on May 21, 2015, 08:11 pm
Aureliano24. Estoy con el mismo problema que te sucesio a vos. me pasa exactamente lo mismo, con el celu se conecta pero la aplicacion hecha por mi tira error de conexion. me podrias dar una mano por fa? muchas gracias
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: joqquezada on May 21, 2015, 08:13 pm
Aureliano24. Estoy con el mismo problema que te sucesio a vos. me pasa exactamente lo mismo, con el celu se conecta pero la aplicacion hecha por mi tira error de conexion. me podrias dar una mano por fa? muchas gracias
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: julioego on May 23, 2015, 06:28 am
Tambien tengo el mismo problema  parece que no recibe ninguna señal de mi app y no logro entrar al modo AT por ningun tutorial

tengo el hc-05 con el botonsito
y arduino mega alguien ya lo solucionó?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: julioego on May 23, 2015, 06:28 am
Tambien tengo el mismo problema  parece que no recibe ninguna señal de mi app y no logro entrar al modo AT por ningun tutorial

tengo el hc-05 con el botonsito
y arduino mega alguien ya lo solucionó?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: kamiluo on Jun 13, 2015, 04:52 am
Buenas,

A mi me pasó lo mismo, lo que tienen que hacer es verificar cual tipo de Modulo Bluetooth tienen en mi caso es el ZS-040 HC-05.

La conexión está en el adjunto con nombre DiagramaConexion.jpg, la particularidad de este modulo es que no necesita conectarse la PIN 34. Los pasos de configuración se explican en el siguiente Link (http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/). De todas formas ese tutorial te muestra la manera de usar el PIN 34 para otros tipos de Modulos BT.

Espero les sirva...
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: jcarbajalm on Jul 10, 2015, 09:39 am
Hola , hice un proyecto con el H05 y Leonardo, pero no puedo conectar mi celular con el Bluetooth, lo sincronizo, ero nunca se establece la conexión, la configuración que uso es la misma que muestras, pero sin éxito. como puedo saber que esta fallando
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: CrisLovan6 on Aug 24, 2015, 03:52 am
Logré hacer que mis aplicaciones de android funcionen . Lo que no logro todavía es entrar en el modo AT.
hola, yo tambien tengo el mismo problema, estoy haciendo las app en app inventor pero no funciona, como hiciste para que te funcionara?

Gracias
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: CrisLovan6 on Aug 24, 2015, 04:57 am
Buenas,

A mi me pasó lo mismo, lo que tienen que hacer es verificar cual tipo de Modulo Bluetooth tienen en mi caso es el ZS-040 HC-05.

La conexión está en el adjunto con nombre DiagramaConexion.jpg, la particularidad de este modulo es que no necesita conectarse la PIN 34. Los pasos de configuración se explican en el siguiente Link (http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/). De todas formas ese tutorial te muestra la manera de usar el PIN 34 para otros tipos de Modulos BT.

Espero les sirva...
hola. el link solo es para los comandos AT?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: BOWTeam6 on Aug 29, 2015, 07:37 pm
Olvide mencionar que en tu caso que tienes el HC05 con un boton, debes mantenerlo pulsado y seguidamente conectarlo a los 3.3v de Arduino, cuando veas que el led rojo parpadee lentamente es que esta en modo AT.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: JOSE_249 on Aug 30, 2015, 05:20 am
Hola, no se si solucionaste tu problema.  El módulo que viene con el botoncito es para ponerlo en modo AT

Para ello debes
1- Desconectar la alimentación (VCC o GND)
2- Presionar el botón y mantener presionando
3- Conectar la alimentación sin dejar de presionar el botón
4- Cuando el led comience a parpadear lento entonces puedes soltar el botón y mandar los comandos AT

Espero te sea útil
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: inori28 on Aug 31, 2015, 08:15 pm
Bueno el mismo problema me ocurre a mi eh leido varios foros y aun no encuentro la solucion a este problema, ya hice eso de conectar y esperar a que parpade cada 3 segundos apretando el boton antes de conectar el vcc, pero cuando voy al monitor serial y escribo el "AT" sin las comillas, no me sale nada ya revise el baulio 9600 todas las configuraciones y aun no logro entrar al at del BT. mas bien lir por ahi que lograron conectarlo a sus aplicaciones de android, me gustaria siquiera el dato para tambien interntarlo mientras se busca una solucion para poder configurar el BT.
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Adrian_E on Aug 31, 2015, 08:52 pm
en este link encontre todo lo que necesitaba, tengo un hc-05 gw-040 https://translate.google.com.ar/translate?hl=es-419&sl=en&u=http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/&prev=search
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: rafaellopez on Dec 19, 2015, 08:26 pm
Logré hacer que mis aplicaciones de android funcionen . Lo que no logro todavía es entrar en el modo AT.
Buen dia aureliano hay un canal de youtube que se llama editronix alli en su capitulo 11 hablan de como poner a funcionar los hc-05 solo que el de el no tiene el boton como el tuyo o el mio y le solda un puente, que hice yo segui el tuto al pie de la letra con el boton presionado y pude configurar el hc-05, bien en mi tlf se empereja pero no puedo conectarlo a mis apk android ¿como pudiste hacerlo tu?
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: madepablo on Jan 04, 2016, 11:12 am
Saludos,

Pues ayer por la tarde me llego mi HC-05 (uno de esos con botoncito, y de código GW-040), y estaba como vosotros con que no podía acceder al modo AT. Pero tras explorar por internet y hacer muchas pruebas, al final lo conseguí de forma muy rápida. Por si les ayuda, les dejo mis pasos con un Arduino Nano.

1) Conexiones:

HC-05       Arduino
STATE               (sin conectar)
RX            10
TX            11
GND          GND
VCC          5V
KEY           3V3 (No se si hace falta, pero yo lo puse)

2) Sketch
Usé el modo 3) de esta página:http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/ (http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/)
con una modificación de los pines software serial. El código me quedó así:

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial BTserial(10,11); // RX | TX

char c = ' ';
 
void setup() {
    Serial.begin(9600);
    Serial.println("Arduino is ready");
    BTserial.begin(9600); 
    Serial.println("BTserial started at 9600");
}
 
void loop(){
    if (BTserial.available()){ 
        c = BTserial.read();
        Serial.write(c);
    }
    if (Serial.available()){
        c =  Serial.read();
        Serial.write(c);
        BTserial.write(c); 
    }
}


3) Ejecución
Subid el código y abrid el puerto serie con el Arduino IDE usando el puerto COM correspondiente a vuestra placa. Yo le puse en el modo "Ambos NL&CR" y 9600 Baudios.
El módulo HC-05 se enciende y parpadea rápidamente. Ahora dadle al botoncito (seguirá parpadeando igual, pero habrá entrado en modo comandos AT).
Escribid AT y dadle al intro... debería devolveros un OK.

Y ya está!, ya podeis aplicar cualquier cambio que queráis con comandos AT, por ejemplo, como los que proponen aquí: Ver paso 4 (http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/?ALLSTEPS). Podéis ponerlo en maestro/esclavo, cambiarle el nombre, etc, etc. Bueno, ya sabéis. Lo que yo hice fue asegurarme de que ahora en adelante el módulo si o si tiene velocidad 9600 baudios. Para eso usé el comando AT+UART=9600,1,0  Con eso ya no tengo problemas de si se comunica a 38400 baudios.

Una vez acabado de hacer cambios en el módulo, lo desconectáis y listo para trabajar!
Espero que os sirva. A mi me resolvió la vida (con el HC-05, quiero decir).

4) Extras
Y ya de paso, si queréis que se conecte automáticamente a otro dispositivo H-06 escalvo o un HC-05 en modo esclavo, no tenéis más que seguir estos pasos: Conexión de 2 dispositivos automáticamente (http://phillipecantin.blogspot.com.es/2014/08/hc-05-bluetooth-link-with-zero-code.html)

Espero que os haya sido de utilidad.
un saludo,
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Sholojov on Feb 02, 2016, 09:28 pm
Buenas , a mí me ocurría exactamente lo mismo, con el mismo módulo (el del botón).

La manera con la que se solucionó el problema fue realizar un divisor de tensión entre  TX de arduino y RX (HC-05):


                                           RX(HC-05)
                                             |
                                             |
TX(Arduino) ---1kΩ----  ---- 2kΩ ------GND

De esta manera el nivel lógico será de 3.3V

Saludos!
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: barkalez on Mar 08, 2016, 08:35 pm
Saludos,

Pues ayer por la tarde me llego mi HC-05 (uno de esos con botoncito, y de código GW-040), y estaba como vosotros con que no podía acceder al modo AT. Pero tras explorar por internet y hacer muchas pruebas, al final lo conseguí de forma muy rápida. Por si les ayuda, les dejo mis pasos con un Arduino Nano.

1) Conexiones:

HC-05       Arduino
STATE               (sin conectar)
RX            10
TX            11
GND          GND
VCC          5V
KEY           3V3 (No se si hace falta, pero yo lo puse)

2) Sketch
Usé el modo 3) de esta página:http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/ (http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/)
con una modificación de los pines software serial. El código me quedó así:

Code: [Select]
#include <SoftwareSerial.h>
SoftwareSerial BTserial(10,11); // RX | TX

char c = ' ';
 
void setup() {
    Serial.begin(9600);
    Serial.println("Arduino is ready");
    BTserial.begin(9600); 
    Serial.println("BTserial started at 9600");
}
 
void loop(){
    if (BTserial.available()){ 
        c = BTserial.read();
        Serial.write(c);
    }
    if (Serial.available()){
        c =  Serial.read();
        Serial.write(c);
        BTserial.write(c); 
    }
}


3) Ejecución
Subid el código y abrid el puerto serie con el Arduino IDE usando el puerto COM correspondiente a vuestra placa. Yo le puse en el modo "Ambos NL&CR" y 9600 Baudios.
El módulo HC-05 se enciende y parpadea rápidamente. Ahora dadle al botoncito (seguirá parpadeando igual, pero habrá entrado en modo comandos AT).
Escribid AT y dadle al intro... debería devolveros un OK.

Y ya está!, ya podeis aplicar cualquier cambio que queráis con comandos AT, por ejemplo, como los que proponen aquí: Ver paso 4 (http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/?ALLSTEPS). Podéis ponerlo en maestro/esclavo, cambiarle el nombre, etc, etc. Bueno, ya sabéis. Lo que yo hice fue asegurarme de que ahora en adelante el módulo si o si tiene velocidad 9600 baudios. Para eso usé el comando AT+UART=9600,1,0  Con eso ya no tengo problemas de si se comunica a 38400 baudios.

Una vez acabado de hacer cambios en el módulo, lo desconectáis y listo para trabajar!
Espero que os sirva. A mi me resolvió la vida (con el HC-05, quiero decir).

4) Extras
Y ya de paso, si queréis que se conecte automáticamente a otro dispositivo H-06 escalvo o un HC-05 en modo esclavo, no tenéis más que seguir estos pasos: Conexión de 2 dispositivos automáticamente (http://phillipecantin.blogspot.com.es/2014/08/hc-05-bluetooth-link-with-zero-code.html)

Espero que os haya sido de utilidad.
un saludo,
Para mí la clave ha sido poner el comando AT+UART=9600.1.0.0

Porque cuando hacía AT+UART?  me daba 9600.0.0 y se conoce que era necesario el 1 en el segundo parámetro.

Gracias a madepablo
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: SILVER_1217 on May 12, 2016, 07:36 am
en los ultimos dias adquiri un modulo hc05 y tuve problemas para ingresar al modo AT pero logre solucionarlo de la siguiente manera.

luego de presionar el boton que trae el modulo y verificar que parpadee de forma lenta lo siguiente que hay que hacer es quitar el cable que esta conecta al pin KEY y por ultimo al abrir el monitor serial colocar en 38400 y en AMbos NL&CR.

espero les sirva haciendolo de esta forma
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: MrJacky on Jun 18, 2016, 03:47 pm
Yo recientemente recibí un modulo de estos, para ser exactos el MC-05 ZS-040 y no se si funciona exactamente igual que los demás.

Hasta ahora no le he dado ningún uso ya que sigo investigando como funciona. Y por el momento, tras mucho buscar por san gugel, encontré un post que indica 4 formas de entrar en modo AT.
información extraída de este enlace: http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/

La forma mas simple de entrar en modo AT es mantener pulsado el botón del modulo antes de darle corriente, sin embargo, no vas a mantener pulsado siempre el botón, cierto? por lo que el modulo pasa a modo AT Mini.

Esta opción puede ser útil para configurar ciertos parámetros, pero es un modo muy limitado, por lo que decido seguir investigando.

Tras probar de darle 3.3v al pin KEY antes de suministrarle corriente al modulo, con intención de entrar de esta forma en modo AT, al final me vi forzado a soldar un cable a mi modulo MC-05 en su pin 34, tal y como se indica en la pagina de antes, para forzar de esta manera el modo AT.

De esta forma conseguí mi propósito de entrar en el modo AT Full sin necesidad de pulsar el botón del modulo.

el codigo seria el siguiente:
Code: [Select]

#include <SoftwareSerial.h>
#define BT_RT 10
#define BT_TX 11
#define BTVCC 12
#define BTKEY 13

SoftwareSerial Bluetooth(BT_TX, BT_RT); // RX, TX


void setup() {
  Serial.begin(9600);
  pinMode(BTVCC, OUTPUT);                         // Marca el PIN de alimentacion para el HC-05 como salida
  pinMode(BTKEY, OUTPUT);                          // Marca el PIN del modo AT para el HC-05 como salida
  digitalWrite(BTKEY, HIGH);                         // Activa el modo AT Full
  delay (500) ;                                           // Espera antes de encender el modulo
  Serial.println("Alimentando el modulo HC-05");
  digitalWrite (BTVCC, HIGH);                       // Enciende el modulo
  //delay(600); digitalWrite (BTKEY, LOW);      // Cambia al modo AT Mini
  Serial.println("Esperando comandos AT:");
  Bluetooth.begin(38400);
}

void loop(){
  if (Bluetooth.available()){ Serial.write(Bluetooth.read()); }
  if (Serial.available()){ Bluetooth.write(Serial.read()); }
}




Si os fijáis, he tenido que invertir RX por TX en la llamada Bluetooth()

Mi duda es, si yo puse un puente reductor de voltaje tal y como se muestra en guia, al invertir RX por TX, debería también corregir el puente corrector?

Supongo que si, pero no termino de comprender que mi modulo tenga pintados de forma invertida los puertos de entrada y salida
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: MrJacky on Jun 18, 2016, 07:42 pm
He estado modificando el código, de manera que pueda iniciar el bluetooth en 3 modos diferentes desde la consola serial.

Teniendo en cuenta que al enviar los comandos AT debemos enviar el NL y CR, el sketch reconoce los comando de la misma forma.

Los comandos admitidos son (en minusculas):

bt at: inicia el MC-05 en modo AT Mini
bt atf: inicia el MC-05 en modo AT Full
bt on: inicia el MC-05 en modo Normal
bt off: apaga el modulo MC-05

Ademas de estos comandos, he conseguido que al estar en modo AT, dispongamos de todos los comandos, dependiendo del modo estarán disponibles o no lo estarán.

por ejemplo, despues de activar el modo at full, puedo lanzar cualquier comando AT

at+name
at+pswd
etc etc

NOTA: Sin embargo, en modo at mini no devolverá el nombre al usar at+name

Code: [Select]

#include <SoftwareSerial.h>
#define BT_RT 10
#define BT_TX 11
#define BTVCC 12
#define BTKEY 13

SoftwareSerial Bluetooth(BT_TX, BT_RT); // RX, TX

//Declaracion de variables
char inChar;
String string="";
int modoAT=0;

void setup() {
  Serial.begin(9600);
}

void loop(){

  if (Serial.available()){
    inChar = Serial.read();
    if(inChar=='\n'){
      Serial.print("Comando recibido: "); Serial.println(string);   
      if(string=="bt at\r"){ Serial.println("Iniciando Bluetooth modo AT Mini"); modoBT(1); }       // Arranca el modulo MC-05 en modo AT Mini
      else if(string=="bt atf\r"){ Serial.println("Iniciando Bluetooth modo AT Full"); modoBT(2); } // Arranca el modulo MC-05 en modo AT Full
      else if(string=="bt on\r"){ Serial.println("Iniciando Bluetooth modo Normal"); modoBT(3); }   // Arranca el modulo MC-05 en modo Normal
      else if(string=="bt off\r"){ Serial.println("Apagando Bluetooth"); modoBT(0); }               // Apaga el modulo MC-05 (modo off= consumo zero)
      else if(string.startsWith("at")){
        Bluetooth.write("AT");                                                                     // Inicia conversacion con bluetooth
        for(int x=2;x<string.length();x++){ Bluetooth.write(string.charAt(x)); }                    // Escribe caracteres del comando AT
        Bluetooth.write('\n');                                                                      // Finaliza conversacion con bluetooth
      }
      string="";                                                                                    // Resetea el string (inicia la espera de nuevos comandos)
    }
    else {string+=inChar;}
   
  }
  if(modoAT==1){
    if (Bluetooth.available()){ Serial.write(Bluetooth.read()); } // En modo AT envia de bluetooth a serial
  }
}
void modoBT(int x){
  modoAT=0; pinMode(BTVCC, LOW); pinMode(BTKEY, LOW);   // Apaga el modulo HC-05
  delay(500);
  pinMode(BTVCC, OUTPUT);                               // Marca el PIN de alimentacion para el HC-05 como salida
  if((x == 1)||(x == 2)){
    modoAT=1;
    pinMode(BTKEY, OUTPUT);                             // Marca el PIN del modo AT para el HC-05 como salida
    digitalWrite(BTKEY, HIGH);                          // Activa el modo AT Full
  }
  delay (500) ;                                         // Espera antes de encender el modulo
  if(x == 0){ return; }                                 // Mantiene apagado el modulo y vuelve al loop
  Serial.println("Alimentando el modulo HC-05");
  digitalWrite(BTVCC, HIGH);                           // Enciende el modulo
  if(x == 1) {
    delay(600); digitalWrite(BTKEY, LOW);              // Cambia al modo AT Mini
    Serial.println("Esperando comandos AT Mini:");
  }
  else if(x == 2){ Serial.println("Esperando comandos AT Full:"); }
  Bluetooth.begin(38400);
}


creo que el código puede ser interesante y que alguien le de utilidad
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: johenrod on Aug 07, 2016, 09:35 am
He estado modificando el código, de manera que pueda iniciar el bluetooth en 3 modos diferentes desde la consola serial.

Teniendo en cuenta que al enviar los comandos AT debemos enviar el NL y CR, el sketch reconoce los comando de la misma forma.

Los comandos admitidos son (en minusculas):

bt at: inicia el MC-05 en modo AT Mini
bt atf: inicia el MC-05 en modo AT Full
bt on: inicia el MC-05 en modo Normal
bt off: apaga el modulo MC-05

Ademas de estos comandos, he conseguido que al estar en modo AT, dispongamos de todos los comandos, dependiendo del modo estarán disponibles o no lo estarán.

por ejemplo, despues de activar el modo at full, puedo lanzar cualquier comando AT

at+name
at+pswd
etc etc

NOTA: Sin embargo, en modo at mini no devolverá el nombre al usar at+name

Code: [Select]

#include <SoftwareSerial.h>
#define BT_RT 10
#define BT_TX 11
#define BTVCC 12
#define BTKEY 13

SoftwareSerial Bluetooth(BT_TX, BT_RT); // RX, TX

//Declaracion de variables
char inChar;
String string="";
int modoAT=0;

void setup() {
  Serial.begin(9600);
}

void loop(){

  if (Serial.available()){
    inChar = Serial.read();
    if(inChar=='\n'){
      Serial.print("Comando recibido: "); Serial.println(string);   
      if(string=="bt at\r"){ Serial.println("Iniciando Bluetooth modo AT Mini"); modoBT(1); }       // Arranca el modulo MC-05 en modo AT Mini
      else if(string=="bt atf\r"){ Serial.println("Iniciando Bluetooth modo AT Full"); modoBT(2); } // Arranca el modulo MC-05 en modo AT Full
      else if(string=="bt on\r"){ Serial.println("Iniciando Bluetooth modo Normal"); modoBT(3); }   // Arranca el modulo MC-05 en modo Normal
      else if(string=="bt off\r"){ Serial.println("Apagando Bluetooth"); modoBT(0); }               // Apaga el modulo MC-05 (modo off= consumo zero)
      else if(string.startsWith("at")){
        Bluetooth.write("AT");                                                                     // Inicia conversacion con bluetooth
        for(int x=2;x<string.length();x++){ Bluetooth.write(string.charAt(x)); }                    // Escribe caracteres del comando AT
        Bluetooth.write('\n');                                                                      // Finaliza conversacion con bluetooth
      }
      string="";                                                                                    // Resetea el string (inicia la espera de nuevos comandos)
    }
    else {string+=inChar;}
   
  }
  if(modoAT==1){
    if (Bluetooth.available()){ Serial.write(Bluetooth.read()); } // En modo AT envia de bluetooth a serial
  }
}
void modoBT(int x){
  modoAT=0; pinMode(BTVCC, LOW); pinMode(BTKEY, LOW);   // Apaga el modulo HC-05
  delay(500);
  pinMode(BTVCC, OUTPUT);                               // Marca el PIN de alimentacion para el HC-05 como salida
  if((x == 1)||(x == 2)){
    modoAT=1;
    pinMode(BTKEY, OUTPUT);                             // Marca el PIN del modo AT para el HC-05 como salida
    digitalWrite(BTKEY, HIGH);                          // Activa el modo AT Full
  }
  delay (500) ;                                         // Espera antes de encender el modulo
  if(x == 0){ return; }                                 // Mantiene apagado el modulo y vuelve al loop
  Serial.println("Alimentando el modulo HC-05");
  digitalWrite(BTVCC, HIGH);                           // Enciende el modulo
  if(x == 1) {
    delay(600); digitalWrite(BTKEY, LOW);              // Cambia al modo AT Mini
    Serial.println("Esperando comandos AT Mini:");
  }
  else if(x == 2){ Serial.println("Esperando comandos AT Full:"); }
  Bluetooth.begin(38400);
}


creo que el código puede ser interesante y que alguien le de utilidad
Cordial saludo, esto a veces es un chicharron,,en mi caso compre el hc 05 y tan pronto lo conectaba parpadeaba rápidamente pero me dejaba entrar a comandos AT (sin hundir el botón, ni conectar el pin 34) pero cuando pedia AT+NAME no salía nada también podía entrar presionando el botoncito, un día lo tome de nuevo y no me dejaba entrar  de ninguna manera y pensé que se había dañado el modulo aunque podía establecer una comunicación desde el celu con una apk., pero en el monitor serial no salía nada.
toda esta carreta, es porque deje presionado el botón por mas de 10 segundos y a partir de allí ya volvió a trabajar de nuevo con solo encenderlo y dejar presionado el botón  hasta que parpadea despacio, lo que no volvió a dejar hacer es que con solo encenderlo se podían ingresar comandos AT, en un apartado leí que estos módulos tienen modo AT1 y AT2 , supongo que los modos mini y full son para esto // pero el compañero lo hace desde el programa, como seria para hacerlos desde el monitor serial??
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: Hentor_Rivera on Sep 07, 2016, 09:30 pm
Hola, recientemente yo restaure mi modulo HC-05 y no entraba en modo AT y tampoco enviaba datos, buscando información encontré el siguiente método y me sirvio para recuperarlo, seguí el método 1 y me funciono, lo volví a configurar y a restaurar de fabrica (AT+ORGL) y de nuevo lo configure los BAUT a 9600 y el AT+CMODE
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: nativeforest on May 04, 2017, 11:05 pm
solucion : en el COM#( terminal arduino) debes poner la opcion;

autoscroll 
ambos NL & CR   
38400

saludos
Title: Re: Problema con el modulo HC-05 bluetooth
Post by: surbyte on May 04, 2017, 11:25 pm
NO respondas hilos viejos y menos si tienen aÑos sin cambios.
Aun cuando los tienen mucha gente responde a hilos viejos y se van regenerando.
Si recibes un Warning prestale atención.
Si te interesa el tema lee las normas del foro y luego crea tu propio hilo y haz la aclaración para este o cualquier tema.