Vous êtes sur la page 1sur 23

ESCUELA SUPERIOR

POLITCNICA DEL LITORAL

Sensor Medidor
de Ritmo Cardaco

Proyecto primer parcial

PARALELO: 2

INTEGRANTES:

Natalia Valeria Bonifaz Montaguano


Maricela Jackelin Elaje Acevedo
ndice

Introduccin .................................................................................................................................. 2

Objetivos ......................................................................................................................................... 2

Breve descripcin terica ........................................................................................................ 3

Descripcin del proyecto con diagrama de bloques ...................................................... 3

Simulacin...................................................................................................................................... 5

Implementacin ........................................................................................................................... 7

Resultados reales y anlisis de los resultados ...............................................................13

Lista de precios ..........................................................................................................................14

Futuros trabajos ........................................................................................................................14

Cambios realizados...................................................................................................................14

Conclusiones ...............................................................................................................................19

Recomendaciones .....................................................................................................................19

Bibliografa ..................................................................................................................................19

Anexos ...........................................................................................................................................20

1
Introduccin

El proyecto consiste en un sensor del ritmo cardiaco, dispositivo el cual nos


sirve para cuantificar la cantidad de pulsos o de latidos que tiene una persona
en un tiempo definido.

La forma en la que se logra adquirir el esta seal en el cuerpo humano es igual


a la forma utilizada en muchos dispositivos que estn a la venta en el
mercado, lo que vara es la forma en la que se procesa la informacin y la
exactitud con la que trabaja nuestro dispositivo ya que es un circuito casero.

Ya con el circuito funcionando podremos observar el valor de nuestro pulso


cardiaco en una pgina web a la cual podremos observar ingresando a
nuestro navegador (desde cualquier dispositivo con acceso a internet) una
direccin IP asignada y de esta forma hacer que el doctor que verifique el
ritmo cardiaco de su paciente no necesariamente debe estar con l para
poder observar su resultado ya que l lo podr observar va internet.

Objetivos

Familiarizarse con los distintos mdulos y software para la adquisicin


de datos.

Lograr capturar el pulso cardiaco de una persona y determinar si el


valor del mismo est dentro del rango denominado normal o si presenta
algn problema de salud.

Crear un Web server usando un Ethernet Shield conectado directamente


al (Arduino Mega) donde se mostraran los valores numricos de la seal
captada con el circuito,

Usar cdigo protocolo http para comunicarse con el servidor y html para
la presentacin de la pgina web.

2
Breve descripcin terica

El pulsmetro calcula la saturacin de oxgeno y el latido cardiaco (pulso) a


travs del dedo del paciente. El pulsmetro realiza la medicin no invasiva del
oxgeno transportado por la hemoglobina en el interior de los vasos
sanguneos. Detecta los bombeos de sangre como cambios de ms o menos
absorcin. La hemoglobina (HB) es una protena globular, que est presente
en altas concentraciones en lo glbulos rojos y se encarga del transporte de
O2 del aparato respiratorio hacia los tejidos perifricos; y del transporte de
CO2 y protones (H+) de los tejidos perifricos hasta los pulmones para ser
excretados. Los valores normales en sangre son de 13 18 g/ dl en el hombre
y 12 16 g/dl en la mujer. El pulsmetro se utiliza en el hospital, la clnica, en
domicilio, en la actividad deportiva, en cualquier lugar donde sea necesario
recurrir a este tipo de diagnstico. La mayor parte de la luz es absorbida por
el tejido conectivo, piel, hueso y sangre venosa en una cantidad constante,
producindose un pequeo incremento de esta absorcin en la sangre
arterial con cada latido, lo que significa que es necesaria la presencia de pulso
arterial para que el aparato reconozca alguna seal mediante la comparacin
de la luz que absorbe. La medicin se basa en el hecho de que durante la
sstole, habiendo sido el volumen de sangre expulsada a la aorta genera la
onda del pulso (a principios de pico sistlico). Esta onda de pulso se agota y
se refleja en la bifurcacin de la aorta, la creacin de una segunda ola (pico
sistlico tardo). El tiempo de retorno (RT S35) es la diferencia (ms) entre la
primera y la onda reflejada sistlica. RT S35 est relacionado con la rigidez
de la aorta. La diferencia de las amplitudes de la onda sistlica primera y
segunda (AIx) depende del tono de las arterias perifricas (funcin endothel).
Sobre la base de estos, la velocidad de la onda de pulso (VOP S35) se puede
calcular si se mide la distancia entre el Jugulum y de la snfisis (Jug-Sy).

