You are on page 1of 16

Universidad Autónoma de Nuevo León

Facultad de Ingeniería Mecánica y Eléctrica

Ingeniería Médica

ECG

Alumno: Hazael Fernando Mojica García

Matrícula:

Grupo: 002

Profesor:

Días:

Hora: N2

Fecha de Entrega: 13/Febrero/2012

“Si no tienes algo, consíguelo, si no sabes


algo, pregunta, ya que cuanto más alto
coloques tu meta, cuanto más esta
crecerá”
Ingeniería Médica. ECG

Tabla de contenido
TABLA DE CONTENIDO ........................................................................................................................................... 1
INTRODUCCIÓN ..................................................................................................................................................... 3
ECG............................................................................................................................................................................3
¿CÓMO FUNCIONA? .......................................................................................................................................................3
¿CÓMO SE OBTIENE? ......................................................................................................................................................4
¿QUÉ SIGNIFICA?...........................................................................................................................................................4
ALGUNAS GENERALIDADES INTERESANTES ...........................................................................................................................5
ELECTRÓNICA USADA ............................................................................................................................................ 7
MATERIAL ....................................................................................................................................................................8
PROGRAMACIÓN (ARDUINO Y C#) ......................................................................................................................... 9
MEJORAS ............................................................................................................................................................. 16
CONCLUSIONES .................................................................................................................................................... 16
BIBLIOGRAFÍA ...................................................................................................................................................... 16

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 2
Ingeniería Médica. ECG

Introducción
ECG

Un electrocardiograma (ECG) es un
procedimiento de diagnóstico médico con el
que se obtiene un registro gráfico de
la actividad eléctrica del corazón en función
del tiempo.

La actividad eléctrica son las variaciones de


potencial eléctrico generadas por el conjunto
de células cardiacas y que son recibidas en la
superficie corporal.

Imagen 1.- Impresión clásica de un ECG

La formación del impulso cardiaco y su conducción generan corrientes eléctricas débiles que se
diseminan por todo el cuerpo. Al colocar electrodos en diferentes sitios y conectarlos a un
instrumento de registro como el electrocardiógrafo se obtiene el trazado característico de las
ondas.

El electrocardiograma fue inventado por el fisiólogo Willen Einthoven, quien gracias a sus
aportes recibió el premio Nobel de Medicina en 1924.

¿Cómo funciona?
Las contracciones rítmicas del corazón están controladas por una serie ordenada de descargas
eléctricas.
Antes de cada contracción del músculo cardiaco se genera un impulso
eléctrico por despolarización en el nodo o nódulo sinoauricular que se
propaga concéntricamente produciendo la onda P del electrocardiograma.
Inicialmente se despolariza la aurícula derecha y posteriormente la aurícula
izquierda.

De este modo, vemos que, en un ritmo normal, el nodo sinoauricular es


el marcapasos cardiaco (el lugar donde se origina el impulso cardiaco).
Imagen 2.- El Despolarización, se refiere a la activación eléctrica del corazón, se produce
fisiólogo Willen por modificación de la polaridad de la membrana celular, al ingresar el sodio.
Einthoven.
Vimos que la despolarización ventricular corresponde a la onda P. La
despolarización ventricular, por su parte, determina la onda QRS del ECG.

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 3
Ingeniería Médica. ECG

Repolarización, en tanto, es la recuperación de la polaridad: la repolarización auricular queda


oculta en el QRS y la repolarización ventricular se refleja en el segmento ST y en la onda T (una
onda lenta).
Ambos fenómenos, despolarización y repolarización, ocurren durante la sístole.

¿Cómo se obtiene?
Un electrocardiograma estándar se obtiene poniendo doce
pequeños electrodos en determinados puntos del cuerpo del
paciente. Luego se enciende la maquina ECG y se realiza el
registro en unos pocos minutos.

La prueba es completamente indolora y no tiene ningún


riesgo.

Los cambios en el trazado normal de un ECG pueden indicar


una o más condiciones relacionadas con el corazón. Imagen 3.- Procedimiento indoloro y
rápido.

Así, un ECG es extremadamente útil para el diagnóstico y control de las arritmias cardiacas, de
la angina de pecho, del infarto agudo de miocardio y en general para detectar cualquier
irregularidad en la actividad eléctrica del corazón.
Casi todo el mundo sabe cómo es el trazado básico de un ECG.

¿Qué significa?
La primera ondulación pequeña
en la parte superior del trazado
de un ECG se denomina "onda P".
La onda P indica que las aurículas
(las dos cavidades superiores del
corazón) son estimuladas en
forma eléctrica (se despolarizan)
para bombear la sangre hacia los
ventrículos.

Imagen 4.- El significado de un gráfico ECG.

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 4
Ingeniería Médica. ECG

La siguiente parte del trazado es una sección corta descendente conectada con una sección alta
ascendente. La misma se denomina onda o "complejo QRS".

Esta parte indica que los ventrículos (las dos cavidades inferiores del corazón) se están
estimulado eléctricamente (despolarizando) para bombear la sangre hacia fuera.

El siguiente segmento plano corto ascendente se llama "segmento ST".

El segmento ST indica la cantidad de tiempo que transcurre desde el final de una contracción de
los ventrículos hasta el comienzo del período de reposo (repolarización).

La siguiente curva ascendente se denomina "onda T". La onda T indica el período de


recuperación o repolarización de los ventrículos.

Algunas generalidades interesantes

El corazón tiene cuatro cámaras: dos aurículas y dos ventrículos. Para que el corazón puede
realizar la contracción se necesita una estimulación y conducción eléctrica a través de fibras
especiales para transmitir impulsos eléctricos. El latido del corazón es totalmente involuntario,
por lo tanto el cuerpo no tiene control sobre sus latidos.

El impulso del corazón se origina en el nodo


o nódulo sinusal, de ahí pasa a las aurículas,
luego llega al nódulo auriculoventricular,
durante este proceso se disemina en un haz
de fibras y acaba dividiéndose en cuatro
ramas.
Un ciclo cardiaco es representado por una
sucesión de ondas en el trazado del ECG: la
onda P, la onda o complejo QRS y la onda T.
Estas ondas producen dos intervalos
importantes: el intervalo PR y el intervalo
QT, y dos segmentos: el segmento PQ y el
segmento ST. Imagen 5.-Actividad eléctrica del corazón.

Durante el ejericico físico el ciclo cardiaco


se acelera y por tanto el intervalo P-T se acorta.

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 5
Ingeniería Médica. ECG

El registro del ECG se realiza en un papel milimetrado, con líneas más gruesas cada 5 mm. Cada
mm de trazado horizontal es equivalente a 0,04 segundos del ciclo cardiaco, el espacio entre
dos líneas gruesas representa 0,2 segundos (a la velocidad habitual del papel de 25 mm/seg).

En sentido vertical (la ordenada Y) se representa el voltaje de las ondas electrocardiográficas


(en mV), las cuales pueden ser positivas o negativas según la línea isoeléctrica. La abscisa (X) u
ordenada horizontal representa el tiempo.

Resulta interesante destacar que un trazado


electrocardiográfico no es más que un gráfico de
voltaje en función del tiempo. De esta manera, en él se
reflejan ondas que tienen una determinada amplitud
según la situación, y una determinada duración. Entre
las ondas muestra pausas que también tienen una
determinada duración.

Es importante destacar las particularidades de los

tejidos automáticos (como son los tejidos del músculo


Imagen 6.- Un ciclo cardiaco completo.
cardiaco), que son capaces de realizar despolarización
espontánea, generando los estímulos eléctricos que derivan en la despolarización sincronizada
del corazón.
A modo de resumen, lo explicado nos permite saber:
1) Que el ECG es el registro de la actividad eléctrica del corazón.
2) Que cuantificamos la actividad eléctrica en un papel milimetrado.
3) Que dicha cuantificación en la abscisa (X) es tiempo y en la ordenada (Y) es voltaje en mV
4) Que la actividad eléctrica se representa morfológicamente como P, QRS, T.
5) Que la despolarización y la repolarización son fenómenos sistólicos
6) Que la onda P coincide con la despolarización auricular.
7) Que la onda o complejo QRS precede a la contracción ventricular.
8) Que durante el ejercicio el intervalo P-T se acorta.
9) Que la onda T resulta por la repolarización ventricular.

