Backyard Brains Logo

¡Neurociencia para Todos!

+56 9 9733-6213


productos ()

Experimento: Monitorea tu ritmo cardíaco con el SpikerShield Electrocardiograma (EKG)

Has visto espigas de contracciones musculares voluntarias, qué puede superar eso? Qué opinas de conocer tu propio ritmo interno: tu ritmo cardíaco, no podemos vivir sin él, así que veamos cómo funciona en acción. ¿Alguna vez te has preguntado que es lo que pasa con el oxígeno que respiras después que ha pasado por tus pulmones y entra al torrente sanguíneo? En este experimento, vamos a mostrarte cómo las neuronas usan el oxígeno, nuestro recurso más vital. Tabmbién veremos qué le pasa a las neuronas cuando les falta el oxígeno.

Tiempo 3 horas
Dificultad Avanzado

¿Qué vas a aprender?

En este experimento, aprenderás sobre el sistema cardiovascular usando electrocardiogramas (EKGs). Lograrás entender la comunicación que se da entre tu cerebro y tu corazón, y podrás ver y escuchar tus contracciones cardíacas.

Prácticos Requeridos

  • EMG SpikerShield - Debes tener una noción de cómo usar Arduino y el EMG SpikerShield.


Antecedentes

Escrito e inspirado en un primer prototipo hecho por Andrey Kuklev, que ahora está en primer año de Arizona State University.

Nota: Esta es una modificación avanzada de tu EMGSpikerShield que requiere romper una pista en tu placa para obtener la mejor señal. Pronto lanzaremos una nueva versión de la SpikerShield específicamente para este experimento , pero queríamos publicar esta modificación ahora, en caso de que no se puedan aguantar.

Pump, Pump, Pump. Tu corazón trabaja continuamente, día y noche para repartir sangre y oxigeno a través de tu cuerpo. ¿Sabías que, como las neuronas y músculos, tu corazón también usa espigas (impulsos eléctricos) para funcionar? Nuestro corazón está hecho de cámaras: las dos de arriba se llaman aurículas, y las dos de abajo ventrículos. Señales eléctricas regulares, rítmicas, se originan en el aurícula izquierdo, el marcapasos de tu corazón; luego se expanden a través de todo el órgano, haciendo que los músculos del corazón se contraigan y bombeen sangre a tu sistema circulatorio.

Estas señales eléctricas son reguladas por el centro cardiovascular de tu cerebro, ubicado en la médula oblonga. La médula es la última parada en tu cerebro antes de llegar a la médula espinal que controla funciones básicas del cuerpo: respiración, pulso, presión sanguínea. Curiosamente, el corazón puede latir sin instrucciones del cerebro. Pero en situaciones en las que tu cerebro decide que tu ritmo cardiaco puede cambiar- como cuando estás ejercitando, o cuando se liberan hormonas como epinefrina (adrenalina) asociadas seguido con emociones como miedo, entusiasmo y nervios- tu centro cardiovascular manda señales a tu corazón cambiando el ritmo de los latidos de tu corazón y la fuerza de la contracción.

La señal que estaremos grabando llamada electrocardiograma, también conocida como ECG o EKG, es una medida de la “onda eléctrica” coordinada que proviene de distintas partes de tu corazón en una secuencia controlada. Debido a que el corazón está hecho de células musculares especializadas, y estas células musculares disparan potenciales de acción para contraer, podemos medir éstas de la misma manera que hemos estado midiendocontracción del músculo esquelético.. Pero estos potenciales de acción, a 200 ms en longitud , son mucho más lentas que los potenciales de acción de tus neuronas (1ms) y músculos (3ms). Es más, los impulsos de las neuronas y músculos se miden en espigas por segundo ( o Hz), pero los impulsos de tu corazón se miden en pulsaciones por minuto (beats per minute, BPM).El potencial de acción de las células del músculo cardíaco usa Sodio y además Potasio, pero los canales de potasio tardan más en abrirse, causando un potencial de acción más largo .

El corazón contiene células miocárdicas especiales llamadas células marcapasos, que generan espontáneamente potenciales de acción rítmica para controlar tu corazón. Estas células marcapasos causan rítmicamente que el resto de las células del miocardio del corazón se contraigan en un patrón específico (aurículas primero, pasa un tiempo, y ventrículos). Es por esto que tu corazón puede latir por sí mismo sin el aporte neural. Estas células marcapasos son de vital importancia para avisarle al resto del corazón que se contraiga de una manera sincronizada (cuando las células del músculo cardíaco se contraen de manera desorganizada, esto se llama "fibrilación" y puede ser fatal)). Imagina una ola en un evento deportivo, en el estado. Muchas personas tienen que estar coordinadas de manera precisa para que la ola funcione, y principios similares se pueden aplicar a la contracción del corazón. Grupos selectos de células del músculo cardíaco deben contraerse al momento correcto para lograr un bombeo efectivo.

