Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 76
1o. de enero de 2020




PROGRAMANDO ARDUINO DESDE UN DISPOSITIVO MÓVIL UTILIZANDO LA APLICACIÓN ARDUINODROID

 

Joel Aparicio-Pérez
Dusthon Llorente-Vidrio
Erick Michel Ramírez-Rodríguez
e-mails: Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

CIDETEC
Departamento de Posgrado
Instituto Politécnico Nacional

 

Resumen

Una de las características de Arduino™ es la facilidad de uso que tiene su entorno de desarrollo integrado (IDE) el cual brinda varias facilidades de programación, lo cual lo vuelve una herramienta más atractiva para usuarios en comparación con la implementación de un circuito integrado programable. Además, de ser una de las plataformas más económicas y conocidas para trabajar en comparación con otras.
La finalidad de este artículo es dar a conocer la aplicación ArduinoDroid, desde sus características generales, hasta la implementación de códigos en la tarjeta Arduino Nano. Ya que esta herramienta nos permite trabajar con una tarjeta de desarrollo de Arduino™ sin el uso de una computadora, interactuando con un dispositivo móvil (Teléfonos inteligentes o Tabletas con Sistema Operativo Android), brindando las facilidades que ofrece el IDE común de la computadora.

 

Introducción

 

El proceso para llevar a cabo un hardware es en general costoso y consume tiempo, además, de que muchos microcontroladores y microprocesadores, entre otros elementos electrónicos conllevan una etapa de programación, previa a la implementación de la tarjeta, la cual muchas veces incluye llevar a cabo la adquisición de un dispositivo programador. Este dispositivo muchas veces es específico para ese elemento, el cual generalmente no es económico en relación al objetivo original del desarrollo de dicho hardware. Además, la elaboración de un circuito, generalmente implica desde la elaboración, en algunos casos, de un circuito recomendado por el fabricante para que funcione el elemento de procesamiento, el diseño del circuito para acatar el problema y problemas comunes en el desarrollo del mismo, como puede ser un falso contacto debido a una mala conexión, llegar a dañar alguno de los elementos electrónicos como el procesador debido a algún problema de voltaje, entre muchos otros.

Para facilitar la implementación de elementos programables, muchas personas tienden a utilizar tarjetas de desarrollo con las cuales se puede llevar a cabo la programación de varios algoritmos, facilitando muchas de las conexiones necesarias para la creación de un hardware, entre ellas, la plataforma de Arduino™ es una de las más usadas desde en el ámbito estudiantil, hasta en algunos procesos de la industria. Ya que es una plataforma que no solo maneja una amplia gama de circuitos integrados con diversas capacidades para llevar a cabo procesamiento de datos, además que sus tarjetas cuentan con diversos aditamentos para llevar a cabo distintas funciones, como la capacidad de utilizar diversos protocolos de comunicación.

Arduino™ es una plataforma electrónica de código abierto basada en hardware y software fácil de usar. Es una placa con un microcontrolador, tiene un entorno de desarrollo, es multiplataforma y barato [1].

Arduino™ facilita una IDE para programar los módulos y dispositivos que implementa el lenguaje de programación de Arduino™ y el bootloader ejecutado en la placa. Una característica principal es su sencillez y facilidad de implementación para quienes tiene conocimientos de electrónica y programación.

Arduino™ se puede utilizar para desarrollar elementos autónomos, conectándose a dispositivos e interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un elemento, por ejemplo, leer la información de una fuente, como puede ser un teclado, y convertir la información en una acción como puede ser encender una luz y mostrar en pantalla lo tecleado.

El hardware de Arduino™ se trata básicamente de una placa con un microcontrolador o microprocesador.

En cuanto al hardware disponible en el mercado de Arduino™ podemos encontrar una amplia cantidad de modelos que con el curso del tiempo implementan mejoras o actualizaciones de sus productos o innovaciones en productos nuevos; también podemos observar que existen hardware original y copias, una característica que diferencia a una placa copia de una original de Arduino™ es la calidad de los materiales que usan para su fabricación [3] lo que se podría considerar una característica a considerar al momento de decidir si adquirir una placa original o una copia, además, de que las originales no requieren descargar su driver para poder comunicar la placa con la computadora y el costo es más accesible para una copia a comparativa de una placa original, en cualquiera de los casos en la práctica ambas opciones trabajan de forma similar.

El 12 de abril del 2013 Arduino™ lanzó una IDE de desarrollo compatible con el sistema operativo Android, el cual puede ser usado en dispositivos móviles la cual llamó ArduinoDroid.

 

ArduinoDroid

 

