in

Un acelerómetro en tu pie (Bluetooth + Android)

Módulo Bluetooth HC-06 (Android)

En la tienda en línea de Android existen decenas de aplicaciones dedicadas a los ciclistas que salen por las calles, o rutas de la región, a entrenar o en búsqueda de esparcimiento. Las bondades del uso del GPS, en un móvil con SO Android, hacen todo el trabajo necesario para brindar la información detallada y útil de la jornada sobre dos ruedas y al aire libre. Pero, ¿Y en un gimnasio?, ¿En una bicicleta fija sin indicadores? ¿Cómo sabemos el tiempo que estuvimos realizando la actividad física? ¿Cuánta distancia equivalente transitamos? ¿Cómo sabe Android cuánto pedal hemos metido? Descubre en este artículo una aplicación especial donde se combina el uso de un acelerómetro, un microcontrolador y un módulo Bluetooth HC-06, unidos para obtener toda la información necesaria que estará volcada sobre nuestro dispositivo móvil. Un artículo para cerrar el año con Android en una aplicación que despertará tu imaginación para múltiples proyectos.

No todos los gimnasios y lugares dedicados al entrenamiento físico (o rehabilitación por orden médica) poseen lo más avanzado en tecnología sobre bicicletas fijas. Hablamos de las que nos devuelven el tiempo que dura nuestra sesión de pedaleo, la cantidad de movimientos realizados con las piernas al accionar los pedales, la “teórica” y estimada distancia recorrida en kilómetros luego de, por ejemplo, 15 minutos de continuo trabajo, etc. En mi caso particular, asisto a un gimnasio que posee bicicletas de todo tipo, color y forma, pero hay pocas que poseen un panel con todas estas indicaciones. Las más utilizadas, además, no poseen ningún tipo de instrumento, sólo un ajuste que permite “frenar” la libre acción de los pedales, simulando la subida de una cuesta empinada; es decir, permite realizar un trabajo de esfuerzo controlado a voluntad. En mi caso es muy útil, no porque me dedique a subir montañas en bicicleta en mis tiempos libres, sino que me resulta un buen ejercicio para los momentos del año en que los controles médicos me exigen la realización de un estudio cardiológico conocido como “ergometría”.

En la aplicación que veremos hoy utilizaremos muchas cosas que ya hemos visto en entregas anteriores, pero combinadas para una aplicación muy útil y que se puede adaptar a otros usos como veremos más adelante. Los elementos activos que forman este desarrollo son cuatro: un acelerómetro de salidas analógicas, un doble amplificador operacional, un microcontrolador y un módulo Bluetooth HC-06 con entrada de datos serie, operado por el microcontrolador. El acelerómetro que he utilizado en este trabajo es un MMA7260Q que, a pesar de que no se fabrica más, puedes encontrarlo en el mercado fácilmente en forma simple o en módulos pre-ensamblados listos para usar en un protoboard. En el caso de que no puedas encontrar este mismo modelo de acelerómetro en el mercado, pues adaptar cualquier otro que posea salidas analógicas en uno, dos o tres ejes de desplazamiento. La idea es que aprovechemos los materiales que ya tenemos en nuestros cajones y sin uso. En mi caso, el MMA7260Q fue el acelerómetro seleccionado, además, al igual que el resto de los elementos activos que dan forma a este desarrollo, utiliza una alimentación de 3,3Volts, que en mi aplicación, lo he probado hasta con 2,7Volts y aún continúa funcionando, entregando buena señal en sus salidas. Recuerda que sólo utilizaremos la salida de un eje.

¿Por qué la salida de sólo un eje? Porque al utilizar una bicicleta, cualquiera de los pies realiza un movimiento (básico) en forma vertical, tanto ascendente como descendente y nosotros aprovecharemos la respuesta entregada por el acelerómetro cuando detecte ese tipo de movimientos. Además, la idea del desarrollo contempla un diseño pequeño, que sea capaz de ser construído con tecnología de montaje superficial en forma íntegra. De este modo, todo puede ser albergado dentro de una banda elástica, al estilo de las que usan los jugadores de tenis en sus muñecas. En nuestro caso, iría ubicada por encima del tobillo conteniendo la electrónica que veremos en este artículo. A cada acción descendente o ascendente (tú decides qué pulso aprovechas) del pié, el acelerómetro enviará una señal analógica, proporcional al impulso ejercido (no a la distancia recorrida) y luego eso será transformado en un impulso digital. Observa el circuito y verás que la salida del acelerómetro es amplificada hasta lograr impulsos que son interpretados por el microcontrolador como un uno lógico.

