0. Componentes y programación necesaria para instalación del módulo Bluetooth y servo

Componentes requeridos:

Para realizar el cableado del módulo Bluetooth 4.0 inalámbrico AT-09 CC2541 necesitamos los elementos siguientes:

{Product:2000}{Product:393}{Product:879} o {Product:1029}

I. Cableado del dispositivo Bluetooth con Arduino UNO

Primero vamos a ver las diferencias entre un módulo y otro.

El más habitual y económico, suele ser el HC-06, pero el HC-05 es más avanzado. Su principal diferencia se ve a simple vista, el HC-06 tiene 4 pines mientras que el HC-05 tiene 6 pines. En cuanto al Hardware, ambos se basan en lo mismo, pero el firmware cambia.

Mientras que el HC-06 entra en modo de programación en cuanto lo enciendes si no hay ningún dispositivo conectado por Bluetooth, el módulo HC-05 es ligeramente más complicado de colocar en modo comandos. Este requiere una cierta manera de arrancado, ya que necesita que el pin KEY, (Que no estaba conectado el caso del HC-06) este en HIGH cuando encendemos el módulo.

Por tanto, para el HC-05, para entrar en el modo AT tienes que poner el pin KEY en estado ALTO, por ejemplo en el pin 9 y programarlo, o a 3.3V. Es la principal diferencia, por lo que en este tutorial, nos centraremos en el HC-06.

Comandos AT básicos

  • AT+VERSION, versión del Firmware
  • AT+NAMEXXX, Programa el nombre que queremos presentar cuando alguien nos busque
  • AT+BAUDX, Fija la velocidad de comunicación entre el modulo y la consola según a la siguiente tabla:
  • - 1 configura     1200bps
  • - 2 configura     2400bps
  • - 3 configura     4800bps
  • - 4 configura     9600bps (Default)
  • - 5 configura     19200bps
  • - 6 configura     38400bps
  • - 7 configura     57600bps
  • - 8 configura     115200bps
  • AT+PINXXXX, configura el número de identificación personal, que se requerirá para establecer la vinculación
  • AT+ROLE Nos informa de si está configurado como Maestro 1, o como esclavo 0.
  • - AT+ROLE1  Configura el modulo como Master.
  • - AT+ROLE0  Configura el modulo como Slave.

Si necesita más elementos y acceder a todas las descripciones técnicas de nuestros productos, conéctese a la página web de nuestra tienda Solectro Shop.

Conexionado

HC-06

Utilizando la placa prototipo MB-102 sin soldar, o directamente sobre el módulo, realice el cableado siguiente :

Cableado%2Bm%25C3%25B3dulo%2BBluetooth%2Binal%25C3%25A1mbrico%2BAT-09.jpg

Alimente la placa UNO, la LED roja del módulo Bluetooth inalámbrico AT-09 se pone a parpadear. Con su Smartphone puede abrir un escaneo Bluetooth y averiguar que aparece el módulo AT-09 como dispositivo conectado.

II. Descarga del aplicativo LightBlue ® Explorer en tu Smartphone


En el App Store o Play Store descargue el aplicativo LightBlue® Explorer para permitir al módulo UNO comunicarse con el módulo inalámbrico AT-09 BLE, estamos usando la interfaz serie TXD (transmisión) / RXD (recepción).

El módulo UNO permite convertir cualquier par de pines digitales en una interfaz serie usando la biblioteca de SoftwareSerial.h incluida en el IDE Arduino.

III. Configurar el módulo AT-09 con el Arduino

En un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.
Im%25C3%25A1gen%2B1.jpg
Para que el programa pueda compilar con éxito, se necesita absolutamente descargar la librería Arduino SoftwareSerial.h, colocando su carpeta a la dirección siguiente de su sistema :

C:\Program Files (x86)\Arduino\libraries

Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.

Im%25C3%25A1gen%2B2.jpg


Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente:

Im%25C3%25A1gen%2B3.jpg

Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.

Im%25C3%25A1gen%2B4.jpg


Observe el resultado siguiente confirmando el funcionamiento de su cableado.

Im%25C3%25A1gen%2B5.jpg


IV. Configurar el módulo AT-09 como un periférico BLE

La configuración del módulo AT-09 BLE se realiza a través del mando AT. El objetivo de esta sección es llamar a los mandos que le permiten hacer :
  • establecer el módulo como periférico,
  • establecer el servicio UUID,
  • establecer la característica UUID,
  • establecer un buen nombre para el periférico.

Un detalle importante a tomar en cuenta es que el módulo AT-09 BLE solo permite un servicio que contiene una sola característica cuando está configurado como periférico.
La hoja de datos HM-10 contiene una sección que enumera los comandos AT. Después de analizarla, vamos a usar los mandos siguientes :
  • configurar el módulo como periférico : AT + ROLE0 (poner 0 para configurar como periférico y 1 para configurar como dispositivo central,
  • establecer el UUID de servicio : AT + UUIDuuid donde uuid es el UUID del servicio. Va desde 0x0001 ~ 0xFFFE y por defecto toma el valor 0xFFE0,
  • establecer la característica UUID : AT + CHARuuid donde uuid es el UUID de la característica,
  • Va desde 0x0001 ~ 0xFFFE y por defecto toma el valor 0xFFE1,
  • establecer un buen nombre para el periférico : AT + NAMEnew_name donde new_name es el nombre que queremos configurar.

Configuremos de la manera siguiente :
  • Role : periférico,
  • Nombre : LightBlue,
  • Servicio UUID : 0xFFE0,
  • Característica UUID : 0xFFE1,
Así se introducen por puerto serie las siguientes instrucciones AT:
  • AT+ROLE0
  • AT+NAMELightBlue
  • AT+UUID0xFFE0
  • AT+CHARxFFE1

Para ejecutar todos esos parámetros, en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.


Im%25C3%25A1gen%2B6.jpg


Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.


Im%25C3%25A1gen%2B7.jpg


Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.




Si el código se compila con éxito, aparece el mensaje siguiente :


Im%25C3%25A1gen%2B8.jpg



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.


Im%25C3%25A1gen%2B9.jpg


Observe el resultado siguiente abriendo el monitor serie para averiguar el funcionamiento de su cableado.


Im%25C3%25A1gen%2B10.jpg



En el aplicativo de su Smartphone debe aparecer conectado un dispositivo llamado Lightblue.


Entre en el menú del módulo AT-09 LightBlue y averigüen que los parámetros configurados en el programa aparezcan.


LightBlue%2B5.png

LightBlue%2B2.png



V. Lectura de los datos en las características del módulo AT-09


Después de haber configurado el módulo BLE 4.0 AT-09 como periférico, nuestro módulo UNO puede fácilmente leer los datos mandados en sus características leyendo el pin TXD. Cualquier central conectada puede inyectar datos en las características.
Tome en cuenta que la única característica disponible puede almacenar hasta 20 bytes de datos aleatorios.
Para poder leer los datos, en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.
Im%25C3%25A1gen%2B11.jpg
Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.
Im%25C3%25A1gen%2B12.jpg
Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :
Im%25C3%25A1gen%2B13.jpg
Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.
Im%25C3%25A1gen%2B14.jpg
Observe el resultado siguiente abriendo el monitor serie para averiguar el funcionamiento de su cableado.
Im%25C3%25A1gen%2B15.jpg
Abra el aplicativo LightBlue en su smartphone y escriba un nuevo valor.
LightBlue%2B3.png
Después escriba el código hexadecimal 68 65 6C 6C 6F correspondiendo a la palabra hello.
Solo se pueden escribir códigos en hexadecimal, tiene que convertir la palabra que quiera escribir en un código gracias a un convertidor en la web.
LightBlue%2B4.pngObserve que su código aparezca en el monitor serie de su computadora.
Im%25C3%25A1gen%2B16.jpg

VI. Escritura de los datos en las características del módulo AT-09

Vamos a aprender a escribir datos en el módulo BLE AT-09 usando la función mySerial.write(). El método loop() va a imprimir valores e incrementarlas después de cada escritura, repitiéndolo de manera indefinida.

Para poder escribir los datos, en un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.


Im%25C3%25A1gen%2B17.jpg



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.


Im%25C3%25A1gen%2B18.jpg


Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.




Si el código se compila con éxito, aparece el mensaje siguiente :


Im%25C3%25A1gen%2B19.jpg



Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.


Im%25C3%25A1gen%2B20.jpg


Observe el resultado siguiente abriendo el monitor serie para averiguar el funcionamiento de su cableado.


Im%25C3%25A1gen%2B21.jpg
Abra el aplicativo LightBlue en su smartphone :
LightBlue.png
Luego abra las propiedades de TX&RX :
LightBlue%2B9.png
Y seleccione Listen for notifications. Así puede ver a los mensajes llegando desde el módulo BLE AT-09.
LightBlue%2B7.png

Siguiente ejemplo Bluetooth:

Ejemplo de funcionamiento del módulo Bluetooth para controlar un servo