Bluetooth en Arduino
Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que
posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por
radiofrecuencia en la banda ISM de los 2.4 GHz. Los principales objetivos que se pretenden
conseguir con esta norma son:
Facilitar las comunicaciones entre equipos móviles.
Eliminar los cables y conectores entre estos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de
datos entre equipos personales
Se denomina Bluetooth al protocolo de comunicaciones diseñado especialmente para dispositivos
de bajo consumo, que requieren corto alcance de emisión y basados en transceptores de bajo
[Link] dispositivos que incorporan este protocolo pueden comunicarse entre sí cuando se
encuentran dentro de su alcance. Las comunicaciones se realizan por radiofrecuencia de forma que
los dispositivos no tienen que estar alineados y pueden incluso estar en habitaciones separadas si
la potencia de transmisión es suficiente. Estos dispositivos se clasifican como «Clase 1», «Clase 2»
o «Clase 3» en referencia a su potencia de transmisión.
Los dispositivos con Bluetooth también pueden clasificarse según su capacidad de canal:
Versión Ancho de banda
Versión 1.2 1 Mbit/s
Versión 2.0 + EDR 3 Mbit/s
Versión 3.0 + HS 24 Mbit/s
Versión 4.0 32 Mbit/s
La especificación de Bluetooth define un canal de comunicación a un máximo 720 kbit/s (1 Mbit/s
de capacidad bruta) con rango óptimo de 10 m (opcionalmente 100 m con repetidores). Opera en
la frecuencia de radio de 2,4 a 2,48 GHz con amplio espectro y saltos de frecuencia con posibilidad
de transmitir en Full Duplex con un máximo de 1600 saltos por segundo. Los saltos de frecuencia
se dan entre un total de 79 frecuencias con intervalos de 1 MHz; esto permite dar seguridad y
robustez.
El hardware que compone el dispositivo Bluetooth está compuesto por dos partes:
Un dispositivo de radio, encargado de modular y transmitir la señal.
Un controlador digital, compuesto por una CPU, un procesador de señales digitales (DSP – Digital
Signal Processor) llamado Link Controller (o controlador de Enlace) y de las interfaces con el
dispositivo anfitrión. Así pues un nodo BlueTooth puede ser Master o Slave y dispone de una
dirección única, así como de un nombre para identificarse y muy habitualmente también incluye
un PIN de conexión o número de identificación que debe teclearse para ganar acceso al mismo.
Como el BlueTooth lo desarrolló Nokia para conectar teléfonos móviles, a otros dispositivos como
auriculares, micrófonos o conexiones al audio del coche, existe un procedimiento definido que se
llama Pairing (o emparejamiento) que vincula a dos dispositivos [Link] vinculas dos
dispositivos BT, se inicia un proceso en el que ellos se identifican por nombre y dirección interna y
se solicitan la clave PIN para autorizar la conexió[Link] el emparejamiento se realiza con éxito, ambos
nodos suelen guardar la identificación del otro y cuando se encuentran cerca se vuelven a vincular
sin necesidad de intervención manual. (Aunque para que tu BlueTooth pueda enviar o recibir
música, debe aceptar otra norma posterior llamada Advanced Audio Distribution Profile (A2DP) y
que en caso de ser algún sistema antiguo te impedirá la reproducción.)
Los módulos HC-05 y HC-06 son Bluetooth V2. Pero con el tiempo han ido apareciendo módulos
como los que conocemos que soportan el protocolo Bluetooth V4.0 o Low Energy al alcance de
todos los bolsillos y los fabricantes chinos han empezado a suministrarlos de forma accesible, tales
como los modelos HC-08 y [Link] nuevo Bluetooth 4.0 es un nuevo protocolo diseñado
pensando en disminuir todo lo posible las necesidades de energía de los dispositivos que lo usan, y
de sobre todo de la propia comunicación que tradicionalmente ha sido de consumo [Link]
le suele llamar también BLE por Bluetooth Low Energy, o simplemente Bluetooth LE. Mejora
bastante el consumo previo, pero la distancia también disminuye.
Bluetooth con Arduino
Para dotar de comunicación bluetooth con Arduino podemos hacerlo de varia formas:
Modulo bluetooth externo
Módulo HC-05 o HC-06
Módulo Bluetooth 4.0 HC-08 y HC-09
Módulo sparkfun
Módulo integrado en placa como el arduino bt
Microcontrolador con Bluetooth integrado como el Arduino 101
Los módulo más frecuentes en el mercado son los módulos HC-06 y HC-05 que son muy
económicos y están disponibles independientes o en modo SHIELD y para zocalo XBEE.
Como el módulo BlueTooth es básicamente un nodo BT conectado a un interface serie, podríamos
en principio conectar los pines RX y Tx a los equivalentes de Arduino en los pines 0 y 1 digitales, sin
más que cruzarlos (BT Tx a Arduino Rx y BT Rx a Aduano Tx) y de hecho muchos ejemplos en
Internet utilizan este esquema y se comunican con el BT mediante las familiares instrucciones de
[Link] ().
Sin embargo, puesto que los pines 0 y 1 se utilizan en la comunicación serie de Arduino con el PC a
través del USB y por tanto, si los usamos para comunicar con el modulo BT, perderíamos la
conexión con el PC, es mejor usar otros [Link] ello tenemos que importar una librería que
habilite la comunicación serie con otros pines como es la librería Software Serial.
El módulo HC-06, a diferencia del HC-05, no espera un terminador de línea como \n, si no que
salta por tiempo y debemos tenerlo en cuenta a la hora de hacer el programa de conexión con
Arduino.
R. Bibliográfica
Jecrespom. (2016, 14 noviembre). Bluetooth en Arduino. Aprendiendo Arduino.
[Link]