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