Haga clic para más productos.
No se encontraron productos.
Búsqueda de blogs
Artículos Recientes
Categorías del blog
Últimos comentarios
No hay artículos
Artículos relacionados

Configuración del módulo bluetooth HC-06 usando comandos AT

172303

En este tutorial aprenderemos a configurar algunos parámetros del Módulo Bluetooth HC-06, como: cambiar la velocidad de transmisión, el nombre y código de vinculación, entre otras cosas.

Este tutorial solo se aplica al Módulo Bluetooth HC-06, para el HC-05 la configuración es diferente para el cual hemos realizado un tutorial aparte.

El Módulo Bluetooth HC-06 permite la configuración de algunos de sus parámetros de funcionamiento mediante el uso de comando AT. Los comandos AT son una lista de comandos que inician siempre con las letras AT, estos comandos son enviados por medio de un puerto Serie por lo que necesitaremos un Arduino o Conversor USB Serial para poder enviar los comandos desde nuestra PC.

Algunos parámetros que vienen por defecto se muestran a continuación:

- Nombre por defecto: “linvor” o “HC-06”

- Código de emparejamiento por defecto: 1234

- La velocidad por defecto (baud rate): 9600

El Módulo HC-06 viene configurado de fábrica como "Esclavo" (Slave) y no puede ser cambiado a "Maestro" como si lo permite el módulo HC-05. 

   

   

1. Modos de trabajo del HC-06:

El Módulo Bluetooth HC-06 tiene dos estados de funcionamiento los cuales es importante conocer:

   

E1. Modo AT (Desconectado):

- Entra a este modo tan pronto alimentamos el modulo, y cuando no se ha establecido una conexión bluetooth con ningún otro dispositivo..

- EL LED del módulo está parpadeando (frecuencia de parpadeo del LED es de 102ms).

- En este modo es cuando se debe enviar los comandos AT en caso se quiera configurar algún parámetro, si se envían otros datos diferentes a los comandos AT, el HC-06 los ignorará.

  

E2. Modo Conectado:

- Entra a este modo cunado se establece una conexión con otro dispositivo bluetooth.

- El LED permanece encendido sin parpadear.

- Todos los datos que se ingresen al HC-06 por el Pin RX se trasmiten por bluetooth al dispositivo conectado, y los datos recibidos se devuelven por el pin TX. La comunicación es transparente para el programador.

- En este Modo el HC-06 no puede interpretar los comandos AT.

     

2. Conexión entre la PC y el Módulo HC-06:

Entendido lo anterior, veamos las conexiones para configurar el HC-06.

Se puede hacer un programa o "sketch" en Arduino que haga toda la configuración, pero nosotros lo haremos manualmente desde la PC, esto lo podemos hacer de dos formas:

  

2.1. Hacer la comunicación entre la PC y el módulo de forma indirecta a través de un Arduino:

  

Comandos AT con Arduino

   
  
Las conexiones serían las siguientes:

    

Comandos AT HC-06 con Arduino

    

Ahora es necesario compilar y cargar el siguiente sketch que hemos preparado, que como vemos lee el Monitor Serial de nuestro IDE y se lo envía serialmente hacia los pines RXD y TXD de nuestro módulo HC-06.

  

#include <SoftwareSerial.h>   // Incluimos la librería  SoftwareSerial  
SoftwareSerial BT(10,11);    // Definimos los pines RX y TX del Arduino conectados al Bluetooth
 
void setup()
{
  BT.begin(9600);       // Inicializamos el puerto serie BT que hemos creado
  Serial.begin(9600);   // Inicializamos  el puerto serie  
}
 
void loop()
{
  if(BT.available())    // Si llega un dato por el puerto BT se envía al monitor serial
  {
    Serial.write(BT.read());
  }
 
  if(Serial.available())  // Si llega un dato por el monitor serial se envía al puerto BT
  {
     BT.write(Serial.read());
  }
}

  

   

2.2. Hacer la comunicación entre la PC y el módulo de forma Directa usando un Conversor USB-Serial:

  

Comandos AT HC-06 con USB to Serial TTL

    

  
Las conexiones serían las siguientes: 

  

Comandos AT HC-06 con PL2303

  

  

Como se observa los datos le llegan directamente desde la PC a través del módulo USB a Serial, para esto se pueden usar cualquier modelo de Conversor como el CP2102 y PL2303 pero también se puede hacer a través de un módulo MAX232 en caso tengan un puerto físico serial en su PC.

  

  

3. Configurando nuestro Módulo HC-06:

  

En nuestro ejemplo usaremos un conversor USB serial PL2303 que se ha instalado en nuestra PC como puerto serial "COM5", por lo que antes de abrir el Monitor serial en el IDE Arduino debemos escoger dicho puerto.

Es bueno recordar que para enviar los comandos AT, nuestro HC-06 debe estar en Modo AT, esto significa sin conexión bluetooth con otro dispositivo o verificar que LED del HC-06 esté parpadeando.

Una vez hecho las configuraciones y conexión correspondientes, abrimos el Monitor serial del IDE de Arduino, también podemos usar cualquier otro monitor serial como: Termite.

En la parte inferior del monitor debemos escoger “No hay fin de línea”  y la velocidad “9600 baud” (la velocidad por defecto de nuestro HC-06, si se lo ha cambiado poner la velocidad correspondiente)

  

Monitor Serial IDE Arduino

  

Realizado lo anterior, podemos ahora enviar los comandos AT a nuestro Bluetooth:

  

  

Test de comunicación:

  
Lo primero es comprobar si nuestro bluetooth responde a los comandos AT

Enviar: AT

Recibe: OK

Si recibimos como respuesta un OK entonces podemos continuar, sino verificar las conexiones o los pasos anteriores.

  

Cambiar nombre de nuestro módulo HC-06:

  
Por defecto nuestro módulo bluetooth se llama “HC-06” o “Linvor” esto se puede cambiar con el siguiente comando AT

Enviar: AT+NAME<Nombre>   Ejm: AT+NAMERobot

Respuesta: OKsetname     

El nombre puede ser de hasta 20 caracteres como máximo

  

Cambiar Código de Vinculación:


Por defecto viene con el código de vinculación (Pin) “1234”, para cambiarlo hay que enviar el siguiente comando AT

Enviar: AT+PIN<Pin>   Ejm: AT+PIN1465

Respuesta: OKsetPIN   

  

Configurar la velocidad de comunicación:

  
La velocidad por defecto es de 9600 baudios, para cambiarlo se hace uso del siguiente comando AT:

Enviar: AT+BAUD<Número>

Respuesta: OK<baudrate>

Donde <Número> equivale a una velocidad de <baudrate> , los valores pueden ser:

Número---baudrate

  1 ---------1200

  2 ---------2400

  3 ---------4800

  4 ---------9600

  5 ---------19200

  6 ---------38400

  7 ---------57600

  8 ---------115200

Ejemplo:

Enviar: AT+BAUD3

Respuesta: OK4800

Nota: Después de cambiar la velocidad, para continuar enviando comando AT, hay que hacerlo con la nueva velocidad, para eso si se está usando un conversor USB serial tan solo hay que cambiar la velocidad en el monitor Serial (parte inferior); pero si está enviando los comandos AT a través de una Arduino es necesario volver a programar y cargar un nuevo sketch con la nueva velocidad.

  

Otros Comandos AT de utilidad:

  
Obtener la versión del firmware:

Enviar: AT+VERSION

Respuesta: OK<Versión>   Ejm: OKLinvor1.8


Configuración de Paridad (solo configurable para versiones V1.5 o superiores):

  
Sin Paridad (valor por defecto)

Enviar: AT+PN

Respuesta: OK NONE

Paridad Impar

Enviar: AT+PO

Respuesta: OK ODD

Paridad Par

Enviar: AT+PE

Respuesta: OK EVEN

  

   

En la siguiente imagen podemos ver la secuencia de datos recibidos por el monitor serial en el mismo orden en que se listaron los comandos AT:

   

Salida del Monitor Serial despues de enviar comandos AT

  

Productos relacionados
Artículos relacionados
28 Comentarios
  • Sergio

    Sergio 04/03/2021 Responder

    Hola amigo el monitor serie de mi arduino no tiene la opcion de "No hay fin de línea", y sera que por eso no me responde a los comandos AT, ya que intente con todas las opciones que tiene y nada
  • Isaac

    Isaac 08/10/2020 Responder

    Este modulo ¿se puede usar solo conectándolo al convertidor USB y usarlo para otra cosa (como modulo externo para pc o convertir un dispositivo en bluetooth)?
  • GUSTAVO

    GUSTAVO 25/02/2020 Responder

    Disculpa, el arduino conectado al hc-06 no me responde al AT para iniciar, sabes a que se debe?
  • VALENTINa

    VALENTINa 07/09/2019 Responder

    disculpa,como pudiste hacer el circuito en tinkercad con el modulo bluetooth.?Es que yo no he podido
  • Tomás

    Tomás 03/09/2019 Responder

    sería posible visualizar la intensidad de la intensidad de la señal del bluetooth en el monitor?
  • emmanuel

    emmanuel 26/03/2019 Responder

    buenas tardes, quiero conectar dos Hc05 q emitan un peso y el otro imprima el peso optenido de un indicardor, alquien q me pueda ayuda
  • Manuel

    Manuel 31/10/2018 Responder

    Escribo esto para que otros no pierdan tiempo si les ocurre lo mismo que a mí.

    En la consola serie del IDE de Arduino, si pongo "No hay fin de línea", no me responde a los comandos AT

    En cambio, cuando lo pongo a "Both NL & CR" sí recibe correctamente comandos AT y los responde correctamente

    Estoy usando un conversor USB-Serie
    Por lo demás muy buen artículo.
  • GABRIEL

    GABRIEL 26/10/2018 Responder

    hice todo como esta en las instrucciones pero no aparece para conectarse en celulares ni computadoras
    ¿alguien sabe porque?
  • Fernando Avila Cortes

    Fernando Avila Cortes 25/08/2018 Responder

    Tengo un modulo HC06 que no se conecta a mi bluetooth de mi telefono, en el telefono me dice que el HC06 no esta configurado para acoplarce
  • Fernando

    Fernando 11/07/2018 Responder

    Tengo un modulo h06 que cuando ledoy alimentación parpadea diez segundos en rojo y nada mas estará malo ???
  • Lucas

    Lucas 01/06/2018 Responder

    Hola, estoy queriendo configurar el HC-06. El problema que tengo es que me permite variar el PIN, los baudios pero no el nombre. Cuando escribo el comando no recibo ninguna respuesta. Ademas, mis dispositivos no lo reconocen, no se si sera algún problema en la velocidad, pero ni la pc ni el celular me permiten conectarme. Espero puedan orientarme, muchas gracias
  • Martin

    Martin 20/05/2018 Responder

    ¿Qué puede pasarme que sólo me responde al comando "OK" e ignora todos los demás?
  • nestor

    nestor 01/03/2018 Responder

    " 'class softwareserial' has no member named 'available' ". por que me sale esto???
    • Andres

      Andres 02/06/2020 Responder

      Porque es con mayúsuclas "SoftwareSerial" en C se consideran las mayúsculas como otra letra.
  • Javier

    Javier 16/02/2018 Responder

    Hola tengo un modulo ya configurado pero no recuerdo el pin ni la velocidad y cuando envio los AT no funcionan Ayuda!
  • Joao

    Joao 24/01/2018 Responder

    Hola, envio comandos AT pero no responde a nada, he probado con otros modulos pero sigue pasando lo mismo, y esta todo bien conectado. Si alguien me puede ayudar, gracias.
    • Cristian Velastin

      Cristian Velastin 11/08/2020 Responder

      me pasó lo mismo... si está todo bien, debe agregar NL y CR(nueva linea y carrier return)
      • Rafa_RGB

        Rafa_RGB 21/03/2021 Responder

        Para el HC-06, NO DEBE PONERSE NUNCA NL y/o CR.
        De otro nodo, algunos comandos que envíen sin datos, se interpretan como con dato adjunto, ej.:

        AT+NAME (con NL y/o CR) se interpreta como:
        AT+NAME" " (Es decir adopta el nombre -Espacio- aka: CHR$(32) ).

        Si no ve respuesta, pruebe a seguir exactamente esta secuencia:

        SIN CONECTAR el FTDI, conecte las señales, pero...
        La línea que va al RX del HC-06, NO DEBE PASAR NUNCA de 3.3v
        Por lo que,deberá poner:
        Una resistencia entre ese pin y GND de 2K2 y
        Una resistencia en serie con la señal TX desde el FTDI que va al RX del HC-06.
        Es decir, un divisor de tensión simple.
        Si no hizo esto, su módulo pudo haberse averiado ya y será INSERVIBLE.
        (Por experiencia lo afirmo).

        Una vez conectado de ese modo, conecte el FTDI al PC.

        Con un móvil (p.ej...) busque dispositivos cercanos BT.
        Deberá aparecer HC-06.
        Conecte a él, con password 1234.

        Pruebe de nuevo la comunicación vía FTDI con cualquier programa terminal serie o inlcuso con el MONITOR SERIE del IDE de Arduino a 9k6bds.
        En cualquier caso, deberá configurar para que se utilice el COM que proporcione el FTDI.

        Configuración del COM:

        9600 bds
        8 N 1
        Flujo: OFF


        Ciao,
        Rafael.
  • Sebastian Vanegas

    Sebastian Vanegas 15/09/2017 Responder

    Hola
    He echo estos pasos, tambien he descargado una aplicacion para usarla con el modulo, peroc cuando conecto el modulo, el LED deja de parpadear y se apaga, no queda encendido, por lo que el envio de datos no se ejecuta.
    ¿que sucede y como se puede corregir?
  • Guillermo

    Guillermo 01/08/2017 Responder

    Hola, muy bueno el tuto! Me sale todo correctamente y he visto que este módulo va con Bluetooth v2.0, menos eficiente que los BLE v4.0. Si me compro uno con la especificación BLE 4.0, ¿La programación implementada en este tutorial me serviría igual o tendría que hacer una implementación diferente? Gracias!
  • Guillermo

    Guillermo 01/08/2017 Responder

    Hola, muy bueno el tuto! Me sale todo correctamente y he visto que este módulo va con Bluetooth v2.0, menos eficiente que los BLE v4.0. Si me compro uno con la especificación BLE 4.0, ¿La programación implementada en este tutorial me serviría igual o tendría que hacer una implementación diferente? Gracias!
  • Landin

    Landin 11/07/2017 Responder

    Hola, existe algun comando?, si se puede??, para poner el modulo Hc-06 en modo sleep????, gracias
    • Naylamp

      Naylamp 16/07/2017 Responder

      Hola, Si es por el lado de energía es automático, mientras el modulo no tenga ninguna conexión bluetooth entra en modo de bajo consumo que es alrededor de 3mA, también por hardware tiene un pin EN para habilitar o deshabilitar el modulo.
  • Alfred

    Alfred 19/06/2017 Responder

    Hola una pregunta hice todo pero no me responde nada y aparecen letras como esta AVœ no sé si es que el modulo viene mal o si es otra cosa.Saludos
    • FREDDY GONZALEZ

      FREDDY GONZALEZ 21/11/2017 Responder

      ESO SE DEBE A LA VELOCIDAD, SETEALA EN AT+BAUD4, Y YA CON ESO ESTA, POR LO GENERAL TODO EL MUNDO TRABAJA A ESA VELOCIDAD
  • Miguel

    Miguel 24/05/2017 Responder

    Hola,

    Compre el módulo bluetooth HC-06, mi consulta es que aplicación funciona para poder utilizarla con IOS de un iphone. Casi todas las aplicaciones que he visto son para android.

    Saludos,
    Miguel
    • Naylamp

      Naylamp 27/05/2017 Responder

      Hola Miguel el HC-06 es Bluetooth 2.0 y no son compatibles con los iPhone, Para esto necesitas un HM-10 (Bluetooth 4.0 BLE)
      • reinaldo

        reinaldo 23/08/2019 Responder

        hola amigo deseo hacerle una pregunta referente al modulo hac06
        yo me conecto con el hc06 le envio informacion casi todo ok, el problema esta en que cuando no interactuo con el a los 30 segundos de desconecta, eso es asi o hay alguna forma de mantenerlo conectado aunque no este recibiendo datos, por favor envie respuesta a mi email pues no reviso con frecuencia estos sitios, por no tener internet a full, disculpe las molestias..
Dejar un comentario
Deja su comentario

Menú

Ajustes

Crear una cuenta gratuita para usar listas de deseos.

Registrarse