De este modo, tomamos la información de aceleración dinámica desde el acelerómetro y la amplificamos lo suficiente para tener pulsos claros y definidos a cada acción de nuestro pié sobre el pedal de la bicicleta. Observa que hemos dispuesto un tipo de circuito que puede ayudarte a descubrir fácilmente cómo adaptarlo a tus necesidades. Es decir, nosotros utilizamos las dos configuraciones de amplificación (inversor y no inversor) para que veas como es el circuito y evalúes cuál es el conveniente para tu desarrollo. Por ejemplo, quizás con un único paso amplificador (con la ganancia adecuada) en modo inversor, ya logres los pulsos adecuados para ingresar los datos al microcontrolador. Todo dependerá de la posición en que coloques el acelerómetro, de sus propiedades (si utilizas otro modelo), de la longitud de su recorrido (la posición que elijas para usarlo)  y por la sumatoria de estas características enumeradas, podrás determinar cuál es el circuito que se adapta mejor a tus necesidades. Puedes comprender entonces, que el esquema propuesto, no debe ser el definitivo en forma rigurosa, sino que la implementación constructiva y de programación del microcontrolador que tú hagas, ayudará a reducir uno de los pasos de amplificación (o no). Nosotros te mostramos un circuito funcional que combina las dos opciones, tú utiliza lo que te resulte apropiado.

¿Cómo defines si utilizas un solo paso amplificador y cuál? Es muy sencillo. Tú definirás si la acción del pié sobre el pedal de la bicicleta generará un pulso equivalente a un uno lógico o a un cero a la salida del acelerómetro, según hayas dispuesto su montaje, además, una segunda cuestión a saber es cuándo se generará este impulso. Es decir, ¿cuando el pedal desciende o cuando sube? Por último, puedes definir esta cuestión dentro del programa del microcontrolador observando que tipo de impulso leerás, esto es, descendente o ascendente. Esta última parte (la del tipo de impulso observado en el pin del microcontrolador), puedes asociarla en forma imaginaria a un pulsador que trabaje con una resistencia pull-up o una configuración pull-down en la entrada. Si tienes la primera opción, simularás un pulso desde Vcc hacia GND y si tienes la segunda, como en nuestro ejemplo, tendrás un pulso desde GND hasta (casi) la tensión de alimentación (Vcc).

Vale remarcar el “casi”, ya que no utilizamos (ni necesitamos hacerlo) un amplificador operacional especial que transfiera la tensión plena de alimentación a su salida. Esta propiedad de algunos amplificadores operacionales se la conoce como “salida rail-to-rail” y para nuestro desarrollo nada de eso es necesario. Un modesto, económico, pero ultra-eficiente LM358 será suficiente para alcanzar un funcionamiento adecuado. Al igual que en el caso del acelerómetro, a 2,7Volts de alimentación, el LM358 continúa funcionando de manera óptima (la hoja de datos expresa que puede operar hasta con 2,3Volts de alimentación) y será un amplificador operacional que encontrarás en abundancia en cualquier placa obsoleta (ideales para el canibalismo electrónico), hasta en formato de montaje superficial. Un puñado de resistencias completan el montaje de esta/s etapa/s amplificadora/s y ya estamos listos para pasar al microcontrolador. Hasta aquí hemos visto entonces la implementación de un acelerómetro de salida analógica (MMA7260Q u otro) que puedes elegir a tu gusto con la simple atención de observar su trabajo a 3,3Volts y un amplificador operacional doble como el LM358 que puedes reemplazar por un LM324 (cuádruple) si deseas más unidades en un mismo encapsulado con un rendimiento equivalente en el circuito.

Lo que viene después es básicamente lo que ya hemos visto en aplicaciones anteriores. Un microcontrolador PIC 18F25K20 programado en Amicus (software gratuito) y un módulo Bluetooth HC-06 que servirá de nexo entre la parte de hardware del proyecto y nuestra aplicación desarrollada para Android. Aquí volvemos a ingresar en una etapa donde las posibilidades se multiplican ya que tú puedes seleccionar el microcontrolador, el lenguaje de programación y el módulo Bluetooth que más te plazcan, te convengan o ya tengas. Nosotros utilizamos esta serie de componentes que hemos adoptado para muchas aplicaciones construidas con anterioridad, pero, como siempre te explicamos, tú puedes transformar este circuito en una idea totalmente diferente utilizando los materiales que tú creas conveniente. Por último, y tal como mencionamos al principio, las aplicaciones que encontramos en la tienda de Android utilizan el módulo GPS para determinar la distancia recorrida a bordo de nuestra compañera de ejercicios, pero en una actividad de gimnasio o para nuestra casa, esta aplicación será de suma ayuda para no depender de un reloj a la vista y para tener la certeza de cuánto trabajamos sobre la bicicleta. En mi caso particular, he visto muchas bicicletas de calle montadas sobre estructuras mecánicas que permiten transformarla en un sistema fijo y útil para el entrenamiento diario. Para todas ellas, éste es el aporte de NeoTeo que, entre muchos, podemos perfeccionar al máximo:

