1. El Octavo Bit
  2. / Arduino
  3. / Proyectos para Arduino
  4. / Tutorial básico de uso del módulo bluetooth HC-06 en Arduino

Tutorial básico de uso del módulo bluetooth HC-06 en Arduino

| Actualizado:
Comentarios: 0

Tutorial básico de uso del módulo bluetooth HC-06 en Arduino
Tutorial básico de uso del módulo bluetooth HC-06 en Arduino

El objetivo de este tutorial es poder añadir un módulo bluetooth a nuestra placa de Arduino y poder comunicarnos con un teléfono móvil Android a través de una aplicación. Primero veremos cómo conectarlo al móvil y después, cómo configurar el módulo HC-06.

Conectar el módulo HC-06 con un móvil Android.

Conexión del módulo HC-06 con un móvil Android.

El módulo HC-06 se caracteriza por tener 4 pines:

  • VCC, es el pin de alimentación, cable rojo.
  • GND, va conectado al pin GND de la placa de Arduino, cable negro.
  • TX, pin para transmisión de los datos, cable verde.
  • RX, pin para recepción de datos, cable naranja.

Código básico para conectar nuestro módulo y utilizar el monitor serie de Arduino:

void setup(){
  Serial.begin(9600); // según el manual viene configurado de serie a 9600
}

void loop(){
  if (Serial.available()){
    char dato=Serial.read();
    Serial.print("Dato recibido: ");
    Serial.println(dato);
  }
}

En la placas de Arduino los pines digitales 0 (RX) y 1 (TX) son compartidos con el USB, por lo tanto, hay que tener en cuenta que no deberá estar conectado el módulo de bluetooth, o nos dará problemas al subir el sketch a la placa.

Para poder comunicar el móvil con el módulo de bluetooth utilizaremos la aplicación Arduino bluetooth controller, que podemos conseguir en Google Play.

Aplicación bluetooht controller para utilizar con el dispositivo móvil.

El primer paso, sería emparejar el dispositivo móvil Android con el módulo. Para ello, es necesario activar el bluetooth en el móvil y buscar el dispositivo para vincularlo con el móvil. Entonces, nos pedirá una contraseña que por defecto es 1234 y el nombre del dispositivo HC-06.

Ejecutamos la aplicación Arduino Bluetooh Controller que hemos instalado y conectamos en modo terminal. Escribimos algún texto y lo enviamos. Debería de aparecer en el monitor serie de la placa Arduino y el dispositivo debería avisarnos de que los datos se han recibido.

Conectar el módulo HC-06 utilizando la librería SoftwareSerial.

En el código anterior hemos utilizado los pines digitales 0 y 1, pero si preferimos utilizar otros para no perder la conexión con el PC lo podemos hacer utilizando la librería SoftwareSerial.

Conexión del módulo HC-06 utilizando la librería SoftwareSerial.

Código:

#include "SoftwareSerial.h"
SoftwareSerial BT(4,2); // RX, TX recorder que se cruzan

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

void loop(){
  if (BT.available()){
    Serial.write(BT.read());  // Si llega un dato por el puerto BT se envía al monitor serie
  }
  if(Serial.available()) {
    BT.write(Serial.read()); // si llega un dato por el monitor serie se envía al puerto BT
  }
}

En la primera línea incluimos la librería SoftwareSerial.h y con la instrucción SofwareSerial le indicamos qué pines vamos a utilizar para la comunicación con el módulo.

En la función setup iniciamos la comunicación con el monitor serie y con el puerto BT.

En la función loop tenemos dos if, el primero comprueba si tenemos comunicación a través del puerto BT (que proviene del móvil) y envía los datos al monitor serie, mientras que el segundo if, comprueba si la comunicación proviene del monitor serie y envía los datos al móvil.

Cambiar la configuración del módulo HC-06.

Para cambiar la configuración que viene por defecto utilizaremos el esquema de montaje anterior y el siguiente código:

