Backyard Brains Logo

¡Neurociencia para Todos!

+56 9 9733-6213


productos ()

Experimento: Usando Señales EMG para Controlar Máquinas

Ahora que ya tienes tu Señal EMG, ¿puedes usarla para algo? ¿Para mover otro sistema, por ejemplo? Seguimos con Ingeniería Neural usando un típico microcontrolador Arduino.

Tiempo 1 hora
Dificultad Avanzado

¿Qué vas a aprender?

Vas a aprender a crear una interfaz entre un EMG SpikerShield y un hardware externo. Lo que sigue es una continuación de nuestro Experimento de Neuroprótesis; sin embargo, ahora vas a utilizar una señal EMG del músculo que tú elijas, junto con un Microcontrolador Arduino, para controlar un set de luces LED.

Prácticos Requeridos

  • SpikerBox EMG - Debieras estar familiarizado con Arduino y con el uso de tu SpikerBox EMG


Antecedentes

Escrito en colaboración con Lucas Álvarez, un estudiante de educación media de Chile.

El SpikerBox EMG ya es un dispositivo genial, pero tiene solo 2 formas de comunicar su señal: observándola en un osciloscopio en un dispositivo móvil o usar parlantes y escucharla.

Pero, ¿no sería increíble ir más allá¡ y usar esta señal para controlar cosas? ¡Bueno, en este experimento, vamos a hacerlo! Para esto, vamos a usar un EMG SpikerShield, un SpikerBox EMG diseñado específicamente para caber en una placa Arduino Uno. ¿Que es Arduino? Un Arduino es un tipo de microcontrolador que te permite tomar señales de entrada, hacer un análisis matemático de ellas, y usar su información para controlar otros dispositivos. Un ejemplo muy famoso es el alimentador automático de gatos. Un sensor mide el peso de la comida en el bowl, esta información es enviada al microcontrolador, y el microcontrolador le ordena al dispensador de comida mantener un peso determinado de comida en tiempo real. ***Atención, Ingenieros Ñoños: Si, ya sabemos que se puede hacer esto sin usar un microcontrolador, y usando circuitos controladores analógicos, pero el microcontrolador lo hace mucho más sencillo.

Pero olvidémonos de los gatos, y hagamos algo mucho mas increíble. Si pudiéramos amplificar la actividad eléctrica de tus músculos con nuestro SpikerBox EMG, podríamos enviar esta señal a un microcontrolador, que puede analizar el estado de tu actividad muscular y usarla para controlar una neuroprótesis como un brazo robótico, un juego de video, o un banco de luces.

Importantly, the Arduino converts the EMG signal from an analog (continuously varying) into a digital one (broken into discrete "numbers"), making analysis and instructions on what to do with the signal much easier.

El arduino es un microprocesador diseñado para que artistas, diseñadores y aficionados puedan crear sus propios sistemas“ -lo que significa es muy fácil armar el hardware, e igual de fácil programar el software. Existen muchos "escudos" (shields) disponibles para ampliar funciones (por ejemplo, añadir WiFi o Motors). Te vamos a guiar paso a paso por el funcionamiento de nuestro EMG SpikerShield que, en una "demostración de introducción", puede transformar la lectura de tu biopotencial muscular en la actividad de una fila de LEDs. Esto es sólo para ayudarte a empezar a utilizar tu actividad muscular como una interface. Puedes controlar lo que sea ((y a quien sea). Tu creatividad es el límite.

Downloads

This experiment assumes you have a basic understanding of how to use the Arduino Platform and upload code to your board. If you are new to arduino, or need a refresher, check out Getting Started with Arduino on Windows or Getting Started with Arduino on Mac OS X . Note: If you bought our EMG SpikerShield Bundle, the led_strip2014 code is already preloaded.

Download our Arduino(.ino) Sketches for this Experiment

Video (Otoño 2014)

Procedimiento (Spring 2014)

Tu SpikerBox EMG fue hecho con cariño, y es hora de devolvérselo. Para este experimento necesitas añadirle unas cuantas cosas a tu EMG SpikerShield. En concreto, vas a colocar seis LEDs y seis resistencias.

  1. Primero, suelda los seis LEDs a los puertos "LED1" - "LED6" con el cátodo (el alambre más corto del LED) hacia el interior de la placa. ¡Puedes usar el color que quieras!
  2. Ahora, vas a soldar las seis resistencias en los puntos correspondientes a los LEDs, representados en la placa como R31 - R36. Así, los LEDs quedarán conectados a las salidas digitales 8 - 13 del Arduino. Puedes usar cualquier resistencia dentro del rango de 300 - 535 ohm. (Las resistencias en la imagen son de 510 ohm).
  3. ¡Tu EMG SpikerShield ya está listo! Ahora, monta el EMG SpikerShield sobre el Arduino, alineando los pines del SpikerShield con los conectores hembra en el Arduino. En este experimento vamos a usar la primera entrada Analógica (A0), así que asegúrate de colocar el jumper en Input Select 1.
    Otra cosa: tu Arduino puede funcionar con una Fuente de poder USB externa cuando ya hayas subido tu código, pero para subir el código y hacerle modificaciones tienes que usar tu computador. Así que, ¡conéctalo a tu computador ahora!
  4. Descarga este sketch de Arduino, ábrelo con el IDE de Arduino serial_test2014.ino, y luego súbelo a tu Arduino. Luego, coloca los electrodos en tu brazo y conecta los cables de electrode EMG al SpikerShield. Conecta las pinzas negra y roja a tu brazo, y sostén la pinza blanca en tu puño. Adicionalmente, puedes conectar un parlante para escuchar tu actividad muscular ¡en conjunto con la señales visuales!
  5. En el IDE de Arduino, abre el monitor serial para revisar los valores. Si ves valores altos al flectar los músculos, y valores cercanos a cero cuando estás en reposo, ¡está todo funcionando! Si no, asegúrate que estén todos cables bien conectados. Tal como se ve en el video de arriba, puede serte de ayuda conectar un parlante portátil al EMG SpikerShield, para poder escuchar la actividad muscular. Si no funciona, puede que necesites ajustar el potenciómetro del SpikerShield (como se ve en la imagen inferior -dependiendo del número de modelo, el potenciómetro puede estar ubicado en otra parte de la placa). Rota un poco el tornillo -en cualquier dirección- y prueba el equipo de nuevo. Repite este paso hasta que veas resultados como los que se describen en la imagen de arriba.
  6. Por último, sube el segundo código, led_strip2014.ino con esto debiera ver cómo los LEDs se encienden según la fuerza de tu flexión. Si sientes que el encendido de los LEDs no es proporcional a la fuerza de tu brazo, ajusta la constante MAX -que está en 4- a otro valor hasta encontrar que el valor representado es proporcional a tu fuerza. Si los LEDs se encienden sin mucho esfuerzo, aumenta el valor -si te cuesta mucho lograr que se enciendan, redúcelo.

¡Sé creativo! ¡Cuéntanos a qué se te ha ocurrido conectar tu señal EMG! ¡Deja que tu mente y el inventor dentro de ti fluyan!

Nota Final: Si te interesa, puedes leer el Escrito Original de Lucas, el que actualizamos hasta llegara esta versión. Pero...a continuación, ¡el video que lo empezó todo!

Video (Fall 2013)