Fuente: (http://www.profesorenlinea.cl/Ciencias/Electrocardiograma.html)

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 6
Ingeniería Médica. ECG

Electrónica Usada
Un circuito adecuado y simple para un ECG es el que presento a continuación:

Imagen 7.- Circuito simple para un ECG (fuente)

Pero por alguna razón extraña los filtros paso alto y bajo no nos funcionaron correctamente,
por lo tanto omitimos los filtros lo cual hace que nuestras señal este algo caótica.

El circuito usado por tanto quedó de la siguiente manera:

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 7
Ingeniería Médica. ECG

Material
El material usado es el siguiente:
1 Opamp AD620
1 Opamp LM741
Fuente dual o dos conjuntos de baterías que entreguen 6v cada una
Electrodos
1 Resistencia 1Kohm
1 Resistencia 1Mohm
1 Potenciómetro 1Kohm o una resistencia variable
1 Arduino

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 8
Ingeniería Médica. ECG

Programación (Arduino y C#)

Arduino

La Programación del Arduino es la siguiente:

/*
Hazael Fernando Mojica García
San Nicolás de los Garza, Nuevo Leon Mexico
1 de Mayo del 2012
Programacion para Arduino.
Proyecto: ECG con Arduino y C#
*/

void setup()
{
Serial.begin(115200);
Inicializa();
}

void loop()
{
Get_Instruccion();
}

int Get_Instruccion()
{
if(Serial.available())
{
switch(Serial.read())
{
case 'r'://Leer entrada analogica y mandar dato
Analog_Read();
break;

case 's': //En espera a nueva inicializacion


Salir();
break;
}
}
}

void Salir()
{
Inicializa(); //Loop en inicializa esperando nueva inicializacion
}

void Analog_Read()
{
int resultado = 0;

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 9
Ingeniería Médica. ECG

resultado = analogRead(5); //Leemos el pin analogico 0 en 10bits


Serial.write(resultado / 4); //Mandamos el resultado en 8bits por Serial
}

//Inicializamos la comunicacion serial


//Debe mandar una secuencia de caracteres tal que cumplan con el criterio
"square"
void Inicializa()
{
int caracter[6];
int i = 0;
caracter[0] = 's';
caracter[1] = 'q';
caracter[2] = 'u';
caracter[3] = 'a';
caracter[4] = 'r';
caracter[5] = 'e';

while(1)
{//Mientras no se inicialize no sale del ciclo
if(Serial.available())
{
if(Serial.read() == caracter[i])
{
if(i == 5)
{//Si es la ultima iteracion
Serial.write('a');//escribimos caracter de confirmacion
break; //Salimos del while
}
i++;
}
}
}
//Termina While
}
Código 1.- Programación para Arduino

Interfaz C#

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 10
Ingeniería Médica. ECG

Form_Main.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace Practica2_LabDSM
{
public partial class Form_Main : Form
{
Arduino arduino = null;
int[] muestreo;

public Form_Main()
{
InitializeComponent();
muestreo = new int[50];
}

#region METODOS

//Metodo que primero limpia y despues llena la comboBox pasada como


//parametro con los puertos serie disponibles

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 11
Ingeniería Médica. ECG

private void serial_combo(ComboBox combo)


{
combo.Items.Clear();
string[] ports = SerialPort.GetPortNames();

foreach (string port in ports)


{
combo.Items.Add(port);
}
}

private void Form_Main_FormClosed(object sender, FormClosedEventArgs e)


{
try
{
this.timer.Stop();
arduino.CierraPuerto();
}
catch
{
;
}
}

private void Get_Lectura()


{
int punto = 0;
if (arduino != null)
{
punto = arduino.GetLectura();
this.textBox_caracter.Text = Convert.ToChar(punto).ToString();
ActualizaGrafica(punto);
}
}

private void ActualizaGrafica(int punto)


{
RecorreArray(punto);
this.chart_Datos.Series[0].Points.Clear();
for (int i = 0; i < 50; i++)
{
this.chart_Datos.Series[0].Points.AddY(muestreo[i]);
}
}

private void RecorreArray(int punto)


{
int[] muestreoAux = new int[50];
for (int i = 0; i < 49; i++)
{
muestreoAux[i + 1] = muestreo[i];
}
muestreoAux[0] = punto;
muestreo = muestreoAux;
}

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 12
Ingeniería Médica. ECG

#endregion

#region EVENTOS

private void Form_Main_Load(object sender, EventArgs e)


{
serial_combo(this.comboBox_Puertos);
for (int i = 0; i < 50; i++)
{
//this.chart_Datos.Series[0].Points.AddY(i);
muestreo[i] = 0;
}

private void button_Iniciar_Click(object sender, EventArgs e)


{
if (this.comboBox_Puertos.Items.Count > 0)
{
if (this.comboBox_Puertos.SelectedIndex > -1)
{//Si esta seleccionado algun puerto
arduino = new Arduino(this.comboBox_Puertos.Text,
115200);//Inicializamos arduino a 115200 bauds
arduino.Inicializa_Comunicacion();
this.button_Iniciar.Enabled = false;
this.button_Stop.Enabled = true;
timer.Enabled = true;
timer.Start();
}
}
}

private void timer1_Tick(object sender, EventArgs e)


{
Get_Lectura();
}

private void button_Stop_Click(object sender, EventArgs e)


{
try
{
arduino.Stop();
arduino.CierraPuerto();
arduino = null;
this.button_Stop.Enabled = false;
this.button_Iniciar.Enabled = true;
this.timer.Stop();
this.timer.Enabled = false;
}
catch
{
arduino = null;
}
}

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 13
Ingeniería Médica. ECG

private void button_Refresh_Click(object sender, EventArgs e)


{
serial_combo(this.comboBox_Puertos);
}

#endregion
}
}
Código 2.- Form_Main.cs

Clase Arduino

Arduino.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Windows.Forms;

namespace Practica2_LabDSM
{
class Arduino
{
SerialPort serialPort;
bool ok;

public Arduino(string portname, int bauds)


{
try
{
serialPort = new SerialPort(portname, bauds);
ok = true;
}
catch (Exception ex)
{
MessageBox.Show("Error en la asignacion del puerto del arduino. " + ex,
"Error de Inicializacion de Puerto", MessageBoxButtons.OK, MessageBoxIcon.Error);
ok = false;
}
}

public bool Inicializa_Comunicacion()


{
if (ok)
{
try
{
if (!serialPort.IsOpen) //Si el puerto esta cerrado
serialPort.Open();
serialPort.ReadTimeout = 95;

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 14
Ingeniería Médica. ECG

serialPort.Write("square");
if (serialPort.ReadChar() == 'a')
{
MessageBox.Show("Comunicacion Establecida", "Correcto",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return true;
}
catch (Exception ex)
{
MessageBox.Show("Error en la asignacion del puerto del arduino. " +
ex, "Error de Inicializacion de Puerto", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
return false;
}
}

public void CierraPuerto()


{
if (serialPort.IsOpen)
serialPort.Close();
}

public void Stop()


{
if (ok)
{
serialPort.Write("s");
}
}

public int GetLectura()


{
int lectura = -1;
try
{

if (ok)
{
serialPort.Write("r");
lectura = serialPort.ReadChar();
}
}
catch
{
MessageBox.Show("Error Interno al obtener Lectura, la aplicacion se
cerrara", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.Exit();
}
return lectura;
}

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 15
Ingeniería Médica. ECG

}
}
Código 3.- Arduino.cs

Mejoras
Este proyecto tiene mucho en donde mejorar, la interfaz se puede hacer más robusta y que
permita más opciones, entre estas podrían ser opciones de calibración y de alerta.

En lo que respecta al circuito las mejoras son imprescindibles, se necesitan filtros para eliminar
todo el ruido y obtener una señal más limpia, a la vez que una amplificación más adecuada
daría mejores resultado al momento de convertirla en digital.

Conclusiones
Un electrocardiograma es una herramienta necesaria para el diagnóstico médico y crear una
herramienta adecuada para realizar este trabajo es una ardua tarea, y se requieren de amplios
conocimientos de todo tipo, por tanto la creación de esta herramienta desde cero es un trabajo
que puede durar años, para aprender y perfeccionar nuestra propia técnica y circuitería.

Bibliografía
http://www.profesorenlinea.cl/Ciencias/Electrocardiograma.html
http://www.monografias.com/trabajos54/electro-cardiograma/electro-
cardiograma2.shtml
http://www.superreino.blogspot.mx/
http://datasheetoo.com/datasheet-application/medical-ecg-monitors-using-the-ad620-
instrumentation-amplifier.html
http://www.cs.wright.edu/~phe/EGR199/Lab_4/
http://www.electronica-electronics.com/fuentes/Fuente-Dual-7805.html

Hazael. F. Mojica. G.
Dorian L. Rodriguez V.
David Carrillo C. Page 16

You might also like