Arduino y bluetooth con videotutorial y personalización de app móvil

Vamos a aprender a controlar con el teléfono móvil, nuestro Arduino. En este caso vamos a utilizar bluetooth como medio de comunicación. De esta forma, podrás encender las luces de casa, controlar la calefacción, manejar un coche de radiocontrol, crear una puerta con apertura desde el móvil… ¡y cualquier otra aplicación que se te ocurra!

Además, en el videotutorial que presentamos, también vamos a aprender a adaptar de forma muy sencilla una app gratuita, para así construir nuestra botonera personalizada. Con ella podrás incluir pulsadores, cajas de datos que se lean desde Arduino, acelerómetros, barras de nivel, y una innumerable cantidad de visualizadores mas.

Qué vamos a aprender:

  • Qué tipos de módulos bluetooth hay y cómo se conectan.
  • A enviar órdenes a Arduino desde el móvil mediante una app gratuita.
  • A realizar una botonera personalizada en una app del móvil.

Es la hora. ¡Comencemos!

A continuación se resumen los pasos seguidos en el videotutorial anterior.

INDICE

  1. Tipos de módulos bluetooth y esquema de conexión.
  2. Realización del programa en ArduinoBlocks
  3. Creación de la aplicación móvil
  • Material y esquemas de conexión

Para darle la conectividad bluetooth a Arduino, se pueden usar varios módulos. Los más extendidos son los HC-05 y HC-06. Actualmente ya existen módulos de bluetooth bajo consumo (BLE 4.0). Vamos a ver rápidamente las diferencias básicas entre ellos.

Módulos bluetooth

HC-05: Permite comunicación bidireccional, es decir, podemos mandar órdenes a Arduino desde el móvil y, además, Arduino puede mandar datos hacia nuestro móvil. De esta forma, no sólo podemos encender la calefacción, si no que también podemos recibir en nuestro móvil a qué temperatura estamos.

Usaremos para conectar con él, inicialmente, S2 Terminal for Bluetooth. Esta app es muy simple y vale principalmente para comprobar que nuestra conexión funciona y el programa está bien realizado. Tras esto, utilizaremos Bluetooth electronics, dónde crearemos una botonera personalizada para ejecutar nuestro programa.

HC-06: Sólo permite enviar órdenes a Arduino desde el móvil, pero NO envía datos desde Arduino al móvil.

Admite las mismas apps que el HC-05, ya que es el mismo tipo de bluetooth.

HC-08: Tiene la misma funcionalidad que el HC-05. Lo mas destacable, es que utiliza bluetooth 4.0, por lo que hay muchas aplicaciones de bluetooth que no lo reconocen. Por ello, IMPORTANTE, si usas este módulo, S2 Terminal for Bluetooth y Bluetooth electronics no lo reconocerán y no serán capaces de conectar con él. Para comunicar con el HC-08 se puede usar HMBLE Terminal.

En el videotutorial, con un HC-06 vale, ya que sólo enviaremos órdenes a Arduino. El HC-05 también es válido, como hemos visto.

Esquema de conexión

Vamos a conectar en el pin 12 (podría ser cualquier otro desde el pin 4 al 13) un led que usaremos simplemente como señal luminosa de que nuestro programa funciona. En lugar de un led, podemos conectar a esa salida digital un relé, y este que nos encienda la calefacción, las luces, una alarma, etc.

Para la conexión del bluetooth, tenemos que alimentar el módulo con GND y 5 Voltios. Para comunicarlo, vamos a unir el pin TX del bluetooth con el pin 3 de Arduino, y el RX con el pin 2. Con eso tenemos todo el montaje. A continuación vamos a ver un breve resumen de cómo se realiza la comunicación:

Arduino se comunica con el bluetooth a través del puerto serie, de igual forma que lo hace con el ordenador mediante cable o con Xbee por radiofrecuencia, por ejemplo. Para ello, utiliza una comunicación serial, ampliamente usada en aplicaciones informáticas, domóticas e industriales: Autómatas programables, variadores de frecuencia, etc.

1. Comunicación Seral

Arduino utiliza los pines 0 y 1 como Rx y Tx para la comunicación serial con el ordenador. Esto quiere decir que si conectamos el bluetooth a esos pines ¡no podremos cargarle programas desde el ordenador!

Por este motivo, es habitual elegir otros pines distintos al 0 y 1 para la comunicación serial con el bluetooth. Es importante destacar que esto nos obliga a utilizar una librería (es un pequeño programa) que le otorga a otros pines diferentes al 0 y 1, la funcionalidad de comunicación serial. Tranquilo, porque Arduinoblocks ya ha pensado en ello y esto se configura de forma muy sencilla en el bloque de inicialización del bluetooth.

Por otro lado, también hay que tener en cuenta que la única restricción será el radio de acción del bluetooth (de unos 10 metros en interior). Para aumentar el radio de acción y poder controlar el móvil desde cualquier otro punto con conexión a internet, te invitamos a leer estos tutoriales sobre comunicación por internet con Arduinoblocks:

http://blog.arduinoblocks.com/2018/04/30/arduino-e-internet-mediante-cable-ethernet-y-protocolo-mqtt-con-videotutorial/

http://blog.arduinoblocks.com/2017/04/28/conecta-tu-arduino-al-internet-de-las-cosas-iot/

  • Realización del programa en ArduinoBlocks

El programa creado va a hacer lo siguiente:

  1. Estará todo el tiempo comprobando si la conexión por bluetooth es válida
  2. Si es así, la lectura de datos que se reciban por el bluetooth , la guardará en una variable que se ha llamado “Orden”.
  3. Si el dato leído y guardado en la variable “Orden” es una E, entonces se hace encender el pin 12 de Arduino, y con ello el led conectado al mismo.
  4. Si “Orden” tiene una A, entonces apagará el led.

Programa en Arduinoblocks

En el videotutorial de este artículo, desarrollamos paso por paso el programa descrito.

En este enlace puedes consultar otros programas de comunicación bluetooth con Arduinoblocks: http://blog.arduinoblocks.com/tag/bluetooth/

  • Creación de la aplicación móvil

Resumimos el contenido que puedes encontrar ampliamente detallado en el videotutorial de esta entrada: Cómo conectar con el bluetooth, como vincular el programa, etc.

Como decíamos, vamos a utilizar S2 Terminal for Bluetooth para enviar órdenes a Arduino de forma simple.

S2 Terminal for Bluetooth

A continuación, ya con Bluetooth electronics, creamos una minibotonera:

Minibotonera con Bluetooth electronics

¡Y ya lo tenemos! Si tienes consultas o sugerencias, no dudes en comentar, visionar el vídeo y realizar tantas preguntas como sean necesarias.

Compartir