Soluciones de interfaz de usuario simples pero adorables del mundo del desarrollador
Colaboración de Editores europeos de DigiKey
2017-07-19
Las pequeñas placas de computadoras como la familia Arduino son más que un simple vehículo educativo valioso. El ecosistema ha sido adoptado con entusiasmo por los ingenieros profesionales para resolver numerosos desafíos de detección y control. Estos pueden variar desde los simples sensores conectados al control de motores o actuadores en maquinaria o simples robots. La combinación de una placa de microcontrolador Arduino y E/S o protector de la unidad de motor podría satisfacer las necesidades de control de movimiento del proyecto. El carácter de código abierto de un ecosistema como Arduino significa que hay muchos proyectos publicados en línea que pueden proporcionar una plataforma de lanzamiento para una aplicación personalizada. Existen numerosas fuentes de código escrito previamente en sitios del fabricante o en GitHub independiente. La figura 1 es un fragmento de código para controlar un robot basado en Arduino desde GitHub.

Figura 1: Las comunidades de desarrolladores ofrecen una plataforma para encontrar y compartir código para proyectos de código abierto.
Opciones de interfaz de usuario
En el otro extremo de la conexión, se requiere una interfaz de usuario. Equipos tales como un brazo robótico o una sonda motorizada pueden necesitar algo más que una serie de controles para movimientos básicos como ir hacia delante/atrás, izquierda/derecha o rotación en sentido horario/rotación en sentido antihorario.
¿Aplicación de teléfono inteligente?
Una solución es usar un teléfono inteligente como el principal controlador de interfaz de usuario. Esto ha sido ampliamente adoptado cuando los consumidores necesitan interactuar con "objetos” inteligentes tales como la calefacción doméstica o sistemas de iluminación, dispositivos de seguridad o aviones teledirigidos. El teléfono inteligente tiene muchas ventajas, incluyendo su pantalla a color de alta resolución para presentar instrumentos de manera atractiva, con sofisticada tecnología multitáctil, y conectividad versátil abarcando comunicación celular, Wi-Fi® y Bluetooth®. Son omnipresentes, y pueden ser fácilmente convertidos en un controlador adecuado simplemente mediante la carga de una aplicación diseñada para acompañar al nuevo producto.
Para algunos proyectos, sin embargo, desarrollar una aplicación personalizada puede ser costoso, consumir mucho tiempo y encontrarse fuera del núcleo del equipo de desarrollo.
Varias aplicaciones Android están disponibles a través de la tienda Google Play para controlar robots basados en Arduino mediante Bluetooth utilizando un teléfono inteligente. Estos proporcionan a los desarrolladores una selección de interfaces de usuario listas y descargables, disponibles de forma gratuita o a bajo costo. Sin embargo, las aplicaciones son a menudo concebidas para juguetes controlados por radio, y el aspecto puede no ser ideal para la aplicación final. Por otro lado, algunos (como el Arduino BT Joystick) presentan gráficos sencillos que pueden dar un aspecto profesional, o (como RemoteXY) dar libertad para configurar las perillas, botones y controles deslizantes de forma individual.
Desarrollo de hardware con los módulos de entrada de usuario
Una amplia gama de módulos están disponibles para ayudar a proporcionar un panel de control personalizado y simplificar el hardware y los desafíos de diseño mecánico. Estos incluyen palancas y pulsadores en distintas combinaciones. Estos son ideales para controlar el movimiento en diversas direcciones, y se pueden conectar fácilmente a una placa de microcontrolador en una variedad de maneras. También hay varias opciones para agregar un módulo de radio para implementar el control remoto inalámbrico, ofreciendo comodidad comparable a la de un teléfono inteligente.
El SparkFun COM-09032 Thumb Joystick convierte los movimientos de avance/retroceso y derecha/izquierda en voltajes analógicos, e integra un pulsador que puede ser utilizado como entrada “Seleccionar” independiente de la orientación del joystick. Viene con su propia placa de derivación para simplificar la conexión al host utilizando únicamente cinco cables: alimentación, tierra, tensiones de salida X e Y, y el botón Seleccionar estado. SparkFun también ha proporcionado ejemplos de código para leer los voltajes de entrada desde el joystick y presentarlos como valores digitales en una salida serial (Figura 2).

