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.
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) |
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