Podemos observar la contracción coordinada de las células musculares del corazón con algo de código arduino creativo y una modificación de nuestra EMG Spikershield! La contracción normal del corazón tiene un perfil eléctrico muy distintivo, y que hasta ha pasado a ser culturalmente icónico por su uso en dramas médicos televisivos; con la onda P, el complejo QRS y la onda T. Que podamos ver esto depende especialmente de donde pones los electrodos en tu cuerpo, pero ¡hagamos el intento!

Descargas

Antes de comenzar, asegúrate de tener instalados los programas Arduino y Processing. Te recomendamos bajar la versión más reciente de Processing, aunque hemos probado hasta la versión 1.5.1 y nuestro código funciona.

Descarga nuestros sketches de Arduino(.ino) y Processing(.pde).

Video

Nota sobre el video: Vamos a actualizar el video en algún momento, pero nos hemos dado cuenta que no es necesario poner el electrodo “tierra” en tu pie. Puedes ponerlo en el dorso de cualquiera de tus manos. Einthoven puso el electrodo tierra en su pie porque estaba usando cubetas de agua con sal a modo de electrodos.

Procedimiento

En este experimento, vamos a monitorear nuestro ritmo cardiaco y examinar los cambios causados por el centro cardiovascular de nuestro cerebro.

  1. Modifica tu EMG SpikerShield según el diagrama de este circuito (también está abajo, pero puedes hacer click en la imagen para verla en alta resolución). Si no te sientes cómodo haciendo esto, pronto lanzaremos un circuito customizado para este experimento. Lo único que se podría considerar difícil. es que tienes que "cortar el trazo" que sale del pin 3 en el chip TLC 2272. antes de que haga conexión a tierra, y después poner un cable desde el pin 3 hasta Vcc/2. Esto asegura que la señal ande en 2.5 V, para que podamos ver los componentes tanto negativos como positivos.
  2. Sube la ganancia al máximo, poniendo un destornillador en la perilla del potenciómetro y girándolo en sentido horario.Opcional: Si quieres que tu EKG Spikershield haga beep, conecta un cable pequeño de un parlante al pin de salida digital 4 (pin posición 5) y el otro cable al pin tierra. No importa la identidad de los cables.
  3. Conecta tu SpikerShield a tu Arduino Uno y enchúfalo al puerto USB del computador. Dado que la configuración de los filtros está puesta en una modalidad muy baja, obtendrás la señal más limpia si tienes tu computador funcionando solo con la batería. (Este EKG SpikerShield, tiene configurados los filtros a 1-130 Hz, justo en el punto de las oscilaciones de 60 Hz del sistema eléctrico de tu casa).
  4. Tienes muchas opciones donde poner los electrodos. Nosotros en BYB recién estamos aprendiendo el concepto del triángulo de Einhoven, y el arte de poner elecrtodos e interpretar ECG se enseña a nivel universitario.. Hemos descubierto que la señal más limpia se encuentra poniendo el electrodo rojo en la parte de arriba del pecho, al lado izquierdo, el electrodo negro, en la parte de abajo de tu pecho, al lado izquierdo y el electrodo de metal que es tierra, en la parte de arriba de tu pecho, al lado derecho. Hacer esto puede ser un poco incómodo en lugares públicos, así que una alternativa es en la parte interna de tus muñecas en el electrodo rojo y negro (en manos opuestas) y la tierra en el dorso de la mano, aunque esto es un poco más ruidoso. Conecta los cables al SpikerShield, asegurándote que los colores coincidan.
  5. Abre y sube tu sketch de Arduino. Nota donde se puede ver "int threshold = 650" - quizás debas cambiar el número después. Este es el umbral que el potencial de acción necesita cruzar para hacer que la luz se prenda y el parlante haga beep.
    #define EKG A0 //estamos leyendo desde AnalogIn 0
    int threshold = 650; //Umbral para detectar latido del corazón, puedes jugar con este valor
    int finalReading; // lectura de AnalogIn 
    int bitrate = 9600; //Esto puede ser 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600, y 115200 son las opciones posibles.
    
    void setup(){ 
      Serial.begin(bitrate); // pone la comunicación serial según el bitrate definido
      pinMode(12,OUTPUT); // Prende LED rojo
      pinMode(4, OUTPUT); // Conecta el parlante a Digital Out 4 y Tierra para conseguir el beep
    }
    
    //Nota, 9600 puede ser muy bajo para samplear a 1000 Hz
    
    void loop(){
        finalReading = analogRead(EKG); 
     //   delay(1);
        digitalWrite(12, LOW);    // apaga el LED 
        Serial.println(finalReading); //Esto escribe al puerto serial para usar en processing, también debuggea el Monitor Serial
        if(finalReading > threshold){ // Threshold to detect heartbeats
            tone(4,1000,50); // Suena el parlante
            digitalWrite(12, HIGH);   // prende el LED 
            }
    }
    
  6. Abre y ejecuta tu código de processing. Si te da un error o una señal plana, fíjate en la línea de código. " myPort = new Serial(this, Serial.list()[2], 9600);" Cambia el número "2" a "O" "1" o otros números hasta que encuentres la identidad de tu puerto en tu máquina en particular. Sabrás que funciona cuando tu Sketch de Processing comience a trazar datos
  7. Notas la línea "int threshold =380;"? Eso mueve la línea gris que la señal tiene que cruzar para ser considerada “latido del corazón” y calcular el ritmo cardiaco.. Considera que este número es menor que el número “Threshold” en el Sketch de Arduino. ; esto es porque el Arduino lee valores entre 0 y 1024 , mientras que el sketch de Processing lo convierte a un número entre 0 y 800 para hacer el trazo.
     import processing.serial.*;
     
     Serial myPort;        // Puerto serial
     float xPos = 1;         // posición horizontal del gráfico
     float young = 0;
     float old = 0;        
     float inByte = 0;        
     int threshold =430;
     int dt;
     int time_last = millis();
     int t;
     float hr;
     int bitrate = 9600; //Cambia esto según modifiques tu velocidad de modem. Debe ser igual al número que pusiste en el Sketch de Arduino, de lo contrario no funcionará 
     int portnumber = 2; //cambia esto del 1 al 5 según la identidad de tu puerto USB. 
     float xIncrement=9600.0f/bitrate;
     
     void setup () {
     // set the window size:
     size(800, 600);  
    frameRate(100); 
     
     // List all the available serial ports
     println(Serial.list());
    //Select your serial port in Serial.list()[X]. Usually 0, 1, or 2 work.
     myPort = new Serial(this, Serial.list()[portnumber], bitrate);
    
     ....Hay más código después de esto. pero estamos solo dibujando las lecturas. 
     
    
  8. Si ves un alto nivel de ruido, trata de usar un computador distinto como fuente de poder. Nos hemos dado cuenta que el SpikerShield es muy sensible al ruido de la fuente de poder - notebooks que funcionan desde la batería y computadores conectados a través de UPS y protectores de sobretensión funcionan mejor para producir una buena señal. También, no te muevas mientras estás conectado al EKG - puede recoger movimientos de músculos que causen interferencia con la lectura de tu EKG.
  9. Ahora, graba tus resultados. Puedes usar el botón Imprimir Pantalla en tu teclado para sacar fotos de tu ritmo cardíaco. Trata de desconectarte de tu SpikerShield y hacer un poco de ejercicio. Una vez que tu ritmo cardiaco suba, vuelve a conectarte al SpikerShield para ver los cambios. También puedes ver un video de algo que te provoque miedo o emoción y ver si tu ritmo cardíaco cambia en el monitor.

Discusión/ Trabajo Futuro

  • ¿Estamos grabando potenciales de acción cardiacos de las células marcapasos, o estamos grabando las contracciones musculares del corazón? ¿Por qué o por qué no?
  • Tenemos un Sketch beta de Arduino y Processing que permite grabar datos. Si presionas la tecla “r” en tu teclado mientras el Sketch de Processing está funcionando (con el código beta de Arduino corriendo también), el programa grabará las lecturas hasta que pongas “r” nuevamente. Los datos se graban en un archivo .csv en la misma carpeta que el Sketch de Processing, que puedes abrir en el programa que prefieras (como Excel o Matlab). Tienes que tener cuidado con la selección bitrates e interrupciones. Por defecto, está puesto en frecuencia de muestreo 125 Hz. Puedes ver los comentarios en el código. Recomendamos para 1) 125 Hz: 9600 bitrate y 15999 interrupción. 2) 250 Hz: 19200 bitrate y 7999 interrupción, y 3) 500 Hz: 28800 bitrate y 3999 interrupción. Notamos que el sampleo no es exacto. 250 Hz de muestreo, en realidad, vacila entre 248, 252, 254, por ejemplo, pero nos sirve para comenzar. Este es un desarrollo activo así que puedes enviar un e-mail a Tim si tienes algunas recomendaciones sobre el código.

    Descargas Beta

    Nuevamente, pon mucha atención a los bitrates y números de interrupción.

    Descarga nuestros Sketch beta de Arduino(.ino) y Processing (.pde) Sketches para grabar datos.