Descripcin del proyecto con diagrama de bloques

SENSOR RITMO CARDACO: Este bloque consiste en una configuracin


electrnica conformada por:

3
Led Rojo: acta como fuente emisora de luz, la cual brilla a travs de
los tejidos y la variacin en el volumen de la sangre altera la cantidad
de luz que incide en el detector.
Fotoreceptor: el LDR capta el cambio en la fluctuacin de la sangre,
para luego procesar esta seal.
Amplificador: utiliza un OPAMP LM358 dual para proporcionar dos
etapas de paso de banda sintonizados ampliamente idnticos con
ganancias de 100.

MICROCONTROLADOR: Se recurre a la tarjeta Arduino MEGA, la misma que


procesa la lectura del sensor de luz (informacin analgica) y la transforma
en datos digitales segn nuestra conveniencia.

ETHERNET SHIELD: Este dispositivo es el que asigna una ip al Arduino para


poder observar nuestra pgina en el navegador.
WEB SERVER: Interfaz para que el usuario o cliente pueda monitorear los
datos generados por el sensor.

4
Simulacin

Circuito Medidor de ritmo cardiaco

En las siguientes grficas se observa como obtenemos la seal de a la salida del


circuito medidor de pulso cardaco.

5
Pruebas con Arduino
Se muestra en el Monitor Serial los primeros resultados despus de procesar los
datos analgicos luego obtenemos la frecuencia del pulso cardaco.

Una vez que logramos conectarnos con nuestro servidor, se puede apreciar como los
resultados en una pgina web sencilla.

6
Finalmente se muestra la pgina con una apariencia ms amigable para la monitorizacin
de la frecuencia cardaca del paciente.

Implementacin
Sensor de ritmo cardaco: para construir el circuito usamos un LED rojo y un LDR,
ste ltimo censar cada cambio del flujo sanguneo, luego la seal pasa por dos
amplificadores para lo cual usamos el integrado LM358 que servir como filtro pasa
banda y a su vez amplificar la seal. El potencimetro permite que la ganancia
global para se ajuste para evitar el recorte en las seales grandes. Los dos
condensadores de 2,2 uF deben ser capaces de soportar cierta polarizacin inversa
por lo que deben ser no polarizado o tantalio. En la Figura 1 se muestra que la parte
de del sensor est situada en la parte de abajo del circuito y a su vez se coloca fomix
negro para evitar que haya mucha entrada de luz y nuestro sensor captar la seal
del pulso con menos prdidas.

Figura 1.

7
Microcontrolador: para procesar la informacin, se convierta en un web server y
dichos datos sean transmitidos al internet y poder visualizarlo desde cualquier parte
dentro de una misma red LAN, hacemos uso del Ethernet Shield.
El cdigo que se us para la configuracin del proyecto se detalla a continuacin:
//webserver
#include <SPI.h>
#include <Ethernet.h>
const int sensorPin= A1;

int period=1000;
int change =0.0;
double intvalue=0.0;
double oldvalue=0.0;
static double oldchange=0;

int zumbador = 8;
int freq = 440;
int duration = 2000;
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 102);

// Initialize the Ethernet server library


// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

8
void setup() {
// Open serial communications and wait for port to open:
Serial3.begin(9600);
Serial.begin(9600);

while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

// start the Ethernet connection and the server:


Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}

void loop() {
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you've gotten to the end of the line (received a newline

9
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // the connection will be closed after
completion of the response
client.println("Refresh: 1"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title>PROYECTO ESPOL.</title>");
client.println("<body bgcolor=\"black\" text=\"white\"><h1
style=\"color:#99ff33;\" style=\"font-size:800%;\"><U><CENTER>MEDIDOR DE
PULSO CARDIACO</CENTER></U></h1>");
// output the value of each analog input pin
static double oldchange=0;
intvalue=analogRead(sensorPin);
double value=(0.75*oldvalue)+((1-0.75)*intvalue);
value=value+10;
change=(value-oldvalue);
delay(period);

if(value<50){
client.println("<h2 style=\"color:RED;\"style=\"font-size:360%;\">PULSO
MUY BAJO - BRADICARDIA:\n\n\n\n");
client.println("<h3 style=\"font-size:1000%;\"> <CENTER>");
client.println(String(value));
tone(zumbador,freq,duration);
client.println("<img border=\"0\" height=\"190\" width=\"255\"
src=\"http://www.gifmania.com/Gif-Animados-Objetos/Imagenes-

10
Ciencia/Medicina/Urgencias/Alerta-De-Emergencia-90821.gif\"
/><RIGHT></RIGHT> ");
client.println("</h2></h3></CENTER>");
delay(1);
client.println("</html>");
break;

}
else if(value>90){
client.println("<h2 style=\"color:RED;\"style=\"font-size:360%;\">PULSO
MUY ALTO - TAQUICARDIA:\n\n\n\n");
client.println("<h3 style=\"font-size:1000%;\"> <CENTER>");
client.println(String(value));
tone(zumbador,freq,duration);
client.println("<img border=\"0\" height=\"190\" width=\"255\"
src=\"http://www.gifmania.com/Gif-Animados-Objetos/Imagenes-
Ciencia/Medicina/Urgencias/Alerta-De-Emergencia-90821.gif\"
/><RIGHT></RIGHT> ");
client.println("</h2></h3></CENTER>");
delay(1);
client.println("</html>");
break;
}
else{
client.println("<h2 style=\"font-size:160%;\">Su pulso es de:\n\n\n\n");
client.println("<h3 style=\"font-size:1000%;\"><CENTER>");
client.println(String(value));
client.println("<img border=\"0\" height=\"190\" width=\"255\"
src=\"http://www.gifsanimados.co/gifs-
animados/Corazones/images/Corazones%20%28247%29.gif\"
/><RIGHT></RIGHT> ");
client.println("</h2></h3></CENTER>");
delay(1);

11
client.println("</html>");
break;
}

}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
} else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println("client disconnected");
Ethernet.maintain();
}
}

12
Resultados reales y anlisis de los resultados

Debido a que en este proyecto se requiere ver la informacin procesada del circuito
y emitir algn tipo de alarma con niveles muy bajos o altos de ritmo cardaco, se cre
una pgina web sencilla debido a que dentro del Arduino no podemos usar algn
tipo de lenguaje de programacin para servidores, lo cual nos limita que el diseo
de nuestra pgina sea totalmente dinmica, sin embargo los datos se observan sin
ningn problema actualizndose cada segundo.

En las siguientes capturas se podr apreciar los resultados.

Lectura del pulso cardaco estndar.

Lectura del pulso cardaco cuando est muy bajo.

13
Lista de precios

El proyecto se lo realiz con una inversin que se presenta de forma detallada en la


siguiente tabla:

Lista de Materiales Precio


Arduino Mega $31.00
Ethernet Shield $21.00
LM358 $0.75
Resistencias varias $ 0.05 (Unidad)
Batera de 9V $1.40
Potencimetro 10k $0.50
Fototransistor $0.50
Led $0.05
TOTAL $55.70

Futuros trabajos

Se podra mejorar el proyecto mediante el uso de Base de datos para la visualizacin


de la grfica de la seal del pulso cardaco de un paciente.

Como aplicacin para uso exclusivo de los Doctores de un hospital se podra crear
cuentas donde ingresen usuario y contrasea para inicio de sesin del sistema, que
despus le permita ver el listado de sus pacientes y monitorear el pulso cardaco de
los mismos.

Tambin se puede complementar el proyecto midiendo no solo un signo vital sino


que se extendiera mostrando informacin sobre la tensin arterial, la cantidad de
oxgeno que hay en la sangre, la frecuencia respiratoria, etc.

Cambios realizados

Al comienzo el proyecto requera del monitoreo remoto del pulso cardaco de un


paciente mediante comunicacin inalmbrica entre circuito y el servidor.
La comunicacin inalmbrica se iba a realizar usando un mdulo Wifi ESP8266, para
permitir la conexin entre el dispositivo y un Access point necesitamos de los
comandos AT, los mismos que se especifican a continuacin:

14
AT+RST Resetea el mdulo wifi.

AT+CWMODE=3 Configura el mdulo como Cliente y Access Point.

AT+CWLAP Escanea y enlista las redes que se encuentran disponible dentro del
alcance el mdulo.

AT+CWJAP=SSID,PASSW Conecta al Access Point que se desee con tan solo


colocar entre comillas () el nombre de la red, y de igual manera colocamos la clave
o el password de la red.

AT+CIPMUX=1 Usa la conexin mltiple.

AT+CIPSERVER = 1,80 Configura el servidor TCP, con 1 abre el puerto y con


80asigna el puerto del servidor.

AT+CIFSR muestra la ip que nuestro AP nos asigna.

El cdigo realizado con estos comandos para el proyecto se detalla, en las siguientes
lneas.

//Definimos variables, los cdigos AT sern colocados dentro de un arreglo.


String ordenes[]=
{
"AT+CWMODE=3",
"AT+CIFSR" ,
"AT+CIPMUX=1",
"AT+CIPSERVER=1,80",
"END"// Para reconocer el fin de los comandos AT
};

void setup()
{ Serial3.begin(9600);
Serial.begin(9600);
delay (1000);
int index = 0;

//Colocamos dentro de un lazo las instrucciones AT para que se genere en todo


momento la ip y a su vez se active el web server para evitar que se caiga la pgina.
while(ordenes[index] != "END")
{ Serial3.println(ordenes[index++]);
while ( true)
{ String s = GetLineWIFI();
if ( s!= "") Serial.println(s);
if ( s.startsWith("no change"))
break;

15
if ( s.startsWith("OK"))
break;
if ( s.startsWith("ready"))
break;
// if (millis()-T >10000) break;
}
Serial.println("....................");
}
}

void loop()
{ while (Serial3.available() >0 )
{ char c = Serial3.read();
if (c == 71)
{ Serial.println("Enviada Web Request");
webserver();
delay(500);
}
}
}

void http(String output)


{
Serial3.print("AT+CIPSEND=0,"); // AT+CIPSEND=0, num
Serial3.println(output.length());
if (Serial3.find(">")) // Si recibimos la peticion del mensaje
{ Serial.println(output);
Serial3.println(output); //Aqu va el string hacia el WIFI
delay(10);
while ( Serial3.available() > 0 )
{ if ( Serial3.find("SEND OK") ) // Busca el OK en la respuesta del wifi
break;
}
}
}
//Definimos variables para la lectura de la seal del circuito
const int sensorPin= A1;
int period=1000;
int change =0.0;
double intvalue=0.0;
double oldvalue=0.0;
static double oldchange=0;
void webserver(void)
{ http("<!DOCTYPE HTML>");
http("<html>");
http("<head><title>PROYECTO ESPOL.</title>");

16
http("<meta http-equiv=\"refresh\" content=\"1\"></head>");
http("<body bgcolor=\"black\" text=\"white\"><h1 style=\"color:#99ff33;\"
style=\"font-size:800%;\"><U><CENTER>MEDIDOR DE PULSO
CARDIACO</CENTER></U></h1>");

static double oldchange=0;


intvalue=analogRead(sensorPin);
double value=(0.75*oldvalue)+((1-0.75)*intvalue);
value=value+10;
change=(value-oldvalue);
delay(period);

if(value>50&& value<90){
http("<h2 style=\"font-size:160%;\">Su pulso es de:\n\n\n\n");
http("<h3 style=\"font-size:1000%;\"><CENTER>");
http(String(value));
http("<img border=\"0\" height=\"190\" width=\"255\"
src=\"http://www.gifsanimados.co/gifs-
animados/Corazones/images/Corazones%20%28247%29.gif\"
/><RIGHT></RIGHT> ");
http("</h2></h3></CENTER>");
delay(1);
Serial3.println("AT+CIPCLOSE=0");

}
else{
http("<h2 style=\"color:RED;\"style=\"font-size:360%;\">PULSO MUY
BAJO:\n\n\n\n");
http("<h3 style=\"font-size:1000%;\"> <CENTER>");
http(String(value));
http("<img border=\"0\" height=\"190\" width=\"255\"
src=\"http://www.gifmania.com/Gif-Animados-Objetos/Imagenes-
Ciencia/Medicina/Urgencias/Alerta-De-Emergencia-90821.gif\"
/><RIGHT></RIGHT> ");
http("</h2></h3></CENTER>");
delay(1);
Serial3.println("AT+CIPCLOSE=0");

}
}
String GetLineWIFI()
{ String S = "" ;
int ji=1;
if (ji=1)
{ char c = Serial3.read(); ;
while ( c != '\n' ) //Hasta que el caracter sea intro

17
{ S=S+c;
delay(25) ;
c = Serial3.read();
}
return( S ) ;
}
}

Lamentablemente hubieron problemas de conectividad que no se pudo resolver y


solo en ciertas ocasiones podamos acceder al servidor desde el navegador, a pesar
que logramos conectarnos a una red LAN y su AP nos asignaba una ip; las veces que
se conectaba con nuestro servidor, duraba pocos minutos y luego se caa la pgina.

Por motivos de tiempo y bajo la aceptacin de nuestro profesor recurrimos; hacer


un cambio al proyecto conectndonos va Ethernet mediante un dispositivo externo
y adaptable al Arduino llamado Ethernet Shield.
Los resultados obtenidos tanto con el mdulo wifi como con el Ethernet Shield son
los mostrados en los Anexos, ya que cabe recalcar que el problema que obtuvimos
con el mdulo era slo la conectividad mas no la programacin, ni la circuitera.

18
Conclusiones
Para poder crear una pgina web completamente dinmica, se necesita de
elementos ms potentes como un raspberry pi, se decidi trabajar slo con el
arduino por facilidad de cdigo y a su vez es ms ligero ya que es un medidor de
ritmo cardaco porttil, mientras que el uso del raspberry haca del proyecto
ms robusto.

Trabajamos con tan solo 2 etapas de filtrado y amplificacin, a pesar de que lo


ideal es tener un filtro de cuarto orden, sin embargo, nuestra seal es buena y
es til para nuestro proyecto evitando la robustez del circuito.

La frecuencia cardaca normal oscila entre 50 a 100 latidos por minuto, fuera de
estos rangos el paciente puede sufrir de bradicardia (por debajo de los 50 latidos
por minuto) o taquicardia (por encima de 100 latidos por minuto).

Recomendaciones
Buscar varios diagramas de circuitos y probar cul es el ms eficiente.

Tratar de usar mnimo 4 etapas de filtrado para obtener una mejor seal del
ritmo cardaco.

Cubrir por completo la seccin del sensor tratando que ingrese la menor
cantidad de luz posible para obtener la seal correcta.

Bibliografa

https://www.fiec.espol.edu.ec/electronica-
medica/Diseno%20y%20construccion%20de%20un%20contador%20card
iaco,%20basado%20en%20un%20principio%20optico.pdf

https://riunet.upv.es/bitstream/handle/10251/49716/MEMORIAdefinitiv
a_14047195741583523182364041613508.pdf?sequence=3

http://www.urp.edu.pe/pdf/ingenieria/electronica/CIR-
12_Pulso_cardiaco.pdf

http://diymakers.es/crear-servidor-web-con-arduino/

https://www.arduino.cc/en/Tutorial/WebServer

19
Anexos

Vista area del circuito.

Vista frontal del circuito.


20
DIATASHEET DEL INTEGRADO LM358

21
CAPTURAS DE LA PGINA WEB

22

Vous aimerez peut-être aussi