Usar gestos para controlar cualquier sistema
Colaboración de Editores europeos de DigiKey
2017-07-05
Las tabletas y los teléfonos inteligentes han ayudado a popularizar la idea de usar gestos para controlar los dispositivos electrónicos. Los movimientos tales como unir los dedos ahora son sinónimo de hacer un objeto más pequeño en la pantalla; un movimiento deslizante que utilizan más de un dedo es para pasar una imagen o aplicación a otra. Estos movimientos simples parecen ahora completamente familiares.
Gracias a su uso cotidiano, las interfaces gestuales están empezando a moverse a otras áreas de la tecnología. Se las considera importantes para aplicaciones automotrices donde el conductor necesita controlar funciones sin quitar la atención de la carretera. A menudo, estas interfaces gestuales son utilizadas como adyuvantes de una pantalla interactiva. Sin embargo, una ventaja clave de una interfaz gestual es que no requiere una pantalla visual compleja. Los mensajes audibles o cambios en la configuración de luz sobre un dispositivo pueden ser una señal de que un gesto ha sido reconocido y que la situación ha cambiado. Como resultado, las interfaces gestuales son de gran utilidad en dispositivos que proporcionan inteligencia ambiental como parte de la Internet de las cosas (IoT).
Los gestos para dispositivos sin una interfaz gráfica serán más sencillos que los encontrados en los teléfonos inteligentes, que suelen responder a los cambios en el número de dedos utilizados. Estas interfaces más sencillas suelen basarse en todo el movimiento de la mano. Un gesto de barrido hacia arriba en la parte delantera de un panel del sensor puede ordenar encender las luces a los sistemas de control en el interior de una habitación. Un barrido horizontal puede ser una señal a los mandos de la calefacción para activar la temperatura hacia arriba o hacia abajo. Un rápido movimiento de un dedo puede avanzar a una función diferente, o decirle al sistema de entretenimiento que debe avanzar a la siguiente pista.
El significado de este gesto puede cambiar en función de la modalidad en la cual el sensor se encuentra en el panel, quizás con sencillos iconos anunciadores de LED o mensajes de voz que indican al usuario que el modo está activo. A través de una conexión de red a los distintos sistemas dentro de la habitación, el panel sensor puede controlar muchas funciones, una de las ventajas de una infraestructura de IoT. Los paneles del sensor pueden estar integrados en tablas, controles de pared o de otros dispositivos electrónicos tales como altavoces de audio. Varios dispositivos pueden coordinar con el sistema IoT para proporcionar un control cómodo en diferentes lugares dentro de la habitación.
Hay un número de maneras para detectar movimientos gestuales, incluyendo cámaras y sensores de proximidad. Sin embargo, el costo es un tema a considerar en las aplicaciones IoT. Las soluciones basadas en cámara requieren software complejos para procesar las imágenes, pero ofrecen una gran flexibilidad y la capacidad de reconocer diferentes tipos de gestos.
El sensor de campo eléctrico proporciona un costo mucho menor y operación más sencilla. El sensor utiliza electrodos impulsados por CA para proyectar un campo eléctrico sobre la superficie de un objeto. Se elige la frecuencia para reducir el componente magnético del electroimán a un mínimo, y desarrolla un campo próximo eléctrico cuasi-estático que se ve perturbado por un objeto conductor, como una mano, moviéndose en el rango.

Figura 1: Rangos disponibles con tipos de sensor estándar y de impulsión
Con la mano del usuario en el volumen de detección, las líneas de campo pasan en ella y se derivan a tierra a través del cuerpo del usuario, lo cual distorsiona el campo en general. El efecto reduce los niveles de señal del electrodo cerca de la mano a los niveles inferiores, que son detectados por una matriz de sensores. A medida que la mano se mueve alrededor, las diferentes partes de la matriz recogen el movimiento y comunican los cambios de potencial a un CI controlador, como el que ofrece Microchip Technology GestIC MGC3x30.

