CARDIORITMOMETRO: PRUEBAS Y VALIDACIÓN

Anuncio
Universidad
Tecnológica de
Querétaro
Firmado digitalmente por Universidad Tecnológica de
Querétaro
Nombre de reconocimiento (DN): cn=Universidad
Tecnológica de Querétaro, o=Universidad Tecnológica de
Querétaro, ou, [email protected], c=MX
Fecha: 2013.02.07 13:52:13 -06'00'
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Voluntad ● Conocimiento ● Servicio
Nombre del proyecto
“CARDIORITMOMETRO: PRUEBAS Y VALIDACIÓN”
Empresa
CENTRO DE INNOVACIÓN Y DESARROLLO DE TAI (CIDTAI).
Memoria que como parte de los requisitos para obtener el título de:
TECNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA
AUTOMATIZACIÓN
Presenta:
Alfaro Ramírez José Guadalupe
De la torre Galindo Arturo
Asesor de la UTEQ
Ing. Juan Carlos Pérez Luján
Asesor de la Empresa
Ing. Jorge Ramíro Alvarado
Santiago de Querétaro, Qro.31 de Ene. 2013
RESUMEN
En la cuarta fase del proyecto del Cardioritmómetro presentada por la empresa
HemoDinamics y elaborado por CID TAI. Se finalizo el prototipo cumpliendo con el
objetivo más importante el cual era realizar un aparato con el fin de facilitar las
tareas de los doctores al presentar un diagnostico más conciso y eficiente después
al haber realizado un análisis con el Cardioritmometro. Este aparato nos permite
tener un análisis cardiaco más completo y eficiente de manera ambulatoria gracias
a que el prototipo es práctico. Al hacer uso de este aparato, los pacientes son
sometidos a una prueba al final de ella de manera inmediata el sistema
proporciona una serie de datos como lo son: el ritmo cardiaco, frecuencia cardiaca
y los ciclos en moda, mayor y menor. Otro de los objetivos que se cumplieron fue
la validación del proyecto para su aprobación comercial. Dentro de la finalización
se presentaron obstáculos en el funcionamiento del prototipo, estos problemas
provocaron que se realizaran modificaciones en el prototipo y en el código del
programa del mismo.Para la mejora de su funcionamiento, se considero realizar
numerosas pruebas con el prototipo para comprobar que su funcionamiento fuera
el correcto.En calibración del prototipo se opto en crear un sistema validación el
cual consistía en la creación de un código dentro de las plataformas de
programación Arduino y Processing, Estas dos plataformas trabajarían en conjunto
para obtener con esto un sistema de monitoreo, con la finalidad visualizar de
manera grafica dentro de una PC, los resultado arrojados en el análisis del los
pacientesal usar el Cardioritmometro. De esta manera se finalizo la cuarta fase de
este proyecto obteniendo un prototipo concluido y validado con un funcionamiento
óptimo, esto hace que los resultados sean satisfactorios, ya que se cumplieron los
objetivos y los alcances de esta fase.
.
(Palabras clave: diagnostico, Cardioritmometro, validación)
.
2
ABSTRACT
In the fourth phase of the project Cardioritmometro submitted by the company
HemoDinamics and produced by CID TAI.The prototype was completed in
compliance with the most important objective which was to make a device to
facilitate the tasks of the doctors to present a more concise and efficient diagnosis
after having conducted an analysis with Cardioritmometro.This device allows us to
have a more comprehensive cardiac analysis and efficient as outpatients by the
prototype is practical. By using this device, patients undergo a test at the end of it
and immediately the system provides a set of data such as: heart rate, heart rate
and fashion cycles, major and minor.Another objective was to be metproject
validation for marketing approval. Within its completion were presented obstacles
the operating in the prototype, these problems prompted modifications were made
in the prototype and the program code.To improve its performance, extensive
testing was considered the prototype to verify that it works out right. In
calibrationthe prototype was decided to create a validation systemwhich involved
the creation of a code in programming platformsArduino and Processing,These two
platforms would work together to get to this monitoring system, and with this a
graphical displayinside a PC, the result of analysis thrown in patientsusing the
Cardioritmometro. Thus was completed the fourth phase of this project getting
completed and validated a prototype with optimal performance, this makes the
results are satisfactory, as it met the objectives and scope of this phase.
3
DEDICATORIAS (OPCIONALES)
Este trabajo lo dedicamos a cada una de las personas que intervinieron en el
camino durante toda la carrera y la finalización de esta en la titulación.
Principalmente la dedicamos a nuestras familias, profesores y compañeros que
nos apoyaron en este tiempo.
AGRADECIMIENTOS (OPCIONALES)
Les agradecemos mucho a la universidad, principalmente al cuerpo educativo de
la carrera de Mecatrónica Área de Automatización por el apoyo y sobre todo
enseñanzas que nos brindaron durante nuestra carrera.
4
INDICE
Página
Resumen …..…………………………………………………………………………....2
Abstract...…..………………………………………………………………………...….3
Dedicatorias.……………………………………………………………………….......4
Agradecimientos….…………………………………………………………………....4
Índice…..……………………………………………………………………………......5
I.
INTRODUCCION……………………………………………………………….6
II.
ANTECEDENTES……………………………………………………………....7
III.
JUSTIFICACIÓN……………………………………………………………......7
IV.
OBJETIVOS…………………………………………………………………......7
V.
ALCANCES………………………………………………………………..….....7
VI.
FUNDAMENTACIÓN TEÓRICA…………………………………………….....8
VII.
PLAN DE ACTIVIDADES……………………………………………………..18
VIII.
RECURSOS MATERIALES Y HUMANOS………………………………….19
IX.
DESARROLLO DEL PROYECTO…………………………………………....20
X.
RESULTADOS OBTENIDOS………………………………………………....36
XI.
ANÁLISIS DE RIESGOS……………………………………………………....36
XII.
CONCLUSIONES………………………………………………………………37
XIII.
RECOMENDACIONES……………………………………………………......37
XIV.
REFERENCIAS BIBLIOGRÁFICAS………………………………………….37
5
I. INTRODUCCIÓN
La empresa HemoDinamics noto que en la medición de la presión arterial
no estaba considerada la de la presión diastólica. Así que establecieron los
principios físicos básicos para determinar la presión arterial menor.
Para elaborar un aparato que realizara esta medición, HemoDinamics
acudió a la Universidad Tecnológica de Querétaro para poder elaborar dicho
aparato. Se presento el proyecto, llamado Cardioritmómetro, a la división de
Electrónica e Información de la Universidad.
Dentro del proyecto se han presentado diferentes fases de desarrollo,
donde, empezando desde cero, fue evolucionando, probando placas de diferentes
marcas buscando la más eficiente en la adquisición de datos. Para la medición y
acoplamiento del sensor de presión se busco el más eficaz en la medición.
Al finalizar dichas pruebas y llegar a la fase 4 del proyecto, donde se
elaboro un prototipo del Cardioritmómetro para su uso en el campo. Era necesario
obtener de manera confiable una señal del prototipo y graficarlo,para tener una
mejor visualización de los datos adquiridos mediante el Cardioritmómetro, se inicio
el proyecto con el objetivo de graficar la señal del prototipo a una computadora
portátil.
6
II. ANTECEDENTES
Los investigadores de la empresa HemoDinamics descubrieron una laguna
científica en el campo de la presión arterial, se dice que desde 1905 no se había
realizado modificaciones a la determinación de la presión arterial. En cuanto a la
presión diastólica, esta no se medía con ningún instrumento electrónico.Por lo que
se desarrolló el método BEM (Bases Hemodinámicas de México) en el cual se
establecen los principios físicos básicos para la determinación de la presión
arterial menor.
III. JUSTIFICACIÓN
En esta etapa se modificara el diseño del programa que se encuentra en la
plataforma de Arduino, para hacerlo más optimo en la adquisición y lectura del
ritmo cardiaco, con esto se lograra una menor perdida en el tiempo de lectura del
instrumento, esto también ayudara a reducir su costo.
Se implementara en el programa de Processing una corrida de datos de la
señal obtenida del equipo para verificar su buen funcionamiento. Esto con el
objetivo de llegar a un producto finalizado y en buen funcionamiento, para realizar
las pruebas de calibración y validación de este.
IV.OBJETIVOS
La validación el equipo final para aprobación comercial.
La integración un sistema para validación de equipo comercial.
V. ALCANCES
Equipo finalizado y validado.
Sistematización de la validación de equipo final (interfaz grafica para
verificar la señalización de los equipos).
7
VI.
FUNDAMENTACIÓN TEÓRICA
Movimientos del corazón.
El corazón tiene dos movimientos: Uno de contracción llamado sístole y otro
dilatación llamado diástole. Pero la sístole y la diástole no se realizan a la vez, se
distinguen tres tiempos, que se muestran en la Figura 1 en la parte de abajo.
Sístole Auricular, se contraen las aurículas y la sangre pasa a los
ventrículos que estaban vacíos.
Sístole Ventricular, los ventrículos se contraen y la sangre que no puede
volver a las aurículas por haberse cerrado las válvulas bicúspide y tricúspide, sale
por las arterias, pulmonar y aorta. Estas también tienen, al principio, sus válvulas
llamadas válvulas sigmoideas, que evitan el reflujo de la sangre.
Diástole general, Las aurículas y los ventrículos se dilatan, al relajarse la
musculatura, y la sangre entra de nuevo a las aurículas. Los golpes que se
producen en la contracción de los ventrículos originan los latidos, que en el
hombre oscilan entre 70 y 80 latidos por minuto.
Figura 1. Movimiento del Corazón.
8
Durante los períodos de reposo el corazón tiene aproximadamente 70
pulsaciones por minuto en un individuo adulto del sexo masculino, y en este
mismo intervalo bombea aproximadamente cinco litros de sangre.
El estímulo que mantiene este ritmo es completamente auto regulado.
Incrustada en la aurícula derecha se encuentra una masa de tejido cardíacos
especializados que recibe el nombre nodo sinusal o ganglio sinoauricular (SA), el
sistema cardiovascular y su funcionamiento que si se indica con las flechas la
trayectoria de la circulación de la sangre por el sistema.
Frecuencia cardiaca.
Se define como las veces que el corazón realiza el ciclo completo de
llenado y vaciado de sus cámaras en contracciones por minuto, ya que cuando
nos tomamos el pulso lo que notamos es la contracción del corazón (sístole), es
decir cuando expulsa la sangre hacia el resto del cuerpo. Esto se representa en la
Figura 1.1.
Figura 1.1. Frecuencia Cardiaca.
9
El número de contracciones por minuto está en función de muchos
aspectos y por esto y por la rapidez y sencillez del control de la frecuencia hace
que sea de una gran utilidad.La frecuencia cardiaca se divide en Bradicárdica,
Normocárdica y Taquicárdica.
La Bradicárdica es aquella frecuencia cardiaca cuyo valor está por
debajo del rango establecido como punto de referencia de acuerdo a
la edad de la persona. Como se muestra en la figura 1.2
La Normocárdica es aquella frecuencia cardiaca cuyo valor se
encuentra dentro de rango establecido como punto de referencia de
acuerdo a la edad de la persona.
La Taquicárdica es aquella frecuencia cardiaca cuyo valor está por
encima del rango establecido como punto de referencia de acuerdo a
la edad de la persona.
Figura 1.2. Frecuencia cardiaca en reposo.
10
Ritmo Cardiaco.
Es el resultado de la observación sonora o gráfica de la descomposición de
una frecuencia cardiaca determinada, en unidades llamadas período de latido,
para observar el porcentaje de suma o diferencia al valor del índice que se ha
pactado como referencia a la unidad de período establecido. Como se muestra en
la Figura 1.3.
Figura 1.3. Ritmo Cardiaco.
Arritmias.
Toda irregularidad en el ritmo natural del corazón se denomina arritmia.
Cualquiera puede sentir latidos irregulares en algún momento de su vida, y estas
palpitaciones leves e infrecuentes son generalmente inofensivas. Las arritmias que
pueden comprometer su vida son mucho menos frecuentes.
Los impulsos eléctricos generados por el músculo cardíaco estimulan la
contracción del corazón. Esta señal eléctrica se origina en el nódulo sinusal o
sinoauricular (SA) ubicado en la aurícula derecha entorno a la desembocadura de
la vena cava superior. El nódulo SA también se denomina el «marcapasos
natural» del corazón.
11
Arduino Mega 2560.
Arduino es una plataforma básica de código abierto (open source), prototipo
electrónico basado en hardware y software de fácil uso. Está pensando con el
objetivo de crear objetos o ambientes interactivos. Tiene dos componentes:
Software: Entorno de desarrollo creado: Escribir, corregir errores de
estructura al programa, programas (sketches), y cargarlos al hardware.
Hardware: Placa Arduino (mega 2560).
Arduino mega 2560 es una placa electrónica basada en el microprocesador
Atmega2560. Algunas de sus características cuenta con 54 entradas/salidas
digitales y 14 de estas pueden utilizarse para salidas PWM (modulación por ancho
de pulsos). Además lleva 16 entradas analógicas, UARTs (puerto serie), un
oscilador de 16MHz, una conexión USB, un conector de alimentación a un puerto
ICSP (In Circuit Serial Programming, en español programación serial y en circuito)
que sirve para programar del MicrocontroladorATmega y así poder cargar los
programas que crean en el en el software del Arduino directamente en el
Microcontrolador sin tener que usar programadores externos y un pulsador para el
reset. La placa lleva todo lo necesario para soportar el microprocesador. Figura
1.4
Figura 1.4. Arduino Mega 2560.
12
Para empezar a utilizar la placa sólo es necesario conectarla al ordenador a
través de un cable USB, o alimentarla con un adaptador de corriente AC/DC.
También, para empezar, puede alimentarse sencillamente con una batería.
Una de las características principales de la MEGA 2560 es que no utiliza el
convertidor USB-serial FTDI, sino que utiliza el microprocesador Atmega8U2
programado como convertidor USB-serial.
Tensión operativa 5V
Tensión de alimentación (recomendado) 7-12V
Tensión de alimentación (limites) 6-20V
Máxima corriente continua para las entradas: 40 mA
Máxima corriente continua para los pins 3.3V: 50 mA
Memoria Flash 256 KB (el cargador de arranqueo bootloaderusa 8
KB).
SRAM 8 KB
EEPROM 4 KB
Velocidad del reloj 16 MHz
Programación.
El programa se implementara haciendo uso del entorno de programación
propio del Arduino y se transferirá empleando el cable USB.
Para programar en la placa es necesario tener el entorno de desarrollo
(IDE). Proporcionada por Arduino en su página web (www.arduino.cc). Se dispone
de versiones para Windows y para MAC, así como las fuentes para compilarlas en
LINUX.
El primer paso para comprobar que la interfaz de desarrollo funciona
correctamente es abrir uno de los ejemplos y cargar el programa para verificar.
13
Estructura del programa.
La estructura básica del lenguaje de programación de Arduino es bastante simple
y se compone de al menos dos partes. Estas dos partes o funciones, encierran
bloques que contienen declaraciones, bloques de instrucciones. Como ejemplo:
voidsetup()
{
Bloque de instrucciones;
}
voidloop()
{
Bloque de instrucciones;
}
En donde setup () es la parte encargada de recoger la configuración y loop()
es la que contienen el programa que se ejecutará cíclicamente.
Ambas funciones son necesarias para que el programa trabaje. La función
de configuración debe contener la declaración de las variables. Es la primera
función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para
configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la
comunicación en serie y otras.
La función bucle (loop) siguiente contiene el código que se ejecutara
continuamente (lectura de entradas, activación de salidas, etc.) Esta función es el
núcleo de todos los programas de Arduino y la que realiza la mayor parte del
trabajo.
14
La función setup () se invoca una sola vez cuando el programa empieza. Se
utiliza para inicializar los modos de trabajo de los pines, o el puerto serie. Debe ser
incluido en un programa aunque no haya declaración que ejecutar.
voidsetup ()
{
pinMode(pin, OUTPUT); // configura el 'pin' como salida
}
Después de llamar a setup (), la función loop () se ejecuta de forma cíclica,
lo que ayuda a que el programa este respondiendo continuamente ante los
eventos que se produzcan en la tarjeta.
Voidloop()
{
digitalWrite(pin, HIGH); // pone en uno el ´pin´
delay(1000); // espera un segundo
digitalWrite(pin, LOW); // pone en cero el ´pin´
delay (1000);
Otras de las funciones básicas de Arduino son las del tiempo y las
matemáticas:
Delay(ms): Realiza la una pausa en el programa la cantidad de tiempo en
milisegundos especificada en el parámetro (máximo 1000, mínimo 1).
Millis(): Devuelve la cantidad de milisegundos que se lleva la placa Arduino ejecutado el programa
actual como un valor “longunsigned”. Después de nueve horas el contador vuelve a cero.
15
Processing (Gráficos por computadora).
Es un lenguaje de programación y entorno de desarrollo integrado de
código abierto basado en Java (fácil de usar), que sirve como medio para la
enseñanza y producción de proyectos multimedia e interactivos de diseño digital.
Está orientado a artistas visuales y diseñadores digitales, resultando en un
lenguaje de fácil aprendizaje y utilización como una herramienta alternativa al
software.
Una de sus principales características es que es multiplataforma, que puede
ser ejecutado en Windows, Linux o Mac y permitiendo exportar los aplicaciones
resultantes a cualquiera de estos entornos, o incluso generar archivos para su
visualización en páginas webs. Con processing podemos desarrollar todo tipo de
aplicaciones, desde juegos o programas de cálculos hasta software para
instalaciones artísticas, el límite está en la imaginación. Este lenguaje fue
inspiración para Arduino, fue diseñado realmente para procesamiento de gráficos
e imágenes.
Estructura de la programación de processing.
El hecho de crear un programa implica recurrir a la escritura y aprender un
lenguaje. Similar a cuando aprendemos un nuevo lenguaje oral o escrito,
necesitamos aprender una sintaxis y una lógica.
Comentarios. Processing permite agregar notas en cualquier sector del
código. Pueden ser de solo una línea o de muchas líneas.
Funciones. Las funciones permiten dibujar formas, colores, realizar cálculos
matemáticos, entre otras variadas acciones. Por lo general se escriben en
minúsculas y seguidas por paréntesis. Algunas funciones aceptan
parámetros, los cuales se escriben entre los paréntesis. Si acepta más de
16
uno, son separados por una coma (,). A continuación un programa que
incluye dos funciones:
Expresiones y Acciones. Si usáramos una analogía, la expresión de un
software es como una frase. Las expresiones, por lo general, van
acompañadas de algún operador como +, -, *o /, ya sea a la izquierda o a la
derecha del valor. Una expresión en programación puede ser básica, como
un solo número, o una compleja cadena de elementos. De esta manera,
una expresión siempre tiene un valor determinado. Hay expresiones que
también pueden usarse en comparación de un valor con otro. Los
operadores de “>” /mayor a/ y “<” /menor a/ devuelven solo dos valores:
true (verdadero) y false (falso). Lo que en programación equivale a una
oración. Se completa cuando se presenta el terminador de la acción. En
Processing, el terminador de acción es el punto-y-coma (;). Una acción
puede definir una variable, ejecutar una variable, asignar una variable,
ejecutar una función, o construir un objeto.
Prototipo Cardioritmómetro.
Dispositivo electrónico elaborado por CID TAI de la UTEQ a petición y
colaboración de HD. Este aparato tiene el fin de facilitar al doctor medir y recabar
datos del ritmo cardiaco, frecuencia cardiaca y los ciclos en moda, mayor y menor;
y así poder tener un diagnostico del estado de salud del paciente.
17
VII.
PLAN DE ACTIVIDADES
18
VIII.
RECURSOS MATERIALES Y HUMANOS
Material:
Laboratorio Cuerpo Académico.
Caja de herramientas.
Placa Arduino ATmega2560.
Adaptador USB (Arduino-PC).
Software (Arduino y Processing).
Prototipo de Cardioritmómetro.
Laptop DELL INSPIRON 15R.
Sensor MPX5050.
Multi metros.
Protoboard.
Tutoriales (Arduino y Processing).
Humano:
Trabajo de 8 horas diarias hombre.
2 personas trabajando en el proyecto.
1 persona dirige el proyecto.
Asesorías.
19
IX. Desarrollo del Proyecto
I. En esta parte del proyecto se llevo a cabo de manera teórica para la obtención
deinformación y familiarización con el lenguaje de programación que utiliza la
plataforma Arduino. Se consultaron manuales y ejemplos de las funciones básicas
del sistema Arduino. La plataforma de programación fue proporcionada por CIDTAI.
II. Esta etapa consistió en el reconocimiento de la plataforma Arduino.Donde con
la ayuda de manuales y programas de ejemplo de las funciones básicas de
Arduino, comenzamos con la parte práctica. Dentro de estas actividades,
cargamos y compilamos programas para comprender los alcances de la tarjeta
Arduino.
III. Posteriormente, seprobó la tarjeta Arduino que sería utilizada en este proyecto
la cual fue Mega 2560. Le cargamos los siguientes programas para observar el
funcionamiento.
Analogic_Read_Serial
Analogic_Write_Serial
Golpes_de Pulso_
Atenuar_Led_Con_Pot
Blink_Arduino
Blink_Without_Delay
Button
Button_On_Off
Comunicacion_Serial_Processing_Analogico
Cuadriculado_For
Digital_Read_Serial
Intput_Pull_Up_Serial
20
analogic_read_serial
void setup() {
Serial.begin(9600);
}
void loop() {
intsensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(500);
analogic_write_serial
void setup() {
Serial.begin(9600);
}
void loop() {
intsensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
delay(500);
}
Golpes de pulso_
voidsetup()
{
pinMode(12, OUTPUT);
}
void loop()
{
digitalWrite(12, HIGH);
delay (1000);
digitalWrite(12, LOW);
21
delay (1000); }
Atenuar_led_con_pot
intledPin = 9;
// LED connected to digital pin 9
intanalogPin = 3; // potentiometer connected to analog pin 3
intval = 0;
// variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the pin as output
}
void loop()
{
val = analogRead(analogPin); // read the input pin
analogWrite(ledPin, 4); // analogRead values go from 0 to 1023, analogWrite
values from 0 to 255
}
Blink_arduino
intledPin = 12;
int brightness = 0;
intfadeAmount = 5;
void setup() { pinMode(ledPin,OUTPUT); }
void loop() {
analogWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount;
}
delay(80);
}
22
Blink_without_delay
constintledPin = 12;
intledState = LOW;
// establece el LED
longpreviousMillis = 0;
// almacena el estado del LED
long interval = 50;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis> interval) {
previousMillis = currentMillis;
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
digitalWrite(ledPin, ledState);
}
}
Button
constintbuttonPin = 2;
constintledPin = 12;
intbuttonPushCounter = 0;
intbuttonState = 0;
intlastButtonState = 0;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
23
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
}
else {
Serial.println("off");
}
}
lastButtonState = buttonState;
if (buttonPushCounter % 4 == 0) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
24
Button_on_off
constintbuttonPin = 2;
constintledPin = 12;
intbuttonState = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
Comunicacion_serial_processing_analogico
void setup() {
// initialize the serial communication:
Serial.begin(9600);
}
void loop() {
// send the value of analog input 0:
Serial.println(analogRead(A0));
// wait a bit for the analog-to-digital converter
// to stabilize after the last reading:
delay(2);
}
25
Cuadriculado_for
stroke(255);
for (int x=20; x<=80; x+=5) {
line (x,20,x,80);
}
stroke(255);
for (int x=20; x<=80; x+=5) {
line (20,x,80,x);
}
Digital_read_serial
intpushButton = 2;
void setup() {
Serial.begin(9600);
pinMode(pushButton, INPUT);
}
void loop() {
intbuttonState = digitalRead(pushButton);
Serial.println(buttonState);
delay(1);
}
26
Intput_pull_up_serial
void setup(){
//start serial connection
Serial.begin(9600);
//configure pin2 as an input and enable the internal pull-up resistor
pinMode(10, INPUT_PULLUP);
pinMode(12, OUTPUT);
}
void loop(){
//read the pushbutton value into a variable
intsensorVal = digitalRead(10);
//print out the value of the pushbutton
Serial.println(sensorVal);
if (sensorVal == HIGH) {
digitalWrite(12, LOW);
}
else {
digitalWrite(12, HIGH);
}
}
Figura 1.5.Tarjeta (Mega 2560), esta tarjeta fue la utilizada durante todo el
proyecto
27
IV. En la siguiente etapa se tuvo la necesidad de observar gráficamente una señal
analógica proporcionada por la salida del sensor de presión (MPX5050) y
adquirida por el sistema Arduino. Y además del uso de la plataforma Processing.
Se programó el sistema Arduino, con la ayuda de los siguientes datos.
450
400
350
300
250
Tension (V)
200
Presion(mmHg)
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11
Tensión (V) Presión(mmHg)
0.5
37.5
1
75
1.5
112.5
2
150
2.5
187.5
3
225
3.5
262.2
4
300
4.5
337.5
5
375
5.5
412.5
Se conecto el sensor de presión y la tarjeta Arduino de la siguiente manera. Con
ello se obtuvo la siguiente señal.
Figura 1.6.En esta imagen se observa la respuesta entregada del sensor
MPX5050, vista en Processing.
28
V. Se realizaron algunas pruebas en conjunto con Arduino y Processing, para
observar los resultados al graficar una señal analógica. La primera prueba que se
realizo fue con una señal de reloj, la cual tenía una frecuencia de 1Hz, que se
muestra en la figura 1.7. Además se opto por tabular dentro de la pantalla de
Processing con la ayuda de dicha señal, En un principio solo se utilizo la
cuadrícula sin una posible escala. Hay que recordar que Arduino y Processing,
pueden trabajar en forma conjunta por medio del puerto USB.
Figura1.7. Se observa una señal cuadrada originada por reloj de 1Hz, vista en
la plataforma Processing.
Vista Grafica de 2 señales analógicas.
Posteriormente, se realizo otra prueba empleando un potenciómetro para variar la
señal de entrada a la tarjeta Arduino junto con la señal del reloj. Esto con el fin de
realizar una referencia comparativa de la señal obtenida del Cardioritmómetro con
la del reloj. Ayudo también para finalizar la tabulación de la pantalla en Processing.
29
Figura1.8.Se observan dos señales analógicas a dos diferentes tensiones.
Una de ellas es una señal de reloj, y la siguiente es proporcionada por un
potenciómetro para variar la tensión.
Figura 1.9. Dos señales analógicas, además del código empleado en
Processing y Arduino.
30
VI. En esta parte del proyecto. Se apoyo en la elaboración del Cardioritmometro.
Entre algunas de las actividades que se realizo, fueron las pruebas: del sensor de
presión, en el sistema Arduino, de la adquisición de datos porProcessing y se
calibraron las tarjetas, en la tensión requerida
para obtener un buen
funcionamiento de las mismas. Dentro de la presentación y ensamble del
prototipo, se recurrió a la utilización de la fresadora. Con fin de realizar los
maquinados necesarios para la colocación del Display.
VII. Se llevo a cabo un análisis del sensor de presión (MPX5050).
El sensor de presión utilizado en el circuito nos entrega una lectura de 0 a
50 kPa (0 a 7.25 psi) ó 0.2 a 4.7 V Output.
De acuerdo a la hoja de datos del sensor, la configuración utilizada por el
MPX5050 fue la siguiente:
1 Vout
2 Gnd
3 VS
4 N/C
5 N/C
6 N/C
Sensor de presión MPX5050.
El sensor es un integrado de silicio, es un sensor de presión on-chip señal
condicionada, contemplada por temperatura y calibrado.
El transductor de la serie MPX5050/MPXV5050, el sensor está construido
de un material resistible para una amplia gama de aplicaciones, pero en particular
los que utilizan un microcontrolador o microprocesador con entradas analógicas o
digitales.
Este transductor patentado, único elemento combina avanzadas técnicas de micro
fabricación, la metalización de película delgada, y el procesamiento bipolar
proporciona una señal precisa, de alto nivel de salida analógica que es
proporcional a la presión aplicada.
31
Características del sensor MPX5050.
Capacidad del sensor MPX5050 es de 85 grados.
El sensor es Ideal para sistemas de microprocesadores o basados
en microcontroladores.
Temperatura compensada Más de -40 ° grados a 125 ° C grados.
El sensor está formado por silicio Medidor de tensiones.
El sensor es de material duradero. • Fácil de usar la opción Portador
de chip.
Características mecánicas del sensor MPX5050.
En la tabla se muestran las características técnicas del sensor MXP5050.
Figura2. Sensor MPX5050
En la tabla se muestran las características de funcionamiento.
Figura 2.1. Características del funcionamiento sensor MPX5050.
32
VIII.Se analizó el circuito delCardioritmometro, con el fin de encontrar en qué
punto del circuito podíamos obtener una lectura del sensor de modo de ver el
pulso cardiaco en Processing.
Figura 2.2.En la figura se muestra el diagrama eléctrico de la tarjeta del
prototipo Cardioritmometro.
Puntas de prueba
Figura 2.3.La figura se observa la parte de la señal del sensor de presión, de
la cual se tomaron dos puntos del LM358(señal y tierra) que se utilizaron
para obtener la lectura del sensor y poder observarla gráficamente en la
pantalla de Processing.
33
Al finalizar el prototipo y apoyándonos con el trabajo previamente realizado
en Arduino y Processing. Se presento la necesidad de generar una mejor
apreciación en las lecturas, de manera que se opto por realizar una tabulación en
Processing. La cual estaba en función de tensión y tiempo. Cada línea en el eje de
las Y equivale a ½ volt, y en el eje X cada línea equivale ½ segundos.
Posteriormente se realizaron pruebas en las distintas etapas que acurren al operar
el Cardioritmometro.
En cuando está inactivo el Cardioritmometro, gráficamente nos entrega una
lectura de 3 volts.
Figura 2.4. Modo inactivo del Cardioritmómetro
En cuanto la lectura al inflar el brazal arroja una lectura de 3 ½ volts.
Figura2.5. Activación del motor para el Inflado del brazal.
34
Al comenzar a probar el Cardioritmómetro, obtenernos la visualización los pulsos
cardiacos en el monitor.
Figura 2.6. Lectura de Pulsos cardiacos
La última prueba que se realiza es en el momento cuando el brazal desfoga.
Figura 2.7. Desfogue de la válvula.
35
IV. RESULTADOS OBTENIDOS
Los resultados dentro de fase del Cardioritmometro fue satisfactorio, ya que
habiendo muchos contratiempos en la elaboración del prototipo y el desarrollo del
mismo, se cumplió con el objetivo de crear un aparato eficiente y validado para su
comercialización, el cual nos proporciona mediciones ambulatorias de la presión
cardiaca.
Dentro la parte del monitoreo, de igual forma se obtuvieron buenos resultados. Ya
que al analizar la tarjeta del circuito, se obtuvo la punta de prueba necesaria para
sacar la señal del sensor. Además con ayuda de la familiarización y programación
en Processing y Arduino se creó un código que nos da muestra de forma grafica
los pulsos obtenidos en la fase de análisis del Cardioritmometro.
XI. ANÁLISIS DE RIESGO
Dentro del proyecto se presentaron varias limitaciones o posibles barreras que
impidieron que fuera más rápida la elaboración del proyecto. La barrera que más
se nos presento fue el tiempo, ya que dentro de la elaboración del prototipo se
presentaron contratiempos en la compra de material, pruebas y arreglos
realizados en las tarjetas por fallas técnicas, además de varias modificaciones en
el código del PIC.
En la programación, se perdió tiempo en la familiarización del Processing y
Arduino, En la compra de la tarjeta Arduino, en la escritura del código utilizado
para obtener el monitoreo de la señal.
También, en la manufactura del prototipo comercial se perdió tiempo al hacer los
cortes en la caja para el montaje del Display, los botones, el apagador y el
adaptador de la fuente.
36
XII. CONCLUSIONES
Dentro de la culminación de la cuarta fase del proyecto del Cardioritmómetro es
importante recalcar la finalización del prototipo de este aparato, que será una
herramienta significativamente importante para la detección de males cardiacos
dentro de la medicina actual. También el poder observar gráficamente lo obtenido
del prototipo en la pantalla de una laptop, con la ayuda del Arduino, es una buena
herramienta para el análisis de lo obtenido y leído obtenido por el prototipo del
Cardioritmómetro.
XIII. RECOMENDACIONES (personal)
Es importante realizar un plan de trabajo que especifique las metas a
realizar durante el tiempo del proyecto pues es indispensable para poder
administrar las actividades a realizar y considerar las obstrucciones.
Dentro de la programación de la plataforma de Processing es importante
consultar a un experto en dicha plataforma pues dentro de la página de
Processing no especifican algunas funciones que se podrían utilizar.
XIV. REFERENCIAS BIBLIOGRÁFICAS
“Fundamentación Medica”. Fundamentación teórica, Archivo “Crd3a fase.pdf”.
“Arduino mega2560”. http://arduino.cc/
“Processing (Gráficos por computadora)”.http://processing.org/
37
Descargar