10 formas de conectar Android con Arduino

Publicado por Loli Diéguez en

Las placas Arduino ofrecen una gran variedad de opciones para conectarse con ellas, ya sea por bluetooth, serie u otras opciones, la conectividad que ofrecen es tan variada, que integrarlas en proyectos para automatizar tu casa o convertirlas en datalogger es algo muy fácil, lo difícil será elegir el método que más te gusta.

Si necesitas decirle a tu Arduino que cambie el estado de un pin (por ejemplo, para encender las luces), lo normal seria presionar un botón físico o usar un sensor. Hacer esto de forma manual está bien para muchos proyectos, pero ¿qué sucede si solo quieres capturar un dato de un sensor o actuar sobre algo de forma remota?

Acceso remoto Arduino

En el articulo de hoy, te comento algunas formas para realizar este acceso remoto desde tu móvil.

1- Aplicación ArduinoDroid.

Empezaré con la aplicación ArduinoDroid . Esta aplicación funciona a través de USB On The Go (OTG) para conectar su dispositivo a Arduino mediante un cable USB. Uno de los beneficios de este método es que no requiere conexión a Internet o Bluetooth para poder operar.

Para quien no lo sepa, USB On The Go permite que un dispositivo lea datos de un dispositivo USB sin necesidad de una PC. Básicamente, el dispositivo se convierte en un host USB, que no es una habilidad que tienen todos los dispositivos. Por ejemplo, podrías conectar un USB a tu móvil o conectarle un game controler por USB para usarlo en tus juegos. Para saber si tu dispositivo soporta esta función mira las especificaciones del mismo y busca un logotipo como este:

USB on to Go

 

Volviendo a lo que hablamos en este articulo, una vez que te descargues la aplicación ArduinoDroid, verás que es un IDE muy funcional, que te permite programar directamente desde tu teléfono, cargar un sketch desde Dropbox o Google y compilarlos sobre la marcha.

ArduinoDroid

 

Los beneficios de usar esta aplicación son obvios. Tener un IDE a mano es lo perfecto para hacer cambios rápidos de tus proyectos.

Aunque tiene un aspecto negativo y es que, escribir código en un móvil no es realmente cómodo, y no digamos si tienes habilitado el corrector ortográfico!. Aunque es solo un pequeño problema en comparación con la conveniencia de tener una forma ultra portátil de programar tu placa sin la necesidad de una conexión a Internet.

2- Arduino Bluetooth Controller.

El siguiente método para conectar Arduino con Android es mediante una placa Bluetooth y la aplicación Arduino Bluetooth Controller. 

Arduino bluetooth controller

 

Esta opción va menos sobre la programación de un Arduino sobre la marcha como antes, y más sobre como interactuar con la placa y el código cargado en ella. Desde una aplicación como ArduinoDroid o Arduino Bluetooth Controller, pulsaremos sobre botones y las acciones se transmitirán a la placa a través de bluetooth, lo mismo al contrario, podremos leer valores de sensores conectados a la placa por medio de la conexión inalámbrica. Necesitarás un módulo Bluetooth para tu placa ya que Arduino Uno no tiene esta interfaz de forma predefinida.

Conexion bluetooth Arduino

 

Esta aplicación tiene una interfaz de usuario simple y es fácil de configurar. Enlazas tu Android con el módulo Bluetooth conectado al Arduino y estará listo. Te permite conectarte en 4 modos diferentes:

  • Modo controlador: este modo presenta una interfaz parecida a los controles de videojuegos. Al presionar cualquiera de los botones en pantalla se enviará un comando correspondiente a tu Arduino, controla tu robot con facilidad con esta interfaz.
  • Modo de conmutación: el modo de conmutación consta de un solo botón que se puede utilizar para controlar un conmutador conectado de forma remota.
  • Modo de atenuación: El modo de atenuación puede enviar valores cambiantes a tu Arduino, este modo seria útil para controlar factores como el brillo y la velocidad.
  • Modo terminal: envía sus comandos personalizados a través de este modo y escribe algunas líneas de código en tu Arduino para decodificar los comandos.

 

3- Blynk.

El tercer método que veremos es con Blynk, es un servicio o web orientada al Internet de las cosas (IoT) diseñada para que el control remoto y la lectura de datos de sensores de tus dispositivos sea rápido y sencillo, con Blynk y Arduino (o incluso Raspberry Pi) controlar un enchufe, un rele o leer datos de un sensor nunca ha sido tan fácil.

Blynk pretende eliminar la necesidad de una codificación extensa y facilita el acceso a tus dispositivos desde cualquier lugar a través de tu teléfono móvil. El uso es gratuito para aficionados y desarrolladores, aunque también está disponible para su uso comercial por una tarifa.

Blynk usa su propio servidor y bibliotecas para hacer que el servicio funcione, pero la aplicación Blynk parece ser su principal fortaleza.

blynk

 

Su flexibilidad y simplicidad lo convierten en una forma intuitiva de desencadenar eventos en cualquiera de tus placas Arduino. Blynk requiere que tu placa este conectada a Internet, ya que utiliza su propio servidor. Puedes usar Wi-Fi o datos móviles para acceder a Blynk.

Una de las fortalezas de Blynk es la variedad de formas en que puedes conectarte a un dispositivo. Junto con el soporte para casi todas las placas de desarrollo, puedes conectarte al servidor de forma inalámbrica, mediante Ethernet, o incluso usar la conexión de un PC a través de USB. El servicio está bien documentado y su aplicación intuitiva simplifica la configuración de controles personalizados para tu proyecto. La biblioteca Blynk para el IDE de Arduino se encarga de toda la comunicación.

blynk lectura sensor

 

Blynk no es el único servicio en este campo, también vale la pena visitar Thinger.io , y la prácticamente ilimitada pero mas complicada OpenHAB . De los tres, Blynk es sin duda el más rápido para ponerte en marcha.

4- Comunicación desde cero.

Todo lo que hemos cubierto hasta ahora hace uso de los servicios existentes para ayudarlo a conectarse de varias maneras, pero ¿qué sucede si uno quiere un control total sobre todos los aspectos de la aplicación de Android? ¿Por qué no hacerlo uno mismo desde cero?

Hariharan Mathavan nos lleva a través de todo el proceso en este extenso tutorial paso a paso. La aplicación creada está diseñada para abrir una conexión USB y pasar datos en serie entre la aplicación y la placa Arduino. Esta es una excelente manera de familiarizarse con Android Studio y la construcción de aplicaciones en general.

El tutorial guía a través de todo el código requerido para comunicarte con tu Arduino a través de USB, dando explicaciones en cada paso. El tutorial de seguimiento sobre cómo implementar la conectividad Bluetooth está muy bien explicado.

bluetooth_android_DIY_combined

Si bien hay formas de crear aplicaciones de Android sin codificación, vale la pena ese tutorial para aprender los conceptos básicos de la programación en Java.

5- Convierte tu Arduino en un servidor.

Otra forma de comunicarte con tu placa es convertirla en un pequeño servidor. El beneficio de esto es que abre la posibilidad de comunicarte con la placa desde cualquier sitio a través de internet.

En este tutorial de startingelectronics.org podrás ver como realizar este servidor web para Arduino, aunque necesitarás un shield Ethernet para conectar tu placa a la red de datos de tu casa. Verás que es un tutorial muy detallado que merece la pena tener a mano. Aquí hay un vídeo de él en acción:

Si no tienes un shield ethernet para Arduino también puedes implementar esto con un modulo ESP8266.

6- Por infrarrojo.

Otra opción que os traigo es un un control infrarrojo, puede utilizar el receptor infrarrojo de algún equipo que tengas tirado por casa sin usar y utilizarlo con tu placa Arduino.

Este método requiere que tu dispositivo Android tenga un emisor IR incorporado. Existen muchas aplicaciones disponibles para usar esta función, aunque el controlador Mi Remote es gratuito y funciona con muchos otros dispositivos domésticos.

Mi Remote controller

 

Una vez que tengas la aplicación en funcionamiento, deberás crear un circuito simple para "detectar" las señales de IR. 

Circuito Arduino detector IR

Puedes ver también este vídeo donde se ve funcionando el conjunto:

 

Si bien este tutorial usa un control remoto antiguo, el proceso es exactamente el mismo para usar un dispositivo Android con IR, y la disponibilidad de las partes lo convierte en un gran proyecto para principiantes.

Tienes que tener en cuenta que este método solo funciona si el emisor IR tiene visión directa con el receptor.

7- Bluetooth Controller 8 Lamp

La siguiente aplicación permite conectar Android con Arduino a través de uno de estos interfaces bluetooth conectados a la placa: HC-05, HC-06 o HC-07. Con esta aplicación podrás controlar hasta 8 pines de la placa Arduino. 

Bluetooth Controller 8 lamp

 

Tiene una interfaz de usuario simple que consta de 8 botones, uno por cada pin que controla y también ofrece la posibilidad de actuar sobre todos los botones al mismo tiempo.

interfaz Bluetooth Controller 8 Lamp

 

La aplicación esta disponible en Google Play.

8- Arduino Voice Control.

Arduino no tiene suficiente memoria ni capacidad de procesamiento para un reconocimiento de voz eficiente pero día a día este modo de interactuar con los dispositivos se esta volviendo cada vez mas habitual, si aun no quieres complicarte la vida con integraciones con Alexa, esta aplicación te puede permitir usar comandos de voz para actuar sobre tu placa.

La aplicación Arduino Voice Control es exactamente para lo que está hecha. Capta los comandos de voz y envía a Arduino a través de Bluetooth, las ordenes para que la placa actue en consecuencia.

Arduino Voice Control

 

9- RemoteXY: Arduino control.

Esta aplicación te permite controlar tu placa Arduino mediante Bluetooth, wifi e incluso a través de Ethernet. Podrás crear tu propia GUI única  en su web oficial remotexy . Podrás definir tus botones, interruptores, deslizadores, joysticks y otros elementos de la GUI para controlar tu Arduino.

remoteXY

Una característica muy interesante es que la estructura de la interfaz no se almacena en servidores online sino que se guarda en la placa, no hay interacción con los servidores para descargar la interfaz. La estructura de la interfaz se descarga a la aplicación móvil desde el controlador.

La aplicación también esta disponible en Google Play.

 

10- Virtuino.

Virtuino te permite visualizar tus proyectos como ninguna otra aplicación y ofrece la posibilidad de controlar más de una placa al mismo tiempo a través de Bluetooth, wifi, internet o incluso via SMS.

Virtuino

 

Al igual que la aplicación anterior, Virtuino también ofrece la posibilidad de diseñar la interfaz para mostrar LED, interruptores, cuadros, instrumentos analógicos, contadores y mucho más. Viene con soporte de biblioteca y una gran cantidad de tutoriales para guiarte a través del proceso, una buena manera de empezar a usarlo es agregando algunas lineas de código a los ejemplos que tiene, de este modo, aprenderás mas rápido.

Al igual que antes, puedes encontrar la aplicación en Google Play.

Bueno, hasta aquí las formas de conectarte desde Android con Arduino, en otro articulo veremos opciones desde iOS.


Compartir esta publicación



← Publicación más antigua Publicación más reciente →