Line 2: |
Line 2: |
| [[Category:Activities|hMouse]]</noinclude> | | [[Category:Activities|hMouse]]</noinclude> |
| | | |
− | ==Introduction== | + | ==Introducción== |
| | | |
− | hMouse allows to move the mouse pointer of the XO with the head or another body part. This is accomplished following a LED pointer with the camera. The LED pointer is attached to the head of the user using a very easy to made extra hardware. | + | hMouse permite el moviemiento del puntero del mouse de la XO con la cabeza u otra parte del cuerpo. Esto se logra siguiendo con la cámara un puntero LED. |
− | The h of hMouse comes from the English word 'head', but should be pronounced in Spanish, and 'Mouse' in English.
| + | La h de hMouse viene de la palabra inglesa 'head', que significa cabeza. 'h' debe pronunciarse en español y 'Mouse' como en inglés. |
| | | |
| + | ==Hardware adicional== |
| + | El programa sigue un puntero LED, el cual puede ser armado como al usuario más le convenga y montado en la extremidad del cuerpo que el usuario prefiera. Presentaremos a continuación el modelo de vincha que utilizamos nosotros para montar el led en la cabeza del usuario. |
| | | |
− | ===Usage=== | + | ===Filtro=== |
− | The LED must aim directly the camera and could, for example, be mounted in the user's right temple using a headband.
| + | Para el óptimo funcionamiento del programa en cualquier condición ambiental se recomienda el uso de un filtro físico para la cámara, de forma que capte menos luz ambiental y solo resalte del fondo la luz del LED. |
− | To get optimal results the LED light must be high power (eg. 4.5 V), the user must be in a dark environment, with a uniform and opaque background, or by defect, use a translucid filter for the camera.
| |
− | The click must be done using other method, due the activity doesn't support this action yet.
| |
− | The program has a little help that explains quickly the steps to follow and then, each of it has its own instructions to guide the user trought the proccess. Also it has the option "Watch Camera", to allow watch what the camera is seeing, useful to test if the LED is correctly pointed and the user is in a favorable position.
| |
| | | |
− | First of all the user must calibrate the software. This must done because the distance and position of the user in face of the camera will change in each use, hence is necessary reconfigurate the image are in wich the program will search the LED.
| + | Para construir el filtro utilizamos el disco blando de un disquete (disco de 3 1/2"), pegado a la cámara. |
| + | |
| + | |
| + | ==Modo de uso== |
| + | |
| + | El LED debe apuntar directamente a la cámara y puede, por ejemplo, estar montado en la sien derecha del usuario mediante una vincha. |
| + | Para lograr un funcionamiento óptimo el LED debe ser de alta potencia (ej. 4.5 V), el usuario debe encontrarse en un sitio oscuro, con un fondo uniforme y opaco, o en su defecto, ponerle un filtro translúcido a la cámara. |
| + | El clic debe efectuarse mediante otro método, ya que el programa no soporta aún esta acción. |
| + | El programa dispone de una pequeña ayuda que explica brevemente los pasos a seguir y luego, cada uno de estos pasos tiene sus instrucciones que guían al usuario a través del proceso. Además dispone de la opción "Ver cámara" que permite visualizar lo que está captando la cámara, útil para comprobar que el LED está correctamente apuntado y el usuario se encuentra en una posición favorable. |
| + | |
| + | Primero que nada el usuario debe calibrar el programa. Esto se debe hacer ya que la distancia y la posición del usuario frente a la cámara variará en cada uso, por lo que es necesario reconfigurar el área de la imagen en la que se buscará el puntero LED y además se reconfigura cuáles son los movimientos límite del usuario que representarán los bordes de la pantalla. |
| + | Actualmente se dispone de tres métdos de calbiración equivalentes, de los que se debe escoger uno, según las capacidades y preferencias del usuario: |
| + | |
| + | ===Arriba a la Izquierda - Abajo a la Derecha=== |
| + | |
| + | Este método es de precisión óptima y simplifica la calibración a solo dos movimientos. El usuario debe mover la cabeza en primera instancia hacia arriba a la izquierda y luego hacerlo hacia abajo a la derecha. |
| + | |
| + | ===Izquierda - Derecha - Arriba - Abajo=== |
| + | |
| + | Este método también es de precisión óptima pero duplica la cantidad de movimientos requeridos, siendo estos los expresados en el nombre. El objetivo de este método es disminuir la complejidad de los movimientos requeridos para la calibración. |
| + | |
| + | ===Centro=== |
| + | |
| + | El usuario debe acomodarse o acomodar la XO para que el LED coincida con el centro de la imagen. Luego de esto se toma como centro la posición actual del LED y los límites están predeterminados. Este es el método menos preciso, pero no requiere movimiento del usuario. |
| + | |
| + | Luego de haber calibrado el usuario ya está en condiciones de presionar el botón "Iniciar", con lo que se dará paso al control del cursor con la cabeza. |
| + | Antes de presionar el botón Iniciar el usuario puede elegir recalibrar con el mismo u otro método, siempre siendo la última calibración hecha la que será utilizada. |
| + | El usuario deberá ocultar manualmente la actividad para poder comenzar a utilizar otras. |
| + | Para detener el control del mouse debe presionarse nuevamente el botón Iniciar. |
| + | |
| + | ==Detalles técnicos== |
| + | |
| + | El movimiento registrado del LED es suavizado por un Filtro de Butterworth para un movimiento más suave del cursor. |
| + | El movimiento del cursor se realiza mediante la utilización de la biblioteca libX11. |
| + | El manejo de la cámara y las imágenes que la misma captura se realiza mediante Pygame y Numpy. |
| | | |
| | | |
Line 21: |
Line 54: |
| Copyright (C) 2011 Departamento de Ingeniería, Fundación Teletón, Montevideo, Uruguay | | Copyright (C) 2011 Departamento de Ingeniería, Fundación Teletón, Montevideo, Uruguay |
| | | |
− | This program is free software: you can redistribute it and/or modify
| + | Este programa es software libre: usted puede redistribuirlo y/o modificarlo conforme a los términos de la Licencia Pública General de GNU publicada por la Fundación para el Software Libre, ya sea la versión 3 de esta Licencia o (a su elección) cualquier versión posterior. |
− | it under the terms of the GNU General Public License as published by
| |
− | the Free Software Foundation, either version 3 of the License, or
| |
− | (at your option) any later version.
| |
| | | |
− | This program is distributed in the hope that it will be useful,
| + | Este programa se distribuye con el deseo de que le resulte útil, pero SIN GARANTÍAS DE NINGÚN TIPO; ni siquiera con las garantías implícitas de COMERCIABILIDAD o APTITUD PARA UN PROPÓSITO DETERMINADO. Para más información, consulte la Licencia Pública General de GNU. |
− | but WITHOUT ANY WARRANTY; without even the implied warranty of
| |
− | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| |
− | GNU General Public License for more details.
| |
| | | |
− | You should have received a copy of the GNU General Public License
| + | Junto con este programa, se debería incluir una copia de la Licencia Pública General de GNU. De no ser así, ingrese en <http://www.gnu.org/licenses/>. |
− | along with this program. If not, see <http://www.gnu.org/licenses/>.
| |