28 de Mayo de 2017
Mayo
11

Wiimote como podómetro

Categorías: ,

Por si alguno no lo sabe, en el MundoReal me dedicó a la informática. Ahora mismo estoy estudiando la ingeniería Superior y bueno, hay muchas prácticas que hacer. Una de ellas y en la que estoy ahora más metido está relacionada con el trabajo con acelerómetros. Una opción que se nos dio fue la de utilizar el wiimote ya que cuenta con acelerómetros para los 3 ejes. Y junto a otros dos compañeros decidimos hacer un podómetro (instrumento que cuenta los pasos).


Wiimote
Wiimote como podómetro

El primer paso es conectar el Wiimote al PC, para ello utilizó un adaptador bluetooth USB, el software de prueba BlueSoleil (creo no es indispensable, pero aun así lo he utilizado) y como SO trabajo desde XP.

El siguiente paso es buscar el entorno de desarrollo para empezar a programar. Había pensando trabajar con una librería que encontré en el Coding4Fun para C# ya que me defiendo bastante bien con ello, pero finalmente hemos decidido programar y trabajar en MATLAB(Zombie). La idea no es que me apasione, pero de cara a generar gráficas, filtros y captura de datos es bastante trivial.

Pues nada, instalamos la versión de MatLab 2007 y también necesitamos la librería fWIIne, que sirve como puente entre el Wiimote y las MATLAB. Ya está todo listo para empezar a trabajar así que manos a la obra.

Lo primero es pensar como vamos a medir los pasos. Lo que hemos hecho ha sido meter el wiimote dentro del calcetín del pie derecho en posición totalmente vertical con el fin de ver la señal que se obtiene al caminar, así que hacemos una captura de de datos. Para ello hemos usado la funcion de prueba test_fwiine pero modificada para que capture datos hasta que nosotros lo paremos, y posteriormente pintamos la gráfica obtenida con el comando plot.

>>test_fwiine %Guarda los datos en una matriz de 3 columnas (una por acelerometro)
>>plot(A(:,1)) %Pintamos la gráfica con la primera columna (que es la que nos interesa)
>>grid

Y el resultado obtenido es este:

 

Señal original

 

Señal original

Como veis hay muchos picos, así que podemos hacer un filtrado de la señal para verlo mejor. El filtrado de Butterworth nos vale para pillar una pequeña idea.

>>[B,C]=butter(5,0.2,'low');
>>filtrada=filtfilt(B,C,A);
>>plot(filtrada(:,1))

Y obtenemos esta gráfica


Señal con filtro ButterWorth

Cuando pillamos los datos, íbamos contando también los pasos para comparar, y contando los pasos por cero en los picos pues podemos sacar fácilmente la cuenta total. Así que hicimos un pequeño programa que automatice esto (ojo, el programa usa la señal sin filtrar, ya que pillamos los datos al vuelo). Dejo el fuente como texto adjunto (hay que quitar la extensión txt, sino no me dejaba subirlo :P).

Y listo, ya tenemos una versión pobre, todo hay que decirlo, de un podómetro con el Wiimote Very Happy

5
Valoración media: 5 (3 votos)
AdjuntoTamaño
pasos.m.txt729 bytes

5 Comentarios:

Aunque no tenga mucho que 

Aunque no tenga mucho que  ver con el wiimote y el podometro, me gustaria preguntarte que tipo de salidas tiene la carrera de ingeneria superior, porque me gustaria estudiarla, pero no se que tipos de trabajos se puede llegar a realizar con esa carrera?

Pues la verdad es que

Pues la verdad es que salidas tienes muchas, la primera que se viene a la cabeza es programador, aunque también podrías ser analista, diseñador de aplicaciones de escritorio, aplicaciones webs con toda la gestión que ello supone. Pero vamos tienes muchos campos tanto por la rama software como la hardware.

Yo por ejemplo me gustaría centrarme en lo que es el desarrollo y diseño de videojuegos, pero ramas como Inteligencia artificial, informática industrial o incluso seguridad informática me apasionan :P

Muchas gracias Rox, a mi me

Muchas gracias Rox, a mi me encantaria ser tambien un programador de videojuegos, o quizas un programador de alguna compañia, muchas gracias por responder.  Muy buena entrada, te agrego a mis blogs favoritos por tus entradas y 5 estrellas para ti!

Qué cracks xD

Menuda idea más original, esto te va a hacer ganar la matrícula, ¿eh? :P Aunque no sé yo cómo de cómodo será llevar el Wiimote dentro del calcetín XD

Pregunta

Muy bueno, una pregunta como configuro la libreria para que trabajara bien con matlab, aún no lo consigo. gracias