Figura 2: Muestra el código de Arduino para leer valores de un joystick de SparkFun.
Conectar con otros ecosistemas de hardware
Los módulos de joystick de otros fabricantes están disponibles, y pueden ser fácilmente conectados a una placa Arduino utilizando software como el ejemplo de la figura 2. Alternativamente, se conecta a otros ecosistemas de hardware que pueden ampliar aún más las opciones de los desarrolladores. El adaptador de Maxim MAXREFDES72 proporciona un ejemplo al permitir a los usuarios conectar módulos periféricos Arduino desde el ecosistema PMod™ a sus proyectos. Esta conveniente interfaz a PMod le ofrece a los desarrolladores acceso a una variedad de módulos, que no solo incluyen el módulo joystick de Digilent JSTK2 PMod™, sino también el módulo de interruptor de pulsador PmodBTN de Digilent, que contiene cuatro interruptores para funciones de control del usuario, y otros módulos que incluyen un teclado de16 botones.
Placa de control todo-en-uno
Un joystick y pulsadores, juntos, son una combinación probada capaz de controlar una amplia variedad de posibles entradas del usuario - ¡sólo tiene que consultar a cualquier entusiasta de los juegos! El diseño y las funciones de un controlador de juegos típicos, la posición del joystick al lado de los botones, son intuitivos y se adaptan bien a los comandos tales como mover, posicionamiento y accionar un mecanismo como un pórtico, el brazo robótico o pinzas.
DFRobot ofrece el DFR0008 que proporciona un joystick y cuatro botones que están codificados por color, totalmente montado como un módulo que proporciona cabeceras adicionales para los módulos de radio XBee. Al permitir a los desarrolladores aprovechar el ecosistema XBee, el DFR008 simplifica la adición de conectividad inalámbrica eligiendo entre la amplia gama de módulos XBee disponibles en el mercado. Estos incluyen la placa de radio de 2.4 GHZ de Digi XB24-API-001 IEEE 802.15.4, así como el módulo XB8-DMU-002 sub-GHz 868 MHz, que es adecuado para un uso sin licencia en Europa.
Para los desarrolladores que buscan experimentar con conectividad inalámbrica Xbee en proyectos Arduino, el Paquete Educativo Xbee/Arduino de Digi contiene placas de microcontrolador Arduino, una elección de módulos XBee, y pulsadores y un módulo joystick que son ideales para crear distintos tipos de interfaces de usuario. Los usuarios de XBee también pueden confiar en los recursos para el desarrollo incluyendo herramientas de software y código de ejemplo para ayudar con el desarrollo.
Mantener abierta la opción de GUI
Los ecosistemas de código abierto también proporcionan a los desarrolladores la libertad de aplicar sus conocimientos técnicos a un alto nivel si se prefiere, como por ejemplo desarrollar su propia interfaz gráfica de usuario integrada con un módulo como el 4D Systems ULCD-32PTU-AR TFT en color de 3,2 pulgadas con pantalla táctil resistiva integrada. El pack viene con un adaptador que se conecta a la placa Arduino a través de los cabezales estándar y un cable que conecta el adaptador a la pantalla. Los cabezales Arduino permanecen libres para apilar otros blindajes de Arduino como un módulo de radio. Hay disponibles varios conjuntos de herramientas destinadas a simplificar el desarrollo de la interfaz gráfica de usuario. Estos incluyen un entorno de nivel de entrada para el desarrollo de código, una herramienta de diseño gráfico llamado ViSi que ayuda a la generación de código mediante la ubicación de objetos con clic-y-colocar y el entorno avanzado ViSi-Genie. En ViSi-Genie, el usuario simplemente establece los objetos, fija los eventos que los impulsan, y el código se genera automáticamente.
Conclusión
Hay varias rutas para el éxito del proyecto en el mundo del desarrollador. Muchos ejemplos y kits están disponibles para ayudar a los desarrolladores a superar retos difíciles y obtener el software que se ejecute en el hardware de destino.
Un dispositivo de entrada de usuario para controlar el movimiento y el accionamiento de la manija se puede establecer mediante la conexión de una aplicación de teléfono inteligente a través de Bluetooth, o puede configurarse utilizando el hardware como módulos individuales o un blindaje de joystick/interruptor totalmente integrado. Los desarrolladores también pueden tomar ventaja de los dispositivos de entrada o módulos inalámbricos de otros ecosistemas como PMod y XBee, que proporcionan rutas adicionales para el éxito del proyecto. Los módulos son rentables y fáciles de integrar al confiar en los códigos y la experiencia dentro de la comunidad de código abierto.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.




