Sip&Puff4Butiá
En construcción
Contenido
Preámbulo
Pocas personas podrían afirmar que la informática no ha tenido impacto alguno sobre el mundo en general. Actualmente el mundo gira alrededor de ella, ya sea en medios portátiles como teléfonos celulares o fija en caso de las computadoras personales; muchos profesionales han migrado sus rutinas de trabajo a medios electrónicos, y los estudiantes dependen de ella para sus clases y evaluaciones en este tiempo de pandemia.
Esto puede tener ventajas y desventajas según las situaciones particulares de cada persona. Sin embargo, quienes indefectiblemente salen desfavorecidas son aquellas que no tienen acceso a estos medios, independientemente de la razón que lo cause. Dejando de lado las razones económicas, una de ellas es el no poder utilizar estos dispositivos por limitaciones físicas. Por ejemplo, una persona con un grave caso de parálisis no tiene forma de utilizar una computadora, pues no puede mover el mouse ni ingresar texto mediante el teclado.
A lo largo de los años se han desarrollado distintas soluciones para este tipo de situaciones, como puede ser reconocimiento de voz, uso de aparatos auxiliares para aquellas personas que tienen movilidad parcial, entre otros. En el caso de los individuos con problemas de movilidad importantes, como por ejemplo cuadriplegia, puede que en algunos casos estas alternativas no les sean suficientes, ya que puede ser difícil para ellos utilizarlas por limitaciones físicas.
Sin embargo, hay una acción que es casi universalmente posible de hacer; y esto es, soplar y aspirar con la boca.
Sensores Sip and Puff
Se han desarrollado sensores que permiten detectar estas dos señales y realizar diferentes acciones en base a ellas. Esto permite a sus usuarios realizar actividades que antes les eran imposibles, y consecuentemente mejorar su calidad de vida. A modo de ejemplo, en el año 2020 la ciudadana inglesa Natasha Lambert, de 23 años de edad y con cuadriplegia, cruzó el océano Atlántico en un viaje de más de 5.000 kilómetros en un velero controlado por ella mediante un sensor de este tipo.
Además de ser generalmente más accesibles, este tipo de sensores tienen otras ventajas con respecto a otras alternativas. A modo de ejemplo, por su modo de ingresar datos es menos propenso a falsas activaciones, y en casos como el control del velero mencionado antes, donde la precisión es clave, cualquier orden enviada 'en falso' puede tener consecuencias muy serias. Además, es más confiable en situaciones como grandes ruidos, es económico y puede ser instalado y mantenido por cualquier persona con conocimientos básicos de electricidad y/o electrónica.
Persona utilizando un dispositivo Sip and Puff
Sip and Puff y el robot Butiá
En el año 2014 un grupo de estudiantes junto a sus tutores implementaron un sensor de este tipo controlado mediante la placa USB4Butiá (véase aquí), en donde además de hacer el sensor propiamente dicho lograron controlar el mouse con él mediante, y crearon una nueva paleta para TurtleBots con la que se pueden controlar diferentes aspectos del cursor, como por ejemplo moverlo, obtener su posición actual, hacer click, etc. Además, se dejó un espacio de trabajo a futuro con ideas que se tuvieron pero no se llevaron a cabo en esa ocasión en particular. Esto incluye, por ejemplo, el poder controlar el teclado.
(imagen sensor sip and puff)
Sip&Puff4Butiá
Sip&Puff4Butiá surge como una idea de avanzar en lo que ya se había desarrollado, agregándole características que la implementación anterior no poseía, como por ejemplo el control de teclado. Además, el enfoque fue más a una aplicación de uso doméstico y directo, sin necesidad obligatoria de programación ni configuración para poder utilizarla. De esta forma, los usuarios solamente deben descargar y ejecutarla, y ya podrán realizar las tareas que ella permite a través de una interfaz amigable e intuitiva.
Ella está programada en su totalidad con Python, tanto el backend como la interfaz gráfica. De esta forma, es utilizable fácilmente, pero al ser de código y hardware abiertos cualquier persona con el conocimiento técnico necesario puede modificarla o incluso mejorarla para agregar funcionalidades.
(screenshot)
Ella posee dos módulos principales, uno para control de mouse y otro para control de teclado, además de una sección de ajustes para personalizar ciertos aspectos del programa. Se cambia de módulo con cierta acción especial dentro de cada uno, que serán explicadas en sus respectivas secciones.
Módulos
Módulo mouse
El módulo de mouse funciona haciendo dos barridos separados, uno en el eje de las X y el otro en el de las Y. Para ello, el programa pasa por tres etapas, cambiando entre ellas mediante un soplido.
En la primera etapa, el cursor se mantiene quieto. Esta es la etapa inicial, y es en la que se encuentra el programa cuando se abre. Al soplar y pasar a la segunda, el cursor comienza a moverse hacia la derecha a una velocidad fijada por el usuario; al llegar al borde de la pantalla, vuelve al otro extremo manteniendo la posición vertical. Esto continúa hasta que se sopla nuevamente y se pasa a la tercera etapa, donde el cursor deja de moverse hacia los lados y comienza a hacerlo hacia abajo. Al soplar nuevamente, se pasa a la etapa inicial, y el cursor se mantendrá estático hasta que reciba nuevamente órdenes de moverse.
Sin embargo,esto es solo para posicionarlo en un lugar específico de la pantalla. Para hacer click, se debe aspirar. Es importante destacar que esto se puede hacer en cualquier momento, sin importar en qué etapa se esté; sin embargo, al hacer esto se vuelve a la etapa inicial, por lo que para reanudar el movimiento se debe soplar nuevamente acordemente a lo que se desee.
Para cambiar al módulo de teclado se tienen dos opciones: la primera es hacer click en el botón "Cambiar a teclado" presente en la interfaz, y la segunda es aspirar de forma sostenida por una cantidad de segundos determinada por el usuario, que por defecto son 3. Esto, junto a la velocidad de movimiento del cursor, son modificables en la sección de Ajustes del programa.
(foto)
Módulo teclado
Falta completar esto.
(foto)
Sección Ajustes
Falta completar esto.
(foto)
Notas sobre el desarrollo
Módulo mouse
lorem ipsum
Módulo teclado
Forma de entrada de caracteres
Al desarrollar el módulo de teclado, una de las principales interrogantes era cómo traducir soplidos y aspirados a letras y números. Entonces, la idea aquí fue hacerlo mediante código Morse, donde un soplido representara un guión y una aspirada representara un punto. De esta forma, el usuario puede ir construyendo su secuencia Morse, y luego el programa lo traduce a caracteres mediante el uso de un diccionario de Python y lo ingresa.
Código Morse
El código Morse (explicación)
Interfaz gráfica
lorem ipsum
Otros aspectos
lorem ipsum
Reflexiones finales
lorem ipsum
Enlaces
- Descarga del binario: (próximamente)
- Código fuente: https://gitlab.fing.edu.uy/santiago.freire/SipAndPuff4Butia
- Proyecto anterior de Sip and Puff con Butiá: https://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Accesibilidad
Autor
- Santiago Freire López - santiago.freire@fing.edu.uy
Tutores
- Daniel Larrosa
- Guillermo Trinidad
- Gonzalo Tejera