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

Medir el voltaje de una pila con Arduino

Medir el voltaje de una pila con Arduino

| Actualizado:
Comentarios: 1

Es habitual que tengamos por casa un montón de pilas que, en ocasiones, no sabemos si están cargadas o se han gastado. Vamos a realizar un medidor de carga utilizando la placa de Arduino. El máximo que podemos medir es…

Robot Arduino controlado por un mando a distancia de infrarrojos
Robot Arduino dirigido con un mando infrarrojo

Robot Arduino controlado por un mando a distancia de infrarrojos

| Actualizado:
Comentarios: 0

El objetivo de este proyecto es controlar el movimiento de un robot Arduino con un mando a distancia, a través de una señal de infrarrojo.

¿Cómo medir la temperatura y la humedad con el módulo DHT11 y Arduino?
Medir la temperatura y humedad con Arduino

Módulo DHT11, medir la temperatura y la humedad con Arduino.

| Actualizado:
Comentarios: 1

En este artículo veremos el funcionamiento del módulo DHT11 para medir la temperatura y la humedad, realizaremos la conexión con la placa Arduino y mostraremos las medidas obtenidas a través de una pantalla LCD. Contenido 1 Conectando el sensor DHT11…

Plataforma móvil con un joystick y Arduino
Plataforma móvil con 2 servos controlada por un joystick y Arduino

Plataforma móvil con 2 servos controlada por un joystick y Arduino

| Actualizado:
Comentarios: 0

Vamos a montar una torreta con dos servos que nos ayudarán a desplazarla en un ángulo de 180º, en el eje horizontal y en el vertical. Utilizaremos un joystick para mover los pequeños motores. Podremos utilizar la plataforma móvil para…

Comentarios - 0

Deja un comentario

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