ArduinoDroid es una aplicación gratuita que te permite editar, compilar y cargar código a las placas Arduino™ directamente desde un Teléfono inteligente o tableta. Esta cuenta con las siguientes funciones y características:

  • Abrir / editar código en Arduino™.
  • Códigos de ejemplo y bibliotecas incluidas.
  • Resaltado de sintaxis de código con soporte de temas.
  • Capacidad de completar su código.
  • Diagnósticos en tiempo real (errores y advertencias) y correcciones.
  • Navegador de archivos.
  • Pequeño teclado de software incorporado.
  • Compilar código (no se requiere de permisos root).
  • Cargar archivos .INO (Arduino™ Uno / Uno r3, Duemilanove, Nano / Nano v3, Mega 2560, Leonardo, Micro / Pro Micro, Pro, Pro Mini, Yun / Yun mini, se admiten placas Esplora, se requieren dispositivos Android con soporte USB-host).
  • Monitor en serie.
  • Soporte de Dropbox.
  • Soporte de Google Drive.
  • Administrador de biblioteca.
  • Funciona sin conexión a Internet.

La aplicación toma alrededor de 210Mb, ya que contiene la IDE, compilador y cargador. Debe de tener suficiente espacio libre en el almacenamiento interno, ya que no se puede instalar en la tarjeta SD debido a la política de seguridad de Android [4].

 

Metodología y resultados

 

A continuación se presentan una serie de programas realizados para probar algunos de los alcances de la interfaz ArduinoDroid, presentada a continuación.

  1. El primer programa consistía en armar un circuito en el cual se llevaba a cabo un contador hexadecimal del 0 a la F, en paralelo con la reproducción del comportamiento de un semáforo en un Led RGB.

 

Figura 1. Contador hexadecimal de 0 a F.

 

  1. El segundo programa consistió en mandar un elemento de sistema hexadecimal y mostrarlo en un visualizador de siete segmentos.

 

Figura 2. Comunicación desde monitor serie para desplegar un número en display siete segmentos.

 

  1. El tercer programa tiene la finalidad de explorar la comunicación serial de forma bidireccional. Éste consistió en mandar una letra “a” (por elección del programador), y regresar la lectura de los valores de cinco voltajes analógicos en el dispositivo.

 

Figura 3. Prueba del Monitor Serie de con comunicación bidireccional.

 

Se encontraron algunos problemas con la aplicación, como por ejemplo al escribir código o abrir un archivo .INO si se cambia la orientación de la pantalla en este dispositivo Polaroid el texto escrito desaparece imposibilitando el poderlo editar, en la imágenes de abajo se puede visualizar lo anteriormente observado.

 

Figura 4. Un error encontrado es al cambiar la orientación de la pantalla el hacerlo desaparece el código antes visualizado.

 

Conclusiones

 

La aplicación ArduinoDroid es una alternativa útil para explotar la característica de portabilidad de las placas Arduino™ y sirve para realizar pruebas y practicas sin depender de un PC con su respectiva IDE, solo se requiere la interconexión correcta de los cables para llevar a cabo dicha tarea. La herramienta ArduinoDroid no trabaja con todas las posibles tarjetas de desarrollo que maneja la marca, solo puede usar una determinada cantidad de tarjetas. A diferencia de otras marcas, cuyas tarjetas tienen capacidades en cuanto a hardware y por lo tanto también software, Por lo tanto, se descarta la capacidad de uso de esta aplicación para más sectores. A comparativa en el apartado del Monitor Serie se observó que no despliega las instrucciones con print o println en el Monitor Serie de la aplicación, pero si trabaja de forma correcta al enviar y recibir datos. La aplicación ha ido mejorando con el trascurso del tiempo y actualmente ha añadido más dispositivos Android™ con cada actualización con los que puede trabajar de acuerdo a la página del autor de la aplicación, existen algunos comentarios de errores encontrados a lo largo de este tiempo desde su publicación por lo que se puede observar que aún hay errores que tienen que corregir el equipo de desarrollo de la aplicación, quienes han estado poniendo atención a estos comentarios y corrigiendo algunos a la par de que actualizan su software y lo mejoran.

 

Referencias

 

  1. Arduino. (23 de Septiembre de 2019 ) Obtenido de https://www.arduino.cc

  2. S. Monk (2010) 30 Arduino Projects for the Evil Genius. Evil Genius./revista/web . McGraw-Hill Education.

  3. Saucedo, M. A. B. (2018) COMPARACIÓN DE TARJETAS ARDUINO UNO ORIGINALES Y CLONES COMO INSTRUMENTO DE MEDICIÓN.Pistas Educativas. 39(128).

  4. ArduinoDroid. (25 de Septiembre de 2019) Obtenido de https://www.arduinodroid.info/