Todo puede ser albergado dentro de una banda elástica, al estilo de las que usan los jugadores de tenis en sus muñecas. En nuestro caso, iría en la pierna, ubicada por encima del tobillo.

Por otro lado, realizar aplicaciones Android valiéndonos del acelerómetro que muchos móviles poseen, sería inútil debido a que nuestro móvil tendría que estar adherido a una de nuestras piernas para detectar los movimientos y siempre estaría fuera de nuestro alcance visual. Con el desarrollo que hoy te presentamos, y con muy pocos componentes, podemos construir un asistente para los casos en que la ejercitación no pueda ser realizada en los más costosos artefactos de lujosos centros de entrenamiento, sino en simples bicicletas tradicionales o económicas, fijas o adaptadas. Hasta aquí la parte principal del hardware, aún nos resta ver el desarrollo de la aplicación para Android y muchos detalles que, como mencionamos durante todo el artículo pueden ser de utilidad para aplicaciones industriales o de cualquier tipo, por ejemplo, transformar este trabajo en un sistema capaz de contar la cantidad de veces que una bomba de agua mueve su émbolo vertical, calcular la cantidad de litros obtenidos y controlar el tiempo de trabajo del sistema, mientras vemos la hora del día en que se desarrolla la actividad. Es sorprendente la versatilidad de este circuito. De una bicicleta a una aplicación industrial con variantes mínimas.

¿Te interesa el desafío? ¿Te atrapa la programación para Android? En la próxima entrega (esta misma semana) veremos todo lo necesario para disfrutar de este dispositivo que, sin dudas, llamará la atención de muchos en tu gimnasio.  No te pierdas la próxima entrega, Android llegó para quedarse y esperamos que lo disfrutes.

Reportar

¿Qué te pareció?

Escrito por Mario

14 Comments

Leave a Reply
    • #1
      Porque resultaría muy incómodo volcarse a mirarlo. Además,la visual hacia la pantorrilla quedaría obstaculizada por el muslo. Por último, intentar leer algo mientras el objeto está en movimiento no creo que sea tan sencillo.

      Saludos!
      Mario

    • #3
      sMove también utiliza el GPS. Esto es para una bicicleta fija.
      Lo importante es lo que comentas, el fin es jugar un poco con la electrónica.

      Saludos!
      Mario

  1. Como siempre Mario, gran artículo.
    Dudo de que haya otras webs con temas tan desarrollados como estos. Normalmente todo el mundo se reduce a reproducir, en su idioma, lo que ve en los grandes blogs americanos.

    • #5
      Gracias Fede!

      Me hacen mucho bien tus palabras y me ayudan a terminar el 2011 bien arriba. :))
      Los que tenemos puesta la camiseta de NeoTeo tratamos de crear para crecer. A veces sale, a veces no. A veces es sencillo, muchas otras no, pero siempre vamos al frente y hacia adelante.

      Gracias Fede!
      Abrazo!
      Mario

      PD: Si esto suena a "lame-calcetines" es sólo una mala interpretación del lector.

  2. Fabuloso amigo Mario, felicitaciones. Apoyo 100% las palabras de Fede; esto solo se ve aqui en Neoteo, y lo mejor de todo es que es gratis, es increible.

    Ansioso por la proxima entrega.

    Un abrazo

  3. muy interesantes Mario tus aportes en México somos muchos tus seguidores, porfavor sigue realizando cosas android ya estoy probando varios y funcionan bien, aun que hay que esperar que pasa con app inventor

  4. Felicidades Mario por mostrarnos buenos articulos, soy un aficionado a la electronica, ya he desarrollado muchos proyectos tuyos y muy bien, esta es mi pagina favorita en Internet, gracias a todos los de Neo Teo, en verdad hacen una gran contribucion con la humanidad.
    Les deseo un buen año y seguimos realizando proyectos.

  5. muy buen aporte quisiera saber si sabes com activar el bluetooth en el emulador sdk quierohacer una aplicacion con basic4android tengo codigo ejemplo pero me aparece error y no puedo complilar el bluetooth. si mepuedes ayudar en algo te estaria muy agradecido

Responder a Opticus Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Avira AntiVir Rescue System: Live CD para rescate de sistema

SSC Tuatara: Un supercoche para vencerlos a todos