Documente Academic
Documente Profesional
Documente Cultură
ECG
Introduccin
Los electrocardigrafos son aparatos capaces de detectar y amplificar las
seales elctricas generadas por el corazn durante su actividad, y la
grafica de la seal de salida de un electrocardigrafo se llama
electrocardiograma (ECG), a su vez al estudio diagnostico para obtener el
ECG se llama electrocardiografa.
Es bien sabido que las enfermedades cardiacas estn dentro de las
principales causas de muerte en Mxico, y el mtodo de diagnostico de la
mayora de estas enfermedades estn apoyados en el ECG.
Adems de lo mencionado anteriormente en el mbito de educacin y
formacin de ingeniera biomdica y reas afines, el diseo y elaboracin de
un electrocardigrafo, permiten la consolidacin del conocimiento y
habilidades obtenidos a lo largo de la carrera.
Objetivo
Obtener una seal de ECG mediante un amplificador de instrumentacin, y
obtener la frecuencia cardiaca mediante el algoritmo de Pan-Tompkins
implementado en una tarjeta Arduino, la seal digital de ECG se debe
graficar en una computadora y la frecuencia cardiaca en una pantalla LCD
independiente a la computadora.
Desarrollo
Para la realizacin del electrocardigrafo se requieren tres fases, la
analgica, digitalizacin y la digital.
La fase analgica se encarga de detectar, amplificar y filtrar la seal de
ECG, la etapa de digitalizacin requiere de un convertidor analgico-digital
(ADC) y por ltimo la etapa digital que se encarga del tratamiento de la
seal para su uso final.
Para el desarrollo de este proyecto se utiliz un electrocardigrafo de
diseo convencional, una tarjeta Arduino uno para la digitalizacin y filtrado
digital de la seal, adems para la interfaz grafica de ECG una PC.
Fase analgica
//actualizacin de contadores
lcd.clear();
Graficacin
Para la graficacin se toman los datos que se manda Arduino al puerto serial
de la PC, para esto se utiliza el siguiente cdigo de prossecing2
import processing.serial.*; //librera para utilizar el puerto serial
Serial port;
//declara el puerto serial
int ECG,x1=0,y1=0,y=0;
int fr=50, time=10, k=0;
//variables de frame rate, tiempo de muestra e
indice de x
void setup() {
size(750, 500);
//declara ventana
background(255,255,255);
for(int i=1;i<10;i++){
stroke(255,160,160);
line(75*i, 0, 75*i, 500);
line(0, 50*i, 750, 50*i);
}
port = new Serial(this, "COM3", 9600);//prepara el puerto serial
port.bufferUntil('\n');
//almacena datos del puerto hasta que se
encuentra un salto de lnea
}
void serialEvent(Serial port) {
//funcin que lee el puerto serial
ECG= int(port.readStringUntil('\n')); //asigna el valor en cdigo ASCII del
puerto serial a una variable entera
}
void draw() {
k=floor(k+750/(fr*time));
y= -(ECG)+500;
stroke(0,0,255);
line(x1,y1,k,y);
//calcula x
x1=k;
y1=y;
if (k==750) {
//condicional que limpia la pantalla cuando
esta se llena
k=0;
x1=0;
background(255,255,255);
for(int i=1;i<10;i++){
stroke(255,160,160);