Figura 2: Diagrama de bloques de GestIC MGC3030.
La GestIC dispone de interfaces para recibir hasta 5 electrodos y un único transmisor. Los electrodos de recepción y transmisión pueden hacerse de cualquier material conductivo, como malla de cobre o de óxido de indio (ITO). El aislamiento entre los electrodos puede ser cualquier material que no sea conductivo, incluyendo PCB FR4, vidrio o plástico. Una capa de cubierta opcional en la parte superior del electrodo no debe ser conductiva. El electrodo de transmisión se coloca debajo de la matriz de electrónicos de recepción.
El diseño proporciona una elección entre sensores estándar y de impulsión. El diseño estándar es apto para dispositivos pequeños, a menudo con batería que tienen una conexión débil a la tierra. Al usar un mayor voltaje de transmisión, el tipo de sensor de impulsión es apto para grandes dispositivos que tengan una conexión a tierra, incluidos aquellos que necesitan un mayor rango de reconocimiento. Utilizando una configuración de sensor estándar, una conexión a tierra ofrece una mayor gama de reconocimiento, generalmente hasta 100 mm en comparación con 50 mm para una batería operada sin dispositivo de tierra. El sensor puede ser aproximadamente de forma cuadrada o circular con un índice de aspecto no superior a 1:3.
El hardware GestIC reconoce el centro eléctrico de masa de la mano humana, y puede rastrear ese punto a medida que se mueve dentro del rango del sensor. La posición XY de la mano del usuario es recogia por cuatro de los electrodos del sensor. La quinta conexión puede utilizarse como un botón o un electrodo central para reconocer un simple gesto de "toque del botón".
Para facilitar la integración en el sistema, el dispositivo GestIC contiene su propio firmware de procesamiento de gestos que se almacena en la memoria flash interna. Este firmware incluye la Suite Colibri de algoritmos de procesamiento de señal digital (DSP) basados en modelos ocultos de Markov que realizan funciones como detección de enfoque, rastreo de posición y reconocimiento de gestos. También hay funciones para transferir las actualizaciones de estado a un microcontrolador (MCU) host utilizando una interfaz basada en mensajes, así como funciones para manejar las actualizaciones de firmware.
La comunicación entre la MCU y el MGC3X30 se consigue utilizando una interfaz serial I2C compatible de dos hilos. Esto permite que la MCU pueda leer los datos del sensor y enviar mensajes de control para el chip. Un pin de dirección está disponible para seleccionar entre dos dispositivos MGC3X30 en el mismo bus. El firmware GestIC actualiza las lecturas del sensor a una tasa predeterminada de 5 ms, actualizando el búfer de mensajes de puerto serial cada vez y extrae una línea de estado de transferencia (TS) baja para indicar que una nueva lectura está disponible.
Una serie de parámetros en tiempo de ejecución pueden ser fijados por el host, incluidos los tipos de gestos que se espera que el dispositivo GestIC pueda detectar. El comando 0xA2 de set_runtime_Parameter emplea una máscara bit para filtrar los tipos de gestos no deseados. La desactivación de gestos puede ayudar a mejorar la probabilidad de reconocimiento de los demás, lo cual mejora la usabilidad de las interfaces de control simple. Los gestos que pueden ser reconocidos por la GestIC son gestos a lo largo de los ejes cartesianos, y gestos circulares hacia la derecha o hacia la izquierda.

Figura 3: Tipos de gesto reconocidos por la solución GestIC y usos potenciales.
El firmware GestIC proporciona actualizaciones de posición adicional para la mano que se mueve en el campo de la sonda, y se emiten junto con las actualizaciones de gestos. La información adicional incluye eventos táctiles asistidos por la inclusión del quinto electrodo y los datos AirWheel. AirWheel funciona de forma similar a la rueda de desplazamiento encontrada en los antiguos reproductores de música portátiles, pero con el gesto realizado por encima de la superficie del dispositivo.
Para que sea más fácil para los ingenieros que desarrollan software para el host MCU, Microchip ha desarrollado una API basada en C que es apoyada por el código de referencia. La API maneja funciones para manipular el búfer de mensaje, decodificar las máscaras de bits de mensaje en estructuras de C, y realizar la gestión de eventos. Estas funciones desacoplan el MCU host de los protocolos de bajo nivel y sus problemas de tiempo. Para apoyar el diseño, un segundo paquete de software, Aurea, se ejecuta en un PC basado en Windows. El software interpreta los mensajes enviados por la GestIC y proporciona una representación visual de los gestos y de los datos de posición. Con Aurea, los desarrolladores pueden optimizar los parámetros de detección y diseños para apoyar mejor la aplicación de destino. Un kit de desarrollo proporciona un puente USB I2C para proporcionar soporte para prototipos para el desarrollo de sensores y software.
Conclusión
Gracias a su combinación de hardware de bajo costo basados en sensores de campo eléctrico y una infraestructura de soporte de herramientas de software y firmware, el MGC3x30 GestIC proporciona una solución eficaz para la creación de interfaces intuitivas en una amplia gama de dispositivos con capacidades de IoT.
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.