#include "SoftwareSerial.h"
SoftwareSerial BT(4,2); // RX, TX

void setup(){
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BT.begin(9600);
}

void loop(){
  if (BT.available())
    Serial.write(BT.read());
       
  if (Serial.available()){
    String S = GetLine();
    BT.println(S); // Si no responde el Bluetooth quitar salto de linea, cambiar por BT.print(S);
    Serial.println("---> " + S);
  }
}

String GetLine(){
  String S = "" ;
  if (Serial.available()){
    char c = Serial.read(); ;
    while (c != '\n'){
      S = S + c ;
      delay(25) ;
      c = Serial.read();
    }
    return( S ) ;
  }
}

Lo primero que debemos averiguar es la versión para saber la sintaxis de los comandos. El comando para obtener la versión del firmware es AT+VERSION todo en mayúsculas y sin espacios, debe ser introducido a través de la ventana serial de Arduino y con la opción de nueva línea seleccionada.

Captura de pantalla con la orden AT+VERSION

Conociendo la versión de nuestro módulo, podemos saber qué sintaxis utilizar. En mi caso la versión es la 3.0

Lista de comandos para la versión 1.8:

  • AT –> Prueba comunicación de comandos
  • AT AT+NAMEmibluetooth –> Cambia el nombre del módulo por «mibluetooth»
  • AT+PIN0000 –> Modifica la contraseña por 0000, la contraseña por defecto es 1234
  • AT+BAUD4 –> Selecciona la velocidad de conexión, el 4 corresponde a 9600 bps.

Lista de comandos para la versión 3.0:

  • AT –> Prueba comunicación de comandos
  • AT AT+NAME:mibluetooth –> Cambia el nombre del módulo por «mibluetooth»
  • AT+PSWD:»0000″ –> Modifica la contraseña por 0000
  • AT+UART:9600,0,0 –> Selecciona la velocidad de conexión
Captura de pantalla con los comando para cambiar el nombre y la contraseña del modulo HC-06

Artículos que te pueden interesar

Pantalla LCD con Arduino UNO
¿Cómo conectar una pantalla LCD a Arduino UNO?

¿Cómo conectar una pantalla LCD a Arduino UNO?

| Actualizado:
Comentarios: 0

¿Quieres aprender a conectar una pantalla LCD con Arduino? En este post se mostrará cómo montar el circuito electrónico y el código necesario para comprobar su funcionamiento, mostrar caracteres en la pantalla y cómo desplazar el texto a la derecha…

¿Cómo hacer un semáforo con Arduino?

¿Cómo hacer un semáforo con Arduino?

| Actualizado:
Comentarios: 0

Simular un semáforo es uno de los clásicos en la iniciación de los proyectos de Arduino. Aquí vamos a mostrar como puedes montar un semáforo sencillo, un semáforo para coches y peatones automatizado y por último, el semáforo para coches…

Robot Arduino 4 ruedas
Robot Arduino controlado por bluetooth, con 4 ruedas

Robot Arduino controlado por bluetooth, con 4 ruedas

| Actualizado:
Comentarios: 0

En un artículo anterior construimos un robot arduino controlado por bluetooth con dos ruedas y el módulo controlador L298N, en este caso utilizaremos el controlador de motor L293D que permite la conexión de 4 motores reductores. Es interesante que antes…

Motor paso a paso 28BYJ-48 con Arduino
Conexión del motor paso a paso 28BYJ-48 y el módulo ULN2003 con Arduino

Conexión del motor paso a paso 28BYJ-48 y el módulo ULN2003 con Arduino

| Actualizado:
Comentarios: 0

En este artículo veremos el motor paso a paso unipolar 28BYJ-48. Es un motor barato y que podemos utilizar en gran cantidad de proyectos como robots, impresoras 3D o fotocopiadoras. Nos vamos a centrar en la programación del motor con…

Comentarios - 0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *