Artículos recientes

Novedades

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

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

En este tutorial explicaremos como configurar nuestro módulo HC-06, Aprenderemos como cambiar la velocidad de transmisión, el nombre y código de vinculación de nuestro hc-06 entre otras cosas.

Este tutorial solo se aplica al HC-06, para el HC-05 la configuración es diferente.

EL modulo Bluetooth HC-06 viene configurado de fábrica como Esclavo y no se lo puede cambiar, pero otras características si las podemos configurar usando comandos AT, estas caracterizas vienen por defecto con valores predeterminados que  se muestran a continuación:

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

- Código de emparejamiento por defecto: 1234

- La velocidad por defecto (baud rate): 9600


EL Modulo HC-06 tiene dos estados los cuales es importante conocer:

   

Modo AT (Desconectado):

  

- Entra a este modo tan pronto alimentas 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, si se envían otros datos diferente a los comandos AT el HC-06 los ignorará.

  

Modo Conectado

  

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

- El LED permanece prendido 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

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

     

     

Entendido lo anterior vamos realizamos las conexiones para configurar el HC-06.

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

  

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());
  }
}

  

   

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

  

  

Configurando nuestro Módulo HC-06

  

En nuestro ejemplo usaremos un conversor USB serial PL2303 que se ha instalado como puerto serial  COM5, por lo que antes de abrir el Monitor serial, en nuestro 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, pero puedes usar cualquier otro monitor serial si lo deseas.

En la parte inferior 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

  

Echo esto Podemos empezar a 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<Numero>

Respuesta: OK<baudrate>

Donde <Numero> equivale a una velocidad de <baudrate> , los valores pueden ser:

Numero---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 (Este es el 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

  

  

Tutoriales Relacionados

Tutorial Básico de Uso del Módulo Bluetooth HC-06 y HC-05

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

Instalación Del IDE Arduino

  

  

Pueden adquirir los materiales usados en este tutorial en nuestra tienda

Módulo Bluetooth HC-06

Módulo PL2303 Conversor USB a TTL

Módulo CP2102 Conversor USB a TTL

Cable Dupont, hembra a hembra 20cm x 20Und

9 Comments

    • Avatar
      Miguel
      may 24, 2017

      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

    • Avatar
      Alfred
      jun 19, 2017

      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

    • Avatar
      Landin
      jul 11, 2017

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

      • Avatar
        Naylamp
        jul 16, 2017

        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.

    • Avatar
      Guillermo
      ago 1, 2017

      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!

    • Avatar
      Guillermo
      ago 1, 2017

      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!

    • Avatar
      Sebastian Vanegas
      sep 15, 2017

      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?

    • Avatar
      diego cifuentes
      oct 3, 2017

      me cogi a mi prima en 4 y fue anal y me gustan las pollas negras

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment: