Páginas

Extensión para el Serial y Bluetooth

Sin duda, los puertos serie son la forma principal de comunicar una placa Arduino con un ordenador. Un puerto serie envía la información mediante una secuencia de bits y para ello necesita de, al menos, dos conectores para realizar la comunicación de datos que son, RX para la recepción y TX para la transmisión.

Es importante saber que cada puerto serie está físicamente unido a unos determinados pines de la placa Arduino y, por esa razón, mientras usamos los puertos de serie no podemos usar como entradas o salidas digitales los pines asociados con el puerto serie en uso. Pensar que, por ejemplo, la placa Arduino Uno dispone de un único puerto serie pero hay otras placas que presentan más que uno.

Pero a veces nos interesa crear una comunicación serie en otros puertos (en otros pines de la placa), o incluso una comunicación Bluetooth. La tecnología bluetooth no es una tecnología antigua y es uno de los mejores medios para comunicarnos de forma inalámbrica con Arduino. Los dos módulos más comunes para ello son el HC-05 y el HC-06. La diferencia entre ambos módulos reside en el tipo de comunicaciones que permiten hacer: HC-06 sólo puede recibir (es lo que se denomina un esclavo o slave) mientras que el HC-05 puede recibirlas e iniciarlas (master and server). Por lo tanto, el módulo HC-05 es superior en características técnicas al HC-06.

La comunicación Bluetooth es similar al uso del puerto serie normal; requiere el uso de un puerto serie de nuestra placa Arduino. Por lo tanto, mientras usemos el módulo Bluetooth no podremos utilizar el puerto serie en las placas modelo Uno, Mini, y Nano. La placa Arduino Mega no tiene este problema ya que incorpora 4 puertos de serie.

Además, mientras estemos cargando un nuevo programa en la placa Arduino tenemos que desconectar el módulo Bluetooth dado que la programación se realiza a través de su único puerto serie.

La extensión que se muestra en la siguiente imagen nos ayuda a enviar y recibir datos desde el Monitor Serie de Arduino y además nos servirá para programar un módulo bluetooth (HC-05 o HC-06) de forma sencilla con los dispositivos arduino y así poder implementar aplicaciones móviles:

Extensión Bluetooth para mBlock5. Susana Oubiña Falcón (CC-BY)

¿Cómo se usa? Veámoslo con algunos ejemplos:

  •  Ejemplo 1: Recibir información desde la placa Arduino.

Vamos a recibir el valor de un contador enviado desde la placa Arduino. Este valor se incrementa cada segundo. Podemos observar cómo se reciben los valores desde del monitor serial. Cargaríamos el siguiente programa a la placa Arduino Uno:

Recibir información de la placa arduino. Susana Oubiña Falcón (CC-BY)

Desde mBlock, desconectaríamos la placa Arduino Uno y abrimos el IDE de Arduino y la conectamos en un puerto COM. A continuación, abrimos el Monitor Serie a 9600 baudios y podemos ver que recibimos los datos:

Recibiendo datos desde el Monitor Serie. Susana Oubiña Falcón (CC-BY)

  • Ejemplo 2: Enviar información a la placa:

En este ejemplo empleamos el puerto serie para encender o apagar el LED integrado en la placa Arduino. Para ello enviamos un carácter a la placa Arduino, empleando el monitor serial. En el caso de enviar ‘A’ la placa Arduino apaga el LED, y en caso de enviar ‘B’ lo enciende.

Enviando datos a la placa. Susana Oubiña Falcón (CC-BY)

Desde mBlock5, primero desconectaríamos la placa Arduino Uno. Después abrimos el IDE de Arduino y la conectamos allí. El siguiente paso consiste en abrir el Monitor serie en el IDE de Arduino a 9600 baudios de velocidad y comenzar a enviar datos.

Enviando datos desde el Monitor Serie. Susana Oubiña Falcón (CC-BY)

  • Ejemplo 3: Enviando datos desde un móvil a la placa Arduino Uno

Imaginemos que tenemos construido un proyecto físico que dispone de una puerta corredera y que queremos programar su apertura o cierre desde un dispositivo móvil. El proyecto incluye un circuito eléctrico que se compone de un motor de continua, un controlador de motores que puede ser el L9110, un módulo bluetooth como el HC-05 y, por supuesto, una placa Arduino (por ejemplo, la Arduino Uno).

Un posible programa para la apertura y cierre de esa puerta podría ser el siguiente: 

Control Bluetooth de un motor DC. Susana Oubiña Falcón (CC-BY)

Este programa se subiría desde mBlock5 a la placa Arduino Uno (recordar desconectar el módulo BT en la subida). 

Relativo a la App, ésta podría crearse en App Inventor. En mi caso, he creado la que muestro en la siguiente imagen:

App Apertura y Cierre de una puerta. Susana Oubiña Falcón (CC-BY)

El último paso consiste en descargar e instalar la App en nuestro móvil android, enlazar el módulo Bluetooth HC-05 con nuestro móvil y simplemente usarla:

Control de la puerta con el smartphone. Susana Oubiña Falcón (CC-BY)



No hay comentarios:

Publicar un comentario