You are on page 1of 84

INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGÍA

TÍTULO DEL TRABAJO:


Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales

INFORME TÉCNICO DE LA OPCIÓN CURRICULAR EN LA MODALIDAD DE:


PROYECTO DE INVESTIGACIÓN

Para obtener el titulo de Ingeniero Biomédico

PRESENTA:
Bedolla Pallares Alejandro
Sánchez Mora Leticia

DIRECTOR INTERNO: M.en C. Rigoberto Garibay Sánchez

México, D. F. Mayo 2008


DISEÑO Y CONSTRUCCIÓN DE UN SISTEMA DE MONITOREO
PARA SATURACIÓN DE OXÍGENO POR MEDIOS DIGITALES
Bedolla Pallares Alejandro, Sánchez Mora Leticia.
Dr. Jorge Isaac Chairez Oria.* Tel. (55) 14019307. email: jchairez@ctrl.cinvesta.mx.
Palabras clave: Saturación de Oxigeno, Oxímetro, Pletismografía, MSP430FG437IPN, Pre-diagnóstico.
INTRODUCCIÓN: El oxímetro de pulso es utilizado en Programación y Diseño de pantallas de interfase
el área médica para la medición de dos parámetros gráfica para el desplegado de la señal de
importantes: el porcentaje de Saturación de Oxígeno saturación de oxígeno y diseño de la base de datos
(SaO2) y frecuencia cardiaca en pulsaciones por minuto en MATLAB. A través del editor gráfico de MATLAB
(ppm). La SaO2, expresa la cantidad de programamos las pantallas para hacer agradable el
oxihemoglobina que es quien transporta el oxígeno en ambiente de trabajo del usuario. La pantalla principal
sangre hacia los tejidos. muestra el porcentaje de SaO2, la frecuencia cardiaca,
La medición de la Saturación de Oxigeno es de forma el pre-diagnóstico, los botones para la gráfica
indirecta y no invasiva mediante un sensor, el cual pletismografica y para ingresar a la base de datos y
contienen dos emisores a dos longitudes de onda buscar datos del paciente.
diferentes y un receptor, obteniendo dicha medición en Descripción del sistema difuso. El pre-diagnóstico se
base a espectrofotometría. El sensor óptico realizó mediante un esquema que describe el estado
determinado la absorción de la sangre a dos normal o los trastornos respiratorios del paciente en
longitudes: esto es a 660nm donde la onda es base al porcentaje de SaO2.
dependiente de la saturación de oxihemoglobina, y a CONCLUSIONES Y PERSPECTIVAS.Se configuró en
994nm donde teóricamente la absorción no varía con la el MSP las diferentes etapas de procesamiento
SaO2. Esto es debido a que la hemoglobina como sus analógica y digital de las señales a adquirir por medio
derivados son compuestos con características de de este microcontrolador. Se diseñó de un sistema
absorción específicas a diferentes longitudes de onda, difuso que realizará un prediagnóstico del estado de
lo cual se emplea en su identificación y cuantificación. salud del paciente de acuerdo a la descripción que se
Las medidas cuantitativas en espectrofotometría se muestra en la metodología. Se logró la interfaz gráfica
basan en las leyes de absorción de Beer-Lambert. como software del proyecto donde llama a cada sub-
METODOLOGÍA: 1) Revisión Bibliográfica, la pantalla correspondiente a las diferentes opciones que
recopilación de información es necesaria para obtener presenta nuestra pantalla principal. Se obtuvo el enlace
las bases teóricas del proyecto. 2) La adquisición de de la base de datos (diseñada en Microsoft Access)
habilidades para programación en el MSP430. 3) El con Matlab para acceder a esta desde una plataforma
procesamiento de señales eléctricas obtenidas agradable de trabajo. La innovación tecnológica nos
mediante la electrónica. 4) El diseño del esquema de llevó a mejorar el desempeño en equipos portátiles de
hardware alterno al dispositivo microcontrolador es monitoreo de saturación de oxígeno, ya que el
decir el sensado de las señales mediante dispositivos consumo reducido de corriente del microcontrolador
electrónicos para obtener información y procesarla de prolonga la vida útil de la pila.
forma digital. 5) Diseño del esquema en pseudo-código AGRADECIMIENTOS. Agradecemos el gran apoyo
del programa para el microcontrolador del MSP430. 6) recibido de parte de nuestro asesor M.C. Rigoberto
Programación del algoritmo de cálculo de la saturación Garibay y del Profesor Victor Pascual por su
de oxígeno en el MSP430. 7) Diseño de la interfase por asesoramiento en el proyecto y al profesor Jorge Isaac
puerto serial o USB para el equipo de cómputo. 8) Chairez Oria por el apoyo económico y el tiempo para
Programación y Diseño de pantallas e interfase gráfica darnos las asesorías para el manejo del MSP.
para el desplegado de la señal de saturación de BIBLIOGRAFÍA.
oxígeno. 9) La programación y diseño de la base de 1) Deitel H.M., Deitel P.J. Deitel, Como Programar en
datos para resguardo de la información obtenida para C++, 2ª Edición, Editorial Prentice Hall, México 1990
cada paciente. 10) Hacer la descripción del sistema 2) Stein J.H., 1992, Enermedades Pulmonares, pp 563-
difuso en Matlab necesario para el prediagnóstico de 573, Tomo 1, Medicina Interna, 3ª Edición, Editorial
trastornos respiratorios. Por último realizar las pruebas Salvat, México
correspondientes. REFERENCIAS DE INTERNET.
RESULTADOSY DISCUSIÓN: Diseño de la interfase 1)Sola A., Chow L. y Rogido M., Oximetría de pulso en
por puerto serial para el equipo de cómputo. Es la la asistencia neonatal en 2005. Revisión de los
intercomunicación de la PC y el microcontrolador conocimientos actuales, 2005,
MSP340 para transmitir y/o recibir información del http://209.85.173.104/search?q=cache:1F0RalOt0lQJ:w
oxímetro de pulso a la PC por medio del ww.premat
MSP430FG437IPN, se utilizó el puerto serial. Cabe uros.cl/webagosto05/enfermerianeonatal/oximetriapuls
mencionar que el MSP trabaja con niveles de voltaje o/oximetriapulso.htm+Los+coeficientes+de+extinci%C3
TTL o menores y el puerto serie de la computadora %B3n+de+las+cuatro+especies+de+hemoglobina.&hl=
trabaja con niveles de voltaje de acuerdo al protocolo es&ct=clnk&cd=5&gl=mx.
RS232, por lo que utilizamos el C.I. MAX232A.
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

Agradecimientos de Leticia Sánchez Mora.

Agradezco primeramente a Dios por la oportunidad que me concede de culminar una


etapa más en mi vida, por que a lo largo de esta carrera su bendición y respaldo fueron
conmigo.

Agradezco a mi Papá Guadalupe por todo el apoyo económico y moral que me brindo
durante mis estudios.

Agradezco a mi Mamá Catalina por que durante este tiempo sus oraciones, su apoyo y
comprensión no me faltaron. Por aquellos consejos que en forma oportuna tuvo a bien
darme.

Agradezco a mis hermanos, a mi cuñada Martha, a mi novio Marcos y a mis sobrinos por
el entusiasmo que me transmitieron en las etapas difíciles de mi carrera, por que siempre
estuvieron conmigo.

Agradezco a mis profesores, compañeros y amigos por el conocimiento transmitido y


por el apoyo brindado momentos difíciles de la carrera.

GRACIAS POR CONFIAR EN MÍ.

5
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

ÍNDICE GENERAL
Pág.

RESUMEN DE TRABAJO.................................................................................................. 7
JUSTIFICACIÓN................................................................................................................ 9
APORTACIONES DE TESIS ........................................................................................... 11
CONTENIDO ................................................................................................................... 12
OBJETIVOS .................................................................................................................... 13
INTRODUCCIÓN ............................................................................................................. 14
LIMITACIONES. .............................................................................................................. 16

CAPITULO 1

1 GENERALIDADES ....................................................................................................... 17
1.1 PRINCIPIOS DE LA OXIMETRÍA DE PULSO ....................................................... 17
1.2 FISIOLOGIA........................................................................................................... 24
1.3 MICROCONTROLADOR MSP430 ......................................................................... 26
1.4 PROGRAMACIÓN EN C ........................................................................................ 30
1.5 LÓGICA DIFUSA: .................................................................................................. 33
1.6 EL PUERTO SERIE RS-232C ............................................................................... 38

CAPITULO 2

METODOLOGÍA .............................................................................................................. 44

CAPITULO 3

RESULTADOS ................................................................................................................ 59
CONCLUSIONES ............................................................................................................ 70
BIBLIOGRAFÍA ................................................................................................................ 71
ANEXOS.............................................................................................................................72

6
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

RESUMEN DE TRABAJO

Los grandes avances de la tecnología en la ingeniería electrónica y digital permite una


mayor capacidad para el cuidado y medición de las funciones vitales, una de las
posibilidades de cumplir con esta tarea es contar con un monitoreo completo y eficiente,
en la actualidad, el oxímetro de pulso es una modalidad de monitoreo indispensable, es
un recurso que permite la identificación y corrección tempranas de episodios de
desaturación o hipoxemia inminente ante la presencia de problemas respiratorios y/o un
desequilibrio acido-base; por tal motivo se desarrolló un Oxímetro de pulso con tecnología
MSP, que además de entregar un reporte tanto gráfico como numérico de la Saturación
de Oxigeno (SpO2), entrega un prediagnóstico del estado del paciente el cual esta
basado en un sistema difuso y cuenta con un software, esto es, una serie de programas
que proporciona una interfaz de usuario con la PC para llevar un control del estado clínico
del paciente (historial clínica, estudios clínicos, gráficas de saturación y una base de
datos) con el propósito de llegar a ser una herramienta indispensable en el área de la
salud; por lo que en el presente trabajo se describe el diseño y la construcción de un
Oxímetro de pulso para la monitorización de SpO2.

Para desarrollar el software del prediagnóstico se emplearon técnicas de control difuso al


analizar la gráfica de la SpO2, es decir la relación del porcentaje de saturación (% SaO2),
la presión parcial del Oxigeno (PO2) y las patologías a las que conlleva una alteración de
estos parámetros dando un prediagnóstico con cierto grado de presición del estado del
paciente al personal médico. Lo antes mencionado se basa en el estudio acerca de la
afinidad oxigeno-hemoglobina para formar la oxihemoglobina, que es quien transporta el
oxígeno en sangre hacia los tejidos, si dicha combinación no es la adecuada se
presentan una serie de patologías que se manifiestan primeramente en alteraciones de la
ventilación pulmonar, cabe mencionar que el contenido del oxígeno en la sangre depende
de la PO2 capilar pulmonar producido por el intercambio gaseoso, la cantidad de
hemoglobina presente y el declive de la curva de disociación oxígeno-hemoglobina.

Para la obtención de la gráfica de la señal de la SpO2 se utilizó un sensor el cual consta


de dos emisores a dos longitudes de onda diferentes, roja e infrarroja, y un receptor el
cual por principios de espectrofotometría determina la absorción de la sangre a una cierta

7
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

longitud de onda en donde es dependiente de la saturación de oxihemoglobina, (660nm) y


a la otra longitud de onda (940nm) donde teóricamente la absorción no varía con la SpO2.

Al comunicar la circuitería por medio del puerto serial del ordenador y hacer un
procesamiento de la señal mediante software para desplegar los datos en las pantallas de
interfaz se procede a diseñar la interfaz con la base de datos gracias a los comandos que
cuenta Matlab. De esta forma se crea una base de datos anticipadamente en Microsoft
Access que cuente con los mismos campos que desee adquirir a través de mi pantalla de
interfaz gráfico con el usuario. Así podemos tener control de la base de datos desde la
pantalla de comandos y el editor de texto de Matlab.

El despliegue de la gráfica de SpO2, fue a través de un programa ejecutable que nos


permite obtener un vector de puntos con la finalidad de que el médico tratante lleve un
control de las señales monitoreadas a través de un equipo de cómputo portátil para cada
paciente.

En cuanto a la construcción del equipo se implementó la tecnología del microcontrolador


MSP430, por ser un microprocesador con un conjunto reducido de instrucciones para
programarlo, además de otras las ventajas que proporciona entre ellas se encuentran sus
diferentes modos de operación, es decir, el bajo consumo de corriente con el que puede
trabajar el cual se puede seleccionar a través de la programación permitiendo así
construir un equipo portátil de batería de larga duración. La programación para el MSP430
es a través del lenguaje C y ensamblador.

8
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

JUSTIFICACIÓN

El uso de la tecnología digital en el campo médico ha revolucionado la manera que


entendemos y aceptamos la práctica de la medicina en nuestros días. Esto se ha
traducido en mejores métodos de diagnóstico y terapia para aumentar o recuperar la
calidad de vida de los pacientes que asisten a un consultorio u hospital. Estas tecnologías
se han caracterizado por la aparición de instrumentos y dispositivos que han llevado al
médico a poder entender los detalles de muchos procesos salud-enfermedad que hasta
hace algunos años eran imposibles de acceder en cualquier manera.

Por otro lado, esta nueva tecnología no solo ha impactado en el desarrollo de equipos con
grandes estructuras o que crean una nueva línea de trabajo en la medicina, sino que
también ha proporcionado una nueva manera de tratar dispositivos bien conocidos de
monitoreo pero proveyendo al médico de más herramientas para resolver el mismo
problema; uno de estos equipos tiene que ver con el monitoreo continuo de la SpO2, mejor
conocido como oxímetro de pulso. Su utilidad radica en detectar un caso de déficit de
oxígeno en la sangre debido a que una persona no puede sobrevivir más de 2 minutos sin
el suministro de oxígeno al cerebro. Los valores típicos de SpO2 se encuentran entre 95%
y 97% con un rango de variación del 2%. Valores por debajo del 90% se asocian con
situaciones patológicas e insuficiencia respiratoria.

Por lo anterior, se ha dispuesto crear un oxímetro basado en la tecnología digital provista


por el microcontrolador MSP430 el cual no solo entregue la medición de la SpO2 a través
de una pantalla LCD sino que a través de un software nos permita llevar un registro de las
señales monitoreadas a través de un equipo de cómputo portátil de cada paciente,
estimando un prediagnóstico del estado del mismo y que además tenga la posibilidad de
llevar un registro que indique el nombre del paciente en una base de datos junto con su
respectiva historia clínica. Con lo antes mencionado el médico tratante podrá llevar un
control adecuado del paciente e ir actualizando los datos clínicos dado la respuesta del
paciente al tratamiento.

Cabe mencionar que la demanda en el mercado de dispositivos basados en batería o de


equipos de bajo consumo de energía es cada vez mayor por lo que en este proyecto se

9
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

han aprovechado las características del MSP430, este microcontrolador maneja cinco
modos de operación, de los cuales uno es activo (AM), y 4 de bajo consumo (LPMn). La
diferencia entre cada uno de los modos es la cantidad de periféricos que quedan
apagados, y el tiempo que le lleva al microcontrolador retomar su operación normal, que
de todas formas no excede los 6 µs y la corriente que consume llega a ser de 100 nA en
modo de espera.

Otra razón por la cual se desarrolló este proyecto es porque en el mercado no se cuenta
con un tipo de dispositivo que permita dar un pre-diagnóstico en base a la curva de
pletismografía.

10
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

APORTACIONES DE TESIS

La oximetría es un método simple, continuo, no invasivo, para vigilar de manera periférica


el porcentaje de hemoglobina (Hb) saturada con oxígeno (O2), por el paso de longitudes
de onda específicas a través de la sangre (SpO2) y de esta manera medir el grado de
oxigenación de la sangre del paciente. El avance del conocimiento médico, los avances
tecnológicos y la incorporación paulatina de estos avances en los establecimientos de
salud nos conlleva a realizar mejoras en los equipos médicos que son un apoyo para la
monitorización hemodinámica del paciente, por lo que se obtuvo el diseño y construcción
de un sistema de monitoreo para la SpO2 por medios digitales, implementando
tecnologías como son los microcontroladores MSP’s y la programación en C,
ensamblador y Matlab. La integración de estos elementos resulta en una herramienta de
diagnóstico y prediagnóstico en clínicas y hospitales de forma continua y económica.

La demanda en el mercado de dispositivos basados en batería o de consumos de energía


eficientes es cada vez mayor de acuerdo a las patologías detectadas con estos, así la
introducción al mercado se da eficazmente si este prediagnostica un mayor número de
padecimientos o parámetros que permitan el diagnóstico oportuno de otros trastornos
fisiológicos. Dar un prediagnóstico con este equipo portátil permite tener una visión de la
condición respiratoria del paciente para toda aquella persona que no pueda interpretar de
forma inmediata una curva de SpO2 o un parámetro numérico de la misma gracias a la
lógica difusa programada con este equipo, basada en los valores normales de SpO2, la
lógica difusa nos dice si el paciente se encuentra en una condición de hipoxia, hipo o
hiperventilación o una condición normal.

Sólo con un clic selecciona la adquisición de la gráfica de pletismografía con la cual un


médico experimentado interpreta la condición del paciente en base a la SpO2, sístole y
diástole cardiaca desde las pantallas de interfaz.

En un equipo es portátil es requisito indispensable contar con una batería de larga


duración, pero esto no es necesario si el dispositivo digital de adquisición consume tan
poca corriente que una pila de 3V lo puede alimentar por largo tiempo como lo hace el
MSP430.

11
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

CONTENIDO

La estructura del trabajo propuesto, consta de 3 partes o capítulos importantes.

La primera consiste de la recopilación y análisis del material bibliográfico, con el cual se


pretende presentar un panorama global de principios básicos de los cuales se partieron
para el desarrollo del proyecto, entre los cuales se encuentran el principio de
funcionamiento del oxímetro de pulso, la bases sobre fisiopatología para obtener la
fusificación que reportará el prediagnóstico, el conocimiento de los diferentes registros
que componen al MSP430 para su programación en el lenguaje C para obtener el
sensado de la SpO2 y el estudio de la paquetería de Matlab para obtener las pantallas de
interfaz gráfico y la base de datos.

La segunda se enfoca al diseño del esquema de hardware y del software, la circuiteria en


conjunto con el microcontrolador se enlazarán para la obtención de la señal de la SpO2 a
través del sensor lo que permite la transferencia de datos desde este hasta el
microcontrolador, la programación del algoritmo para el cálculo del la SpO2 y el diseño del
software para la obtención de las distintas pantalla con las cuales el usuario podrá
interactuar de forma agradable. Después, el diseño de la interfase por puerto serial para
el equipo de cómputo. Un puerto serial es una interfaz de comunicaciones entre
ordenadores y periféricos en donde la información es transmitida bit a bit enviando un solo
bit a la vez. Así mismo la programación y diseño de la interfase gráfica para el desplegado
de la señal de SpO2. Este software entrega las gráficas de los datos adquiridos del
puerto serial.

Por último los resultados obtenidos para cada una de las secciones descritas en la
metodología, lo que incluye los códigos de ejecución y las pruebas obtenidas al enlazar la
circuiteria y el software diseñado. Al final se comenta las conclusiones detalladas sobre el
trabajo desarrollado.

12
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

OBJETIVOS

Objetivo General:

 Construir un sistema de monitoreo de saturación de oxígeno por medios digitales


utilizando los principios de sistemas dedicados y procesamiento digital de señales.

Objetivos Particulares:

 Diseñar el modelo de hardware para construir un sistema de monitoreo de saturación


de oxígeno.

 Programar el algoritmo de cálculo de la cantidad de oxígeno disuelto de sangre.

 Construir un sistema de interfase para un equipo de cómputo para monitorear la


saturación de oxígeno.

 Diseñar una base de datos que registre los datos obtenidos por el modelo de
monitoreo de saturación de oxígeno.

 Descripción del sistema difuso para el prediagnóstico de trastornos respiratorios.

13
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

INTRODUCCIÓN

El oxímetro de pulso es utilizado en el área médica para la medición de dos parámetros


importantes: el porcentaje de SaO2 y frecuencia cardiaca en pulsaciones por minuto
(ppm). La SpO2, es quien expresa la cantidad de oxihemoglobina como se había
comentado, que es quien transporta el oxígeno en sangre hacia los tejidos. El sistema de
suministro de O2 en el cuerpo lo componen los pulmones y el aparato circulatorio. El
suministro de oxígeno a un tejido particular depende de la cantidad de O2 que entra a los
pulmones, lo adecuado del intercambio gaseoso pulmonar, el riego sanguíneo del tejido y
la capacidad de la sangre para transportar el O2. El flujo sanguíneo depende del grado de
constricción del lecho vascular en el tejido y del gasto cardiaco. La concentración de
oxígeno en la sangre esta determinada por la cantidad de O2 disuelto, la cifra de
hemoglobina de la sangre y la afinidad de la hemoglobina por el O2.

Al medir la saturación de oxígeno estamos midiendo la cantidad de oxígeno que se


encuentra combinado con la hemoglobina, cada molécula de hemoglobina tiene cuatro
enlaces disponibles a realizar con el oxígeno, por lo que el porcentaje de estos enlaces
disponibles y los que verdaderamente se encuentran combinados con moléculas de
oxígeno reportan el tanto por ciento de SaO2. Es por eso que esta medida es una medida
relativa y no absoluta ya que no indica la cantidad de oxígeno en sangre que llega a los
tejidos, sino, que relación hay entre la cantidad de hemoglobina presente y la cantidad de
hemoglobina combinada con oxigeno (oxihemoglobina).

La utilidad del Oxímetro de Pulso radica en las áreas de unidades de cuidados intensivos
(UCI's), en el áreas de urgencias, medicina interna, unidad de cuidados intensivos
neonatales y en las salas de cirugía dado que, como ya mencionamos, el cerebro no
puede estar más de 2 minutos sin recibir oxígeno.

La medición de la Saturación de Oxigeno es de forma indirecta y no invasiva mediante un


sensor, el cual contienen dos emisores a dos longitudes de onda diferentes y un
receptor, como se muestra en la figura 0, obteniendo dicha medición en base a
espectrofotometría. El sensor óptico está determinado porque la absorción de la sangre a
una cierta longitud de onda en donde es dependiente de la saturación de oxihemoglobina,
(660nm) y a la otra longitud de onda donde teóricamente la absorción no varía con la

14
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

SaO2 si no con la cantidad de sangre varía con el pulso. Esto es debido a que la
hemoglobina como sus derivados son compuestos con características de absorción
específicas a diferentes longitudes de onda, lo cual se emplea en su identificación y
cuantificación. Las medidas cuantitativas en espectrofotometría se basan en las leyes de
absorción.

Figura 1. Estructura interna del sensor

15
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.

LIMITACIONES.

El funcionamiento de los oxímetros de pulso depende de una pulsación arterial


perceptible. Una disminución significativa de la pulsación vascular periférica puede
producir una señal demasiado pequeña como para ser procesada fiablemente por el
oxímetro. La pulsación periférica puede ser pequeña en casos de hipotensión (baja
presión del pulso), vasoconstricción, hipotermia (temperatura corporal baja), bypass
cardiopulmonar, o infarto cardiaco. La vasoconstricción puede parar completamente el
flujo del dedo haciendo que el tejido consuma lentamente el O2 en el lecho arterial, sin
eliminar la señal pulsátil en las arteriolas, y de alguna manera provoca la pulsación de la
sangre venosa. En estos casos los pulsioxímetros pueden infravalorar la saturación. En
pacientes con bajas concentraciones de hemoglobina (anemias), para saturaciones bajas,
los oxímetros de pulso dan valores de SpO2 mucho mas bajos.

De todas las dishemoglobinas (variedad de hemoglobinas combinadas con determinados


gases) que pueden estar presentes, la carboxihemoglobina es la más peligrosa y común,
ya que provoca alteraciones en las medidas de los oxímetros de pulso. La
carboxihemoglobina se origina como resultado de la inhalación de inclusive pequeñas
cantidades de monóxido de carbono, por lo que no es adecuado utilizar los oxímetros de
pulso en pacientes que probablemente hayan inhalado este gas. La carboxihemoglobina
(HbCO) absorbe muy poco en la zona infrarroja (940 nm), mientras que en la zona del rojo
(660 nm) absorbe tanto como la oxihemoglobina (hemoglobina oxigenada, HbO2), y por
ello la HbCO se comporta como la HbO2 a 660 nm (940nm).

16
GENERALIDADES: Principios de Oximetría de Pulso

1 GENERALIDADES

1.1 PRINCIPIOS DE LA OXIMETRÍA DE PULSO

El oxímetro de pulso se basa en dos principios físicos:


1. Primero, la absorción de la luz por la hemoglobina oxigenada que es diferente de la
absorción por la hemoglobina reducida y esto puede ser diferenciado por un oxímetro
con dos longitudes de onda diferentes (espectrofotometría).
2. El volumen de la sangre arterial en el tejido (y, por lo tanto, la absorción de luz por
parte de dicha sangre) cambia durante el pulso (pletismografía).

Un pulsioxímetro determina la SaO2 mediante el paso de luz roja e infrarroja hacia un


lecho arteriolar y la medición de los cambios en la absorción de luz durante el ciclo
pulsátil. Debido a que la oxihemoglobina y la desoxihemoglobina difieren en la absorción
de luz, la cantidad de luz roja e infrarroja que absorbe la sangre se relaciona con la
saturación de oxígeno de la hemoglobina. Para identificar la SaO2 de la Hb arterial, se
utiliza la naturaleza pulsátil del flujo arterial. Durante la sístole, un nuevo pulso de sangre
arterial ingresa al lecho vascular, y el volumen de sangre y la absorción de luz aumentan.
Durante la diástole, el volumen de sangre y la absorción de luz alcanzan su punto más
bajo. El pulsioxímetro basa sus mediciones de SaO2 en la diferencia entre la absorción
máxima y mínima (mediciones durante la sístole y la diástole). Al hacerlo, se concentra en
la absorción de luz por parte de la sangre arterial pulsátil, eliminando los efectos de los
absorbentes que no son pulsátiles, como el tejido, los huesos y la sangre venosa. Ver
figura 2.

Figura 2. Movimiento estático y dinámico del lecho ungueal.

17
GENERALIDADES: Principios de Oximetría de Pulso

En estos dos principios se ha apoyado la técnica moderna para obtener el oxímetro de


pulso actual. Como se mencionó anteriormente la reacción del O2 con la Hb aumenta
enormemente la transmisión de la luz roja a través de soluciones conteniendo Hb y por
tanto, de la sangre, mientras que a nivel del infrarrojo el efecto del O2 es opuesto, es
decir, hace la sangre más opaca. Con las otras longitudes de onda no hay cambios en la
absorción de la luz.

Espectrofotometría.

Para vigilar de manera periférica el porcentaje de Hb saturada con O2, por el paso de
longitudes de onda específicas a través de la sangre (SaO2). Se basa en la ley de
Lambert-Beer-Bouguer.

Ley de Beer-Lambert.
El principio en el que se funda la determinación de la SaO2, con el oxímetro de pulso, es
la ley de Beer. Todas las técnicas de oximetría se basan en análisis espectrofotométricos
que miden las porciones de luz transmitida y absorbida por la Hb, combinado con el
principio de la pletismografía.

Las sustancias químicas son capaces de absorber luz (o radiación electromagnética) de


determinadas longitudes de onda. Cuando un haz de luz monocromática (de una sola
longitud de onda) incide sobre una solución de una sustancia que se absorbe, la
intensidad de la luz transmitida (la que atraviesa la solución) es menor que la incidente.
Así pues, la transmitancia (T) de una solución se define como la fracción incidente de luz
transmitida por la solución.
Se expresa en porcentaje:

I
T= Ec. 1
Io
Donde:

I = Intensidad de luz después del paso a través de una muestra (transmitida).


Io = Intensidad de luz inicial (incidente).

18
GENERALIDADES: Principios de Oximetría de Pulso

La absorbancia es el logaritmo decimal del inverso de la transmitancia. La ecuación es la


siguiente:
A = − log10 * T
 I  Ec. 2
A = − log10 *  
 Io 

La fracción de luz absorbida en una longitud de onda específica, se denomina coeficiente


de extinción (E). La absorbancia de una sustancia en solución depende del espesor de la
muestra, de la concentración del compuesto absorbente y de la naturaleza química de
éste. Esto se expresa mediante la ley de Lambert-Beer,

Ley de Beer: La absorbancia de una radiación monocromática es directamente


proporcional al espesor de la radiación a través de la solución y a la concentración de la
especie absorbente que se encuentra en solución:

A = a *b*c Ec. 3
Donde:
A = absorbancia
a = Absorción
b = Distancia a la cual la luz es transmitida a través la solución (longitud de la trayectoria)
c = Concentración del soluto

Esta ley se aplica a sustancias que absorben energía radiante y relaciona la


concentración de un soluto en solución con la intensidad de la luz transmitida a través de
la solución.

El coeficiente de extinción (É) cuantifica la tendencia de un soluto dado a absorber la luz y


es una constante conocida para un soluto específico a una longitud de onda dada. Si un
soluto cuyo É es conocida, se encuentra disuelto en una cubeta de dimensiones
conocidas, su concentración podrá ser calculada con la ecuación 4 midiendo las
intensidades de la luz incidental y la transmitida. En un sistema de un solo soluto, la
absorción "a" es simplemente el producto de la longitud de trayectoria (D) por la
concentración (C) y por el coeficiente de extinción (É).

19
GENERALIDADES: Principios de Oximetría de Pulso

a = D×C ×É Ec.4

Si existen múltiples solutos, "a" es la suma de expresiones similares para cada soluto, por
ejemplo:
a = D * (C1 * É 1 + C 2 * É 2 ) Ec. 5

En el caso de dos solutos. Los coeficientes de extinción de las cuatro especies de Hb en


los rangos de longitud de onda del rojo y del infrarrojo se pueden observar en la figura 3.

Figura 3. Los coeficientes de extinción de las cuatro especies de hemoglobina.

Hemos dicho que el oxímetro de pulso mide la luz roja e infrarroja transmitida a través del
lecho tisular, usando efectivamente el dedo como una cubeta que contiene Hb. Además
de la Hb, hay otros numerosos absorbentes de la luz a lo largo de su trayectoria, tales
como la piel, tejidos blandos y los capilares sanguíneos.

Para entender como el oxímetro de pulso resuelve este problema podemos observar la
figura 4.

20
GENERALIDADES: Principios de Oximetría de Pulso

Figura 4. Atenuación de los medios absorbentes en el tejido.

La figura 4 ilustra esquemáticamente la serie de absorbentes en una muestra de tejido


vivo. En la parte superior vemos el componente pulsátil, que corresponde a la pulsación
de la sangre arterial. La base representa la absorción del lecho tisular, incluidos la sangre
venosa, capilares sanguíneos y la sangre arterial no pulsátil. La expansión pulsátil del
lecho arteriolar produce un aumento de la longitud de trayectoria, lo que redunda en un
aumento de la absorción.

Todos los oxímetros de pulso asumen que la única absorción pulsátil entre la fuente de
luz y el fotodetector es la de la sangre arterial. Para determinar la saturación funcional, los
oxímetros de pulso corrientes utilizan dos longitudes de onda:
600nm(rojo)
940nm( IR)
Para determinar la relativa contribución de la oxihemoglobina y de la desoxihemoglobina.
Las mediciones entregan las absorciones máximas y mínimas a 660 y a 940nm.
Obteniéndose así cuatro valores separadamente. La relación entre las absorciones
determina la SaO2 y se calcula de la siguiente forma:

(absorción máxima a 660/absorción mínima a 660)


R=
(absorción máxima a 940/absorción mínima a 940) Ec. 6

21
GENERALIDADES: Principios de Oximetría de Pulso

Saturación de la hemoglobina y transporte de oxígeno.

El oxímetro de pulso entrega una estimación no invasiva de la saturación de la Hb,


variable que está directamente relacionada al contenido de O2 de la sangre arterial. Dos
definiciones de la saturación de la Hb son usadas corrientemente.

La antigua definición, conocida como saturación funcional o SaO2, relaciona las


concentraciones de oxihemoglobina (O2Hb) y hemoglobina desoxigenada (habitualmente
llamada "reducida") (RHb) de la manera siguiente:

O2 Hb
SaO2 = * 100% Ec. 7
O2 Hb + RHb

Tipos adicionales de Hb están a menudo presentes en la sangre del adulto, la


carboxihemoglobina (COHb) y la metahemoglobina (MetHb). Esto nos lleva a la definición
de saturación fraccional de la Hb, u O2Hb%, como la relación de la oxihemoglobina con la
concentración total de todas las hemoglobinas presentes:

O2 Hb
O2 Hb = * 100% Ec. 8
O2 Hb + RHb + COHb + MetHb

La saturación fraccional de la Hb es llamada también fracción de oxihemoglobina u


oxihemoglobina porcentual. La saturación fraccional de la hemoglobina arterial se
relaciona con el contenido arterial de O2, CaO2, mediante la siguiente fórmula:

  O Hb% 
CaO2 = 1.37 ∗ Hb ∗  2  + (0.003 ∗ PaO2 ) Ec. 9
  100 
Donde:
Hb es la concentración total de la hemoglobina en g/dl
PaO2 es presión arterial de oxígeno en mm Hg.
El primer término en esta ecuación representa el O2 unido a la Hb, el cual bajo
condiciones normales (Hb = 15 g/dl; O2Hb% = 98) es igual a 20 ml de oxígeno por 100 ml

22
GENERALIDADES: Principios de Oximetría de Pulso

de sangre. El segundo término representa el Oxígeno disuelto en el plasma, que es igual


a 0.3 ml/100 ml, para una PaO2 de 100 mm Hg.

El O2 disuelto en el plasma normalmente no juega ningún rol en el transporte de O2. Esta


ecuación muestra que el contenido arterial de oxígeno es directamente proporcional a la
hemoglobina total (Hb) y a la saturación fraccional (O2Hb). La O2Hb% y la PaO2 se
relacionan mediante la curva de disociación de la oxihemoglobina (figura 5).

Figura 5. Curva de disociación de la oxihemoglobina.

La pletismografía.

La pletismografía incluye aquellas técnicas que miden cambios de volumen como


consecuencia de variaciones del flujo sanguíneo.

Principios Físicos: Detecta el flujo de sangre cutáneo y traduce sus pulsaciones. Consiste
en la emisión de luz infrarroja desde un diodo emisor y un fotodetector adyacente que
recibe la luz infrarroja reflejada. A medida que aumenta el flujo de sangre cutáneo
aumenta la cantidad de luz reflejada. De esta manera obtenemos una medida cualitativa
del flujo sanguíneo cutáneo. Se utiliza preferentemente en la medición de la presión
digital.

23
GENERALIDADES: Fisiología

1.2 FISIOLOGIA

La dinámica de la reacción de la Hb con el O2 la hace un transportador de O2


particularmente adecuado. La Hb es una proteína constituída por 4 subunidades cada una
con una molécula hem unida a una cadena polipeptídica. El hem es un complejo
compuesto de una porfirina y un átomo de íon ferroso. Cada uno de los 4 átomos de
hierro puede combinar, reversiblemente, una molécula de O2. El hierro permanece en
estado ferroso, de manera que la reacción es una oxigenación:

Hb 4 + O 2 ⇔ Hb 4 O 2
Hb 4 O 2 + O 2 ⇔ Hb 4 O 4
Hb 4 O 4 + O 2 ⇔ Hb 4 O 6
Hb 4 O 6 + O 2 ⇔ Hb 4 O 8

La reacción es rápida, requiriendo menos de 0.01s. La desoxigenación (reducción de la


Hb4O8 también es muy rápida.
La estructura cuaternaria de la Hb determina su afinidad por el O2 cambiando la relación
de sus 4 cadenas peptídicas componentes, la molécula fomenta la captación de O2 o su
suministro. El movimiento de las cadenas esta asociado con un cambio en la posición de
las moléculas hem, lo cual supone un estado de relajamiento o estado R, que favorece el
enlace del O2 , o un estado tenso o estado T que disminuye el enlace O2.

Cuando la Hb capta una pequena cantidad de O2 se favorece el estado R y se facilita una


captación adicional de O2. Esta es la razón por la cual la curva de la disociación de la
oxihemoglibina, curva que relaciona el porcentaje de SaO2 en la Hb y por lo tanto su
poder de transportación con la PaO2 tiene una forma sigmoide característica (figura 6). La
combinación del primer hem en la molécula de Hb con el oxígeno incrementa la afinidad
del segundo hem por el O2 y la oxigencaión del segundo aumenta la afinidad del tercer
hem etc., de manera que la afinidad de la Hb para la cuarta molécula de O2 es muchas
veces mayor que la primera. Cuando la Hb capta O2 las dos cadenas β se acercan;
cuando el camino es cedido se apartan. Este desplazamiento es esencial para que ocurra
el cambio en la afinidad por el O2.

24
GENERALIDADES: Fisiología

Cuando la sangre se equilibra con 100% de O2 la Hb se satura 100%. Caundo esta


completamente saturada cada gramo de Hb contiene 1.34ml de O2. En la sangre normal
la concentración de Hb es cerca de 15mg/100ml, por lo tanto 100ml de sangre contiene
2.1ml e O2 unido a la Hb cuando esta se encuentra saturada al 100%.

In vivo la Hb esta cerca del 97.5% saturada como O2 al final de los capilares pulmonares
(PaO2 = 97mmHg). Debido a uma ligera mezcla com sangre venosa que no pasa por los
pulmones la Hb solo se encuentra 97% saturada em la sangre arterial general. Por lo
tanto la sangre arterial contiene un total de caso 19.8ml de O2 por 100ml.

En base curva de disociación de la hemoglobina (figura6). Podemos observar que


cuando la Pa O2 baja de 60 mmHg la cantidad contenida por la sangre se reduce
considerablemente, sin embargo, cuando la presión parcial está por encima de dicha cifra
sólo se consigue pequeños incrementos del contenido de O2. Como medida de esta
afinidad se utiliza la denominada P50 o cifra de Pa O2 necesaria para saturar la
hemoglobina en un 50%. Si la curva se desplaza hacia la derecha, es decir, si la P50
aumenta, la afinidad de la hemoglobina para el oxígeno disminuye. El fenómeno contrario
se produce si la curva de disociación se desplaza hacia la izquierda (P50 disminuye). La
disminución del pH plasmático o el aumento de la PaCO2, de la concentración
intraeritrocitaria de 2,3 difosfoglicerato (2,3-DPG) o de la temperatura provocan un
incremento de la P50, con lo que disminuye la afinidad de la hemoglobina por el oxígeno y
se facilita su liberación a los tejidos. La alcalosis, hipocapnia, hipotermia y/o disminución
del 2,3-DPG tiene un efecto contrario.

Figura 6. Curva de Disociación Hb/O2

25
GENERALIDADES: Descripción del MSP 430

1.3 MICROCONTROLADOR MSP430

Al diseñar sistemas basados en un microcontrolador habitualmente es necesario


interconectar diversos componentes, por lo que es necesario conocer las técnicas
utilizadas, los protocolos y estándares utilizados por los distintos fabricantes y por las
instituciones que rigen a la industria.

Los MSP son microcontroladores de 16 bits de muy bajo consumo de energía (desde
pocos µA hasta algunos mA), dependiendo del modo de bajo consumo que el diseñador
elija, además cuentan con conversores análogo a digital y comparadores para señales
analógicas. El trabajo con este microcontrolador se facilita por su capacidad de utilizar un
emulador en línea con una interfaz JTAG, esto permite descargar código a su memoria
Flash, leer y escribir el estado de la memoria RAM y sus registros, y ejecutar el código
paso a paso desde una interfaz gráfica. Otra ventaja de este microcontrolador es que
debido a su amplia utilización existen variadas herramientas de software para trabajar con
él, algunas incluso de libre distribución como el GNU C Compiler, IAR.

La demanda en el mercado de dispositivos basados en batería o de consumos de energía


eficientes es cada vez mayor. La selección de un dispositivo adecuado para este tipo de
aplicaciones puede ser la diferencia entre un producto exitoso o uno muy costoso de
introducir y mantener.

La arquitectura del MSP corresponde a un modelo Von-Neumann en el que tanto la


memoria RAM y ROM comparten un solo mapa de memoria de hasta 64KB. Posee un
sistema de reloj particularmente flexible que posee 3 osciladores independientes,
pensados para ahorrar energía. Además incorpora una serie de periféricos mapeados a
memoria, tales como: 3 temporizadores, 8 canales de conversores análogo a digital, dos
puertos seriales sincrónicos o asincrónicos de comunicación, un módulo de multiplicación
por hardware, un comparador de niveles analógicos, un módulo controlador de memoria
Flash que permite que el dispositivo se reprograme a si mismo, o guarde información en
un espacio de memoria no volátil.

26
GENERALIDADES: Descripción del MSP 430

Las interrupciones en el microcontrolador pueden ser de tres tipos, de reset,


enmascarables y no enmascarables. La diferencia entre estas últimas es que las
enmascarables se pueden habilitar o deshabilitar individualmente o mediante el flag de
habilitación general de interrupciones, en tanto las no enmascarables sólo se pueden
habilitar o deshabilitar individualmente, el flag de habilitación general no afecta su
comportamiento.

Los puertos de entrada y salida digital.


El microcontrolador MSP430F437 tiene 6 puertos de 8 bits de entrada y salida, cuyos
terminales se encuentran multiplexados con otros periféricos como se puede ver en la
Figura 7.

Figura 7. Designación de pines del microcontrolador.

Cada bit del puerto se puede manejar en forma independiente. El control y acceso a los
puertos se realiza mediante 4 registros por cada uno de los n puertos, los que almacenan
los datos de entrada (PnIN), de salida (PnOUT), la dirección de entrada o salida (PnDIR) y
la función como puerto de entrada y salida o como el periférico correspondiente (PnSEL).
Cuando un bit se ocupa para controlar un periférico no se configura automáticamente
como de entrada o salida, sino que es trabajo del programador seleccionar el sentido
correcto.

27
GENERALIDADES: Descripción del MSP 430

El módulo de reloj.

El módulo de reloj del microcontrolador tiene tres fuentes de señal de reloj para alimentar
otras tres señales que sincronizan la CPU y los periféricos. Las fuentes de reloj son las
siguientes:

• Un reloj que puede funcionar con cristales o resonadores cerámicos de baja frecuencia o
de alta frecuencia (LFXTCLK). El modo se selecciona por software.
• Un reloj de alta frecuencia que ocupa cristales o resonadores cerámicos de alta
frecuencia (XT2CLK).
• Un oscilador interno de características RC controlado digitalmente mediante registros de
control (DCOCLK).

Con estas fuentes el módulo de reloj genera las siguientes tres señales:

• Reloj maestro (MCLK): que alimenta la CPU y el sistema y se puede generar a partir de
la señal de baja frecuencia, la de alta frecuencia o el oscilador digital; que pueden
dividirse por un factor de 1, 2, 4 u 8.

• Reloj de sub sistema (SMCLK): que alimenta a los periféricos seleccionados por
software. Se puede generar a partir de la señal de baja frecuencia, la de alta frecuencia o
el oscilador digital; que pueden dividirse por un factor de 1, 2, 4 u 8.

• Reloj auxiliar (ACLK): que alimenta a los periféricos seleccionados por software. Se
genera a partir de la señal de baja frecuencia dividida por un factor de 1, 2, 4 u 8.

Esta flexibilidad en el sistema de reloj está especialmente indicada para ahorrar energía,
ya que se puede ocupar un cristal de baja frecuencia, por ejemplo 32 KHz, para los
periféricos, mientras la CPU se opera mediante el oscilador interno a una frecuencia que
puede ir de los 800 KHz a los 8 MHz, dependiendo de la configuración y características
del dispositivo en particular. Además para contrarrestar el efecto de corrimiento de
frecuencia del oscilador interno se puede corregir periódicamente con la señal más
estable proveniente del oscilador de baja frecuencia controlado por cristal.

28
GENERALIDADES: Descripción del MSP 430

Modos de bajo consumo.


La familia de microcontroladores MSP430 tiene 5 modos de operación, uno activo (AM), y
4 de bajo consumo (LPMn) que se seleccionan escribiendo ciertos bits del registro de
estado (SR). La diferencia entre cada uno de los modos es la cantidad de periféricos que
quedan apagados, y el tiempo que le lleva al microcontrolador retomar su operación
normal, que de todas formas no excede los 6 µs.

En cuanto al consumo el modo 3 en el que se detiene la CPU pero se mantiene en


función un reloj de baja frecuencia para mantener un reloj de tiempo real, el consumo es
de alrededor de 2 µA. En el modo 4, en que se detiene toda actividad pero se mantiene el
estado de la memoria RAM el consumo es de tan sólo 0,2 µA. Para obtener el mejor
rendimiento en sistemas portátiles el microcontrolador es llevado al modo 3 y mediante
interrupciones generadas por uno de los temporizadores se activa momentáneamente la
CPU para realizar las operaciones del programa, luego se vuelve a llevar al modo de bajo
consumo.

Los temporizadores.
Existen tres temporizadores disponibles en el microcontrolador MSP430F437, uno que
realiza la función de perro guardián (watchdog). Un temporizador/contador que cuenta con
3 registros de captura o comparación y otro que cuenta con 7 registros de captura o
comparación.

Conversores analógicos a digital.


El microcontrolador contiene un comparador de voltaje analógico. Una de las
características distintivas de la familia de microcontroladores es la incorporación de
conversores análogo a digital. El MSP430F349 tiene un conversor de 12 bits con una tasa
de muestreo de casi 200 mil muestras por segundo, el inicio de la conversión se puede
realizar por software o por señales provenientes de los temporizadores; el término de la
conversión puede generar interrupciones para alertar al procesador; la referencia positiva
se puede seleccionar entre una señal externa o interna fija de 1.5 V ó 2.5 V; la referencia
negativa se puede seleccionar entre una señal externa o la tensión de tierra negativa.

Para la programación de los diferentes registros con los que cuenta el MSP430 y que son
útiles para el proyecto se realizó en lenguaje C.

29
GENERALIDADES: Lenguaje C

1.4 PROGRAMACIÓN EN C

C es un lenguaje de programación de propósito general. Todo puede programarse con el,


desde sistemas operativos y compiladores hasta aplicaciones de bases de datos y
procesadores de texto, etc. Es cierto que un listado completo de un programa en C para
gestión de bases de datos (por poner un ejemplo) puede requerir varios miles de líneas de
código, y que su equivalente en Visual Basic sólo requiere unos pocos cientos. Pero
detrás de cada línea de estos compiladores de alto nivel hay cientos de líneas de código
en C, la mayor parte de estos compiladores están respaldados por enormes librerías
escritas en C.

Una de las propiedades de C es la reutilización del código en forma de librerías de


usuario. Después de un tiempo trabajando, todos los programadores desarrollan sus
propias librerías para aquellas cosas que hacen frecuentemente. Además, los programas
escritos en C tienen otras ventajas sobre el resto. Con la excepción del ensamblador,
generan los programas más compactos y rápidos. El código es transportable, es decir, un
programa ANSI en C podrá ejecutarse en cualquier máquina y bajo cualquier sistema
operativo. Y si es necesario, proporcionan un acceso a bajo nivel de hardware sólo
igualado por el ensamblador.

Otra ventaja importante, C tiene más de 30 años de vida y no parece que su uso se
debilite demasiado. No se trata de un lenguaje de moda, y probablemente le quede aún
mucha vida por delante. Sólo hay que pensar que sistemas operativos como Linux, Unix o
incluso Windows se escriben casi por completo en C. Por último, existen varios
compiladores de C gratuitos, o bajo la norma GNU, así como cientos de librerías de todo
propósito.

Fichero fuente y programa o código fuente:


El programa C se escribe con la ayuda de un editor de textos del mismo modo que
cualquier texto corriente. Los ficheros que contienen programas en C en forma de texto se
conocen como ficheros fuente, y el texto del programa que contiene se conoce como
programa fuente.

30
GENERALIDADES: Lenguaje C

Ficheros objeto, código objeto y compiladores:


Los programas fuente no pueden ejecutarse. Son ficheros de texto, pensados para que
los comprendan los seres humanos, pero incomprensibles para los ordenadores. Para
conseguir un programa ejecutable hay que seguir algunos pasos. El primero es compilar o
traducir el programa fuente a su código objeto equivalente. Este es el trabajo que hacen
los compiladores de C. Consiste en obtener un fichero equivalente a nuestro programa
fuente comprensible para el ordenador, este fichero se conoce como fichero objeto, y su
contenido como código objeto. Los compiladores son programas que leen un fichero de
texto que contiene el programa fuente y generan un fichero que contiene el código objeto.
El código objeto no tiene ningún significado para los seres humanos, al menos no
directamente. Además es diferente para cada ordenador y para cada sistema operativo.
Por lo tanto existen diferentes compiladores para diferentes sistemas operativos y para
cada tipo de ordenador.

Librerías:
En los compiladores de C se incluyen ciertos ficheros llamados librerías. Las librerías
contienen el código objeto de muchos programas que permiten hacer cosas comunes,
como leer el teclado, escribir en la pantalla, manejar números, realizar funciones
matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que hacen, hay
librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos,
etc. Hay un conjunto de librerías muy especiales, que se incluyen con todos los
compiladores de C. Son las librerías ANSI o estándar y no estándar, y dentro de estas las
hay públicas y comerciales.

Ficheros ejecutables y enlazadores:


Cuando obtenemos el fichero objeto, aún no hemos terminado el proceso. El fichero
objeto, a pesar de ser comprensible para el ordenador, no puede ser ejecutado. Hay
varias razones para eso:

1. Nuestros programas usaran, en general, funciones que estarán incluidas en


librerías externas, ya sean ANSI o no. Es necesario combinar nuestro fichero
objeto con esas librerías para obtener un ejecutable.

31
GENERALIDADES: Lenguaje C

2. Muy a menudo, nuestros programas estarán compuestos por varios ficheros


fuente, y de cada uno de ellos se obtendrá un fichero objeto. Es necesario unir
todos los ficheros objeto, más las librerías en un único fichero ejecutable.

3. Hay que dar ciertas instrucciones al ordenador para que cargue en memoria el
programa y los datos, y para que organice la memoria de modo que se disponga
de una pila de tamaño adecuado, etc. La pila es una zona de memoria que se usa
para que el programa intercambie datos con otros programas o con otras partes
del propio programa. Existe un programa que hace todas estas cosas, se trata del
"link", o enlazador. El enlazador toma todos los ficheros objeto que componen
nuestro programa, los combina con los ficheros de librería que sea necesario y
crea un fichero ejecutable. Una vez terminada la fase de enlazado, ya podremos
ejecutar nuestro programa.

32
GENERALIDADES: Lógica Difusa

1.5 LÓGICA DIFUSA:

La lógica difusa se aplica a conceptos que pueden tener un valor cualquiera de veracidad
dentro de un conjunto de valores que oscilan entre dos extremos, la verdad absoluta y la
falsedad total. La lógica difusa permite tratar información imprecisa como la estatura
media o temperatura baja en términos de conjuntos borrosos que se combinan en reglas
para definir acciones como son si es muy frío, calienta mucho. De esta manera el control
basado en lógica difusa combina variables de entrada, definidas en términos de conjuntos
difusos por medio de grupos de reglas que producen uno o varios valores de salida.

La Lógica Difusa actualmente está relacionada y fundamentada en la teoría de los


Conjuntos Difusos. Según esta teoría, el grado de pertenencia de un elemento a un
conjunto va a venir determinado por una función de pertenencia, que puede tomar todos
los valores reales comprendidos en el intervalo [0,1]. La representación de la función de
pertenencia de un elemento a un Conjunto Difuso se representa según la figura 8.

Figura 8. Ejemplo de una función de pertenencia a un Conjunto Difuso.

Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir
una "función (matemática) de implicación" distinta en cada caso para representar a la
implicación.

La última característica de los sistemas lógicos es el procedimiento de razonamiento, que


permite inferir resultados lógicos a partir de una serie de antecedentes. Generalmente, el
razonamiento lógico se basa en silogismos, en los que los antecedentes son por un lado

33
GENERALIDADES: Lógica Difusa

las proposiciones condicionales (nuestras reglas), y las observaciones presentes por otro
(serán las premisas de cada regla).

Los esquemas de razonamiento utilizados son "esquemas de razonamiento aproximado",


que intentan reproducir los esquemas mentales del cerebro humano en el proceso de
razonamiento. Estos esquemas consistirán en una generalización de los esquemas
básicos de inferencia en Lógica Binaria (silogismo clásico).

Tan importante será la selección de un esquema de razonamiento como su


representación material, ya que el objetivo final es poder desarrollar un procedimiento
analítico concreto para el diseño de controladores difusos y la toma de decisiones en
general.

Una vez que dispongamos de representaciones analíticas de cada uno de los elementos
lógicos que acabamos de enumerar, estaremos en disposición de desarrollar formalmente
un controlador "heurístico" que nos permita inferir el control adecuado de un determinado
proceso en función de un conjunto de reglas "lingüísticas", definidas de antemano tras la
observación de la salida y normas de funcionamiento de éste.

Conjuntos Difusos: Lógica Difusa.

Los conjuntos clásicos se definen mediante un predicado que da lugar a una clara división
del Universo de Discurso X en los valores "Verdadero" y "Falso". Sin embargo, el
razonamiento humano utiliza frecuentemente predicados que no se pueden reducir a este
tipo de división: son los denominados predicados vagos.

Hay que considerar que la pertenencia o no pertenencia de un elemento x al conjunto A


no es absoluta sino gradual. En definitiva, definiremos A como un Conjunto Difuso. Su
función de pertenencia ya no adoptará valores en el conjunto discreto {0,1} (lógica
booleana), sino en el intervalo cerrado [0,1]. En conclusión podemos observar que los
Conjuntos Difusos son una generalización de los conjuntos clásicos.

34
GENERALIDADES: Lógica Difusa

Mediante notación matemática se define un Conjunto Difuso B como:

B = { ( x , m B( x ) ) / x S X }
m B: X® [0,1]

La función de pertenencia se establece de una manera arbitraria, lo cual es uno de los


aspectos más flexibles de los Conjuntos Difusos.

Para operar en la práctica con los Conjuntos Difusos se suelen emplear funciones de
pertenencia del tipo representado en la figura 9:

Figura 9. Tipos de funciones de pertenencia.

En la figura anterior se pueden observar dos tipos de funciones de pertenencia de todos


los posibles: el tipo triangular, que puede ser un caso concreto del trapezoidal en el que
los dos valores centrales son iguales, y el de forma de campana gaussiana.
Tómese ahora el Universo de Discurso de la edad. El Conjunto Difuso "Joven" representa
el grado de pertenencia respecto al parámetro juventud que tendrían los individuos de
cada edad. Es decir, el conjunto expresa la posibilidad de que un individuo sea
considerado joven. Un Conjunto Difuso podría ser considerado como una distribución de
posibilidad, que es diferente a una distribución de probabilidad.

Se puede observar que los Conjuntos Difusos de la figura 10 se superponen, por lo que
un individuo xl podría tener distintos grados de pertenencia en dos conjuntos al mismo
tiempo: "Joven" y "Maduro". Esto indica que posee cualidades asociadas con ambos
conjuntos. El grado de pertenencia de x en A, como ya se ha señalado anteriormente, se

35
GENERALIDADES: Lógica Difusa

representa por m A(x). El conjunto difuso A es la unión de los grados de pertenencia para
todos los puntos en el universo de discurso X, que también puede expresarse como:

µ A (χ )
A=∫
χ χ
µ A (χ )
Bajo la notación de los conjuntos difusos, es un elemento del conjunto A. La
χ
µ A (χ )
operación òx representa la unión de los elementos difusos . Los universos de
χ
discurso con elementos discretos utilizan los símbolos "+" y "S " para representar la
operación unión.

Figura 10. Ejemplo de Conjuntos Difusos en el universo de la edad.

Tómese un individuo x cuya edad sea de 20 años. Como se puede observar en la figura
10, pertenece al conjunto difuso "Joven" y al conjunto difuso "Maduro". Se puede observar
que posee un grado de pertenencia µ A (χ ) de 0.6 para el conjunto difuso "Joven" y un
grado de 0.4 para el conjunto difuso "Maduro"; también posee un grado de 0 para "Viejo".
De este ejemplo se puede deducir que un elemento puede pertenecer a varios conjuntos
difusos a la vez aunque con distinto grado. Así, nuestro individuo x tiene un grado de
pertenencia mayor al conjunto "Joven " que al conjunto "Maduro"(0.6 > 0.4), pero no se
puede decir, tratándose de conjuntos difusos, que x es joven o que x es maduro de
manera rotunda.

36
GENERALIDADES: Lógica Difusa

Variables Lingüísticas

Una Variable Lingüística es aquella variable cuyos valores son palabras o sentencias que
van a enmarcarse en un lenguaje predeterminado. Para estas variables lingüísticas se
utilizará un nombre y un valor lingüístico sobre un universo de discurso. Además, podrán
dar lugar a sentencias generadas por reglas sintácticas, a las que se les podrá dar un
significado mediante distintas reglas semánticas.

Los conjuntos difusos pueden utilizarse para representar expresiones tales como:

o x es PEQUEÑO.
o La velocidad es RÁPIDA.
o El ganso es CLARO.

Las expresiones anteriores pueden dar lugar a expresiones lingüísticas más complejas
como:
o x no es PEQUEÑO.
o La velocidad es RÁPIDA pero no muy RÁPIDA.
o El ganso es CLARO y muy ALEGRE.

Así, se pueden ir complicando las expresiones. Por ejemplo, la expresión "x no es


PEQUEÑO" puede calcularse a partir de la original calculando el complemento de la
siguiente forma:
µ_no_PEQUEÑA (x) = 1- µ_PEQUEÑO (x)

Tratando de esta forma los distintos modificadores lingüísticos (muy, poco, rápido, lento...)
pueden ir calculándose todas las expresiones anteriores. Para nuestro caso la lógica
difusa nos permite obtener un prediagnóstico del paciente.

37
GENERALIDADES: Puerto Serie RS-232

1.6 EL PUERTO SERIE RS-232C

Los datos lógicos en los ordenadores están representados por bits (binary digits). El bit es
una construcción intelectual, representada en el ordenador por un voltaje determinado.
Cuando los bits deben enviarse dentro del propio ordenador o hacia el exterior, se
transmiten a través de cables como cualquier voltaje. Los bits se agrupan en unidades
determinadas que proporcionan un esquema lógico mayor. Por ejemplo, un byte (octeto)
está formado por una serie de ocho bits. Estos ocho bits pueden ser unos o ceros
indistintamente, son 28=256 combinaciones posibles.

En 1969 la EIA (Asociación de Industrias Electrónicas), conjuntamente con los


Laboratorios Bell y los fabricantes de equipos de comunicaciones, formularon el EIA RS-
232-C. El propósito inicial fue la conexión entre un Equipo Terminal de Datos (DTE, Data
Terminal Equipment) y un Equipo de Comunicación de Datos (DCE, Data
Communications Equipment), empleando un intercambio de datos binarios en serie
[Campbell 1988].

Actualmente, la conexión RS-232-C es el medio principal mediante el cual se puede


conectar equipos auxiliares a los ordenadores personales, a pesar de que este modelo
fue proyectado para resolver únicamente el problema de conexión entre módems (DCE) y
ordenadores (DTE). La mayoría de dificultades con este modelo provienen de su
utilización para tareas diferentes para las que fue diseñado.

El documento que establecía el estándar constaba de cuatro secciones:

• Características de la señal eléctrica. Definición de los voltajes que representan los


ceros y unos lógicos.

• Características mecánicas de la conexión. Establece que el DTE dispondrá de un


conector macho y el DCE un conector hembra. También se especifican la
asignación de números a las patillas. El tipo y las medidas del conector son
establecidas por la organización internacional de estándares (ISO). Los más
utilizados son los de 9 pines (DB-9) y los de 25 (DB-25).

38
GENERALIDADES: Puerto Serie RS-232

• Descripción funcional de los circuitos de intercambio. En esta sección del


documento se define y da nombre a las señales que se utilizarán.

• Interfaces para configuraciones seleccionadas de sistemas de comunicación. Son


ejemplos de tipos comunes de conexión entre ordenador y módem.

Los tres circuitos principales utilizados para la comunicación son los siguientes:

• Línea 2 (TXD). Salida de datos del DTE.


• Línea 3 (RXD). Entrada de datos al DTE.
• Línea 7 (común). Circuito común, referencia para determinar la polaridad y voltaje
de las otras líneas.

El término salida se refiere a la transferencia de datos desde un ordenador a un


dispositivo externo. Recíprocamente, la transferencia de datos desde un dispositivo
externo al ordenador se conoce como entrada. Estos procesos reciben el nombre
genérico de entrada/salida (E/S). Hay que considerar el sentido físico correspondiente a
los conceptos de entrada y salida. La salida de datos se realiza cambiando la diferencia
de potencial entre la línea 2 y la 7.

Si disponemos de dos cables conectados respectivamente a las patillas 2 y 7 del


conector, esta diferencia de potencial se transmitirá a largo de ellos, ya que se trata de
materiales conductores. La entrada de datos corresponde al proceso inverso, generación
por una fuente externa de una serie de diferencias de potencial y detección de dichas
diferencias entre las patillas 3 y 7 del conector.

Los voltajes correspondientes a los niveles lógicos existentes en la conexión RS232 se


esquematizan en la figura 11.

39
GENERALIDADES: Puerto Serie RS-232

Fig. 11. Definición de los voltajes de salida y entrada que representan los
niveles lógicos en el RS-232-C.

El puerto serie RS-232C, presente en todos los ordenadores actuales, es la forma mas
comúnmente usada para realizar transmisiones de datos entre ordenadores.

El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar


la versión de 9 pines DB-9 (figura 12), mas barato e incluso mas extendido para cierto tipo
de periféricos (como el ratón serie del PC). En cualquier caso, los PCs no suelen emplear
más de 9 pines en el conector DB-25.

Las señales con las que trabaja este puerto serie son digitales, de +12V (0 lógico) y -12V
(1 lógico), para la entrada y salida de datos, y a la inversa en las señales de control. El
estado de reposo en la entrada y salida de datos es -12V.

Dependiendo de la velocidad de transmisión empleada, es posible tener cables de hasta


15 metros.

Cada pin puede ser de entrada o de salida, teniendo una función específica cada uno de
ellos. Las más importantes son:

40
GENERALIDADES: Puerto Serie RS-232

Pin Función

TXD (Transmitir Datos)


RXD (Recibir Datos)

DTR (Terminal de Datos Listo)

DSR (Equipo de Datos Listo)


RTS (Solicitud de Envío)

CTS (Libre para Envío)

DCD (Detección de Portadora)

Las señales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son de
entrada. La masa de referencia para todas las señales es SG (Tierra de Señal).
Finalmente, existen otras señales como RI (Indicador de Llamada), y otras poco comunes
que no se explican en este documento por rebasar el alcance del mismo.

Numero de Pin Señal Descripción E/S


En DB-25 En DB-9

1 1 - Masa chasis -

2 3 TxD Transmit Data S

3 2 RxD Receive Data E

4 7 RTS Request To Send S

5 8 CTS Clear To Send E

6 6 DSR Data Set Ready E

7 5 SG Signal Ground -

8 1 CD/DCD (Data) Carrier Detect E

15 - TxC(*) Transmit Clock S

17 - RxC(*) Receive Clock E

20 4 DTR Data Terminal Ready S

22 9 RI Ring Indicator E

24 - RTxC(*) Transmit/Receive Clock S

(*) = Normalmente no conectados en el DB-25

41
GENERALIDADES: Puerto Serie RS-232

Conector DB 9

Figura 12. Conector DB 9

El puerto serie en el PC
El ordenador controla el puerto serie mediante un circuito integrado específico, llamado
UART (Transmisor-Receptor-Asíncrono Universal).

Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y líneas de
interrupción (IRQ). Mediante los puertos de E/S se pueden intercambiar datos, mientras
que las IRQ producen una interrupción para indicar a la CPU que ha ocurrido un evento
(por ejemplo, que ha llegado un dato, o que ha cambiado el estado de algunas señales de
entrada). La CPU debe responder a estas interrupciones lo mas rápido posible, para que
de tiempo a recoger el dato antes de que el siguiente lo sobrescriba.

El RS-232 puede transmitir los datos en grupos de 5, 6, 7 u 8 bits, a unas velocidades


determinadas (normalmente, 9600 bits por segundo o más). Después de la transmisión de
los datos, le sigue un bit opcional de paridad (indica si el número de bits transmitidos es
par o impar, para detectar fallos), y después 1 o 2 bits de Stop. Normalmente, el protocolo
utilizado ser 8N1 (que significa, 8 bits de datos, sin paridad y con 1 bit de Stop).

Una vez que ha comenzado la transmisión de un dato, los bits tienen que llegar uno
detrás de otro a una velocidad constante y en determinados instantes de tiempo. Por eso
se dice que el RS-232 es asíncrono por carácter y sincrono por bit. Los pines que portan
los datos son RXD y TXD. Las demás se encargan de otros trabajos: DTR indica que el
ordenador esta encendido, DSR que el aparato conectado a dicho puerto esta encendido,
RTS que el ordenador puede recibir datos (porque no esta ocupado), CTS que el aparato

42
GENERALIDADES: Puerto Serie RS-232

conectado puede recibir datos, y DCD detecta que existe una comunicación, presencia de
datos.

Tanto el aparato a conectar como el ordenador (o el programa terminal) tienen que usar el
mismo protocolo serie para comunicarse entre si. Puesto que el estándar RS-232 no
permite indicar en que modo se esta trabajando, es el usuario quien tiene que decidirlo y
configurar ambas partes. Como ya se ha visto, los parámetros que hay que configurar
son: protocolo serie (8N1), velocidad del puerto serie, y protocolo de control de flujo. Este
ultimo puede ser por hardware (el que ya hemos visto, el handshaking RTS/CTS) o bien
por software (XON/XOFF, el cual no es muy recomendable ya que no se pueden realizar
transferencias binarias). La velocidad del puerto serie no tiene por que ser la misma que
la de transmisión de los datos, de hecho debe ser superior. Por ejemplo, para
transmisiones de 1200 baudios es recomendable usar 9600, y para 9600 baudios se
pueden usar 38400 (o 19200).

43
METODOLOGÍA:

METODOLOGÍA

1. Revisión Bibliográfica.

La recopilación de información es necesaria para obtener las bases teóricas del proyecto
y poder llevar a cabo la interfaz gráfica mediante programación.
a) Conocer la fisiología de la saturación de oxigeno del organismo para
comprender la importancia de su monitorización.
b) Conoce la programación del microcontrolador MSP430 ya que a través de
el se realizará la interfaz gráfica.
c) Poseer conocimiento acerca de la programación en la que nos basaremos
para la obtención de datos y visualización gráfica de los mismos.

2. Adquisición de habilidades para programación en microcontroladores de 16


bits.

El procesamiento de señales eléctricas obtenidos mediante la electrónica, se utilizarán los


amplificadores operacionales internos al dispositivo (ya sea con las ganancias internas
programables o con el cálculo de ganancias externas al encapsulado) para obtener un
amplificador de instrumentación y así procesarlas en el convertidor analógico digital del
microcontrolador.

a) Introducción a los MSP430.


b) Arquitectura del MSP430: CPU, Modos de Operación, Mapas de memoria.
c) EWB(Embedded workbench): Creación de proyectos, Compilador y Linker.

Para el desarrollo de proyectos en IAR es necesario conocer los comandos utilizados en


Lenguaje C y también en lenguaje ensamblador, incluso es posible combinar ambos
lenguajes para mejorar la lógica de programación.

d) Periféricos: Oscilador y sistema de reloj, Brownout y reset, Watchdog timer, IO


Digitales, USART, Timer_A y ADC12.

44
METODOLOGÍA:

Configuración del Amplificador operacional (OA)

Para la configuración de los amplificadores del MSP430 se configuran como salida los bits
OA00, OA10, OA11 y con registro de Control del Amplificador OACTL0 de los bits 7 y 6 se
configura la Terminal inversora del amplificador y de los bits 4 y 5 se configura la terminal
no inversora. Finalmente con el bit OAPM se selecciona el slew rate para el opam.

Configuración del USART

Del registro USART el pin para la transferencia de datos se selecciona como el bit 4 del
puerto 2, una vez configurada la salida, se habilita el bit UTXE0 del registro ME1 para
permitir la transferencia de datos. Del registro de control UCTL0 el bit 4 (CHAR) se pone
a uno para seleccionar que nuestros datos sean de 8 bits. Se configura el ACKL como
fuente de reloj a través del bit 4 y 5 del registro UTCTL0.

Configuración del Convertidor Analógico Digital (ADC) del MSP

Se inicia habilitando la conversión del ADC (ADC12ON). Los registros de control del son
el ADC12CTL0 y ADC12CTL1 y se describe a continuación la configuración de cada bit:

ADC12CTL0

Por medio de primer registro se habilitan el ADC (ADC12ON), el bit de muestreo múltiple y
conversión (MSC), el bit generador de referencia (REFON) y la selección de un voltaje de
referencia de 2.5V (REF2_5V).

45
METODOLOGÍA:

ADC12CTL1

Por medio de este registro se habilita la fuente de señal de muestreo (SHP) que permite
obtener la señal a partir de la toma de muestras temporizador, el bit (SHS) selecciona
esta fuente y para este proyecto en específico se selecciono el TIMER A.

La configuración de los bits de los controles anteriores (recuadro gris) se modifican


cuando el bit 1 del registro de control cero (ENC) permite la habilitación de la conversión.

ADC12MCTL0

A través de este registro se configuró el bit INCHx que nos permite seleccionar el primer
canal de entrada (A1) por lo que el voltaje de referencia se configuró con el bit SRFEx
fijándolo con los valores de VR+=Vref y VR-=AVSS. El registro ADC12CTL3 habilitó el
canal A3 quedando el mismo voltaje de referencia que el canal A1, además en este
registro el bit 7 (EOS) nos indica el fin de la secuencia de conversión. Por último se
habilita ADC12SC para iniciar la adquisición.

Para trabajar en la conversión analógica digital se configuro del control de registro del
Timer A, el bit 8 y 9 para seleccionar como fuente de reloj al ACLK y fijar la frecuencia de
muestreo en 512 muestras por segundo.

e) Interfase de programación: JTAG


f) Dominar el uso de un simulador ensamblador y herramientas para la depuración
de programas.

46
METODOLOGÍA:

g) Utilizar las ventajas de una simulación para realizar la inspección de variables y


resultados.
h) Efectuar una traza de variables en otros procesos conocidos como práctica.
i) Realizar la depuración de programas escritos en C. Compilar y ejecutar programas
ensambladores paso a paso y con puntos de quiebre (breakpoints) visualizando
los cambios en la ventana de registros y en las zonas de memoria.

3. Diseño del esquema de hardware alterno al dispositivo microcontrolador.

Describir la forma en que se realizará el sensado de las señales mediante dispositivos


electrónicos para obtener información y procesarla de forma digital.
a) Selección de los dispositivos optoelectrónicos que trabajarán dentro de las
longitudes de onda que serán emitidas y absorbidas, tomando en
consideración que la potencia será suministrada por el puente H.

La señal de se la SaO2 se obtuvo de dos sensores uno para adulto y uno pediátrico, para
el tratamiento de la señal primero se realizó un análisis de la conexión del sensor (Nellcor)
para saber como se realiza la polarización del led rojo e infrarrojo, para ello se utilizó un
conector DB9 hembra que es compatible con el conector del sensor.

Fig. 14. Sensor para Oximetría


para paciente Adulto

Para lograr la polaridad de ambos LED´s se utilizo un puente H, el C.I. L298N, la interfaz
puente H es básicamente un sistema de conmutación controlado por dos señales
digitales; cuando el sistema detecta un 1 digital en una de sus dos entradas de control y
un cero en la otra, este conecta el sensor a la fuente de alimentación con determinada
polaridad, si la señal de control que estaba en 1 pasa a cero y la de cero a uno el puente

47
METODOLOGÍA:

H conecta la fuente al sensor con la polaridad invertida facilitando así la función del
sensor, en la figura 15 se presenta diagrama de la estructura interna del C.I. L298N
conectado con el Sensor.

Fig. 15. Muestra la estructura interna del puente H (L298N) conectado al sensor.

b) Estudio del bus de transferencia de datos desde el sensor hasta


microcontrolador.

La etapa de Filtrado que se encuentra entre el sensor y el microcontrolador, se realizó


utilizando dos circuitos: un filtro pasa Banda de Banda Angosta en cascada con una
configuración de un inversor de los amplificadores operacionales, para obtener un filtro
rechaza banda a 60Hz y así poder eliminar el ruido proveniente de las líneas de alta
potencia y el inherente a los componentes electrónicos, en la figura 16 se muestra la
conexión antes mencionada.

48
METODOLOGÍA:

Fig. 16. Conexión de AD620 con el Filtro a 60Hz

Datos para el diseño del filtro:


Frecuencia de Resonancia Fr= 60Hz
Factor de Calidad Q=2

Para el cálculo de los componentes se utilizaron las siguientes ecuaciones:

0.1595
Ancho de Banda: B= Ec. 10
RC
fr
Donde: B =
Q
fr 60
Por lo tanto el valor de B es B= = = 30
Q 2
Asignando el valor del capacitor 100nF podemos conocer el valor de la resistencia de la
ecuación 10. Despejando tenemos

0.1595 0.1595
R= = = 53.16 KΩ
BC 30 * 100nF

La frecuencia de resonancia que da determinada por Rr a través de la siguiente ecuación


R
Rr =
2Q 2 − 1

49
METODOLOGÍA:

Sustituyendo valores se tiene que:


R 53KΩ
Rr = 2
= = 7.57 KΩ
2Q − 1 (2 * 2 2 ) − 1
Y el valor de valor de la resistencia de retroalimentación (Rret) es dos veces el valos de R
tenemos:
Rret = 2 R = 2 * 53KΩ = 106 KΩ el valor comercial utilizado fue 100KΩ

Los valores de R y Rr se ajustaron con potenciómetro para poder obtener la frecuencia


resonante a 60Hz. La salida de este filtro se acolo a un inversor de ganancia unitaria para
obtener el rechaza banda a 60Hz.
c) Estudio del bus de transferencia de datos desde el microcontrolador hacia
la estación de trabajo, por medio del puerto serial, donde se realizará el
monitoreo.
d) Pruebas de conectividad y procesado.

4. Diseño del esquema en pseudo-código del programa para el


microcontrolador de 16 bits.

Este esquema se obtendrá mediante el estudio de la lógica de programación y diagramas


de flujo con los que observaremos cambios en los registros del microcontrolador al
procesar los datos obtenidos anteriormente.
a) Estructurar la diagramación en lenguaje ensamblador para el MSP430.
b) Utilizar las ventajas de una simulación para realizar la inspección de
variables y resultados.
c) Efectuar una traza de variables.
d) Realizar la depuración de programas escritos en C. Compilar y ejecutar
programas ensambladores paso a paso, visualizando los cambios en la
ventana de registros y en las zonas de memoria.

5. Programación del algoritmo de cálculo de la saturación de oxígeno en el


microcontrolador de 16 bits.

Dentro de la memoria ROM del controlador se grabará información necesaria para la


comparación y procesamiento de datos.

50
METODOLOGÍA:

a) Obtención bibliográfica o experimental de los valores que van a ser


introducidos en la tabla de memoria.
b) Desarrollar el algoritmo con el cuál se realizará el procesamiento de
información dentro del microcontrolador.
c) Adquisición de datos por los puertos de entrada del microcontrolador y
procesamiento mediante el algoritmo antes mencionado.

6. Diseño de la interfase por puerto serial para el equipo de cómputo.

Un puerto serie es una interfaz de comunicaciones entre ordenadores y periféricos en


donde la información es transmitida bit a bit enviando un solo bit a la vez, en contraste con
el puerto paralelo que envía varios bits a la vez. Como punto de entrada se utilizó el
puerto serie RS232, puesto que para la implementación de la adquisición de datos con
este dispositivo es necesario tener en cuenta un número de líneas menor y por tanto la
complejidad del circuito electrónico disminuye.

a) Conexión de los dispositivos y pruebas de comunicación.

En la intercomunicación de la PC con el microcontrolador MSP340 para transmitir y/o


recibir de la información, ya sea del oxímetro de pulso a la PC y veciversa, se utilizó el
puerto serie. Cabe mencionar que el MSP trabaja con niveles de voltaje TTL y el puerto
serie de la computadora trabaja con niveles de voltaje de acuerdo a la norma RS232, esto
es los niveles lógicos para RS232 los datos se transmiten con lógica negativa, es decir, un
voltaje positivo en la conexión representa un 0, mientras un voltaje negativo representa un
1. La definición lógica para las salidas un 0, es mantener una patilla de salida en un
voltaje entre +5 y +15 v. Similarmente para mantener un 1 garantizado debe estar entre –
5 v y –15v. La banda muerta entre +5 y –5 se conoce como la región de transición, donde
los niveles lógicos no están definidos. Con respecto a las definiciones lógicas para las
entradas el 0 lógico +15 v +3 v y un uno lógico el voltaje estará en -15 y -3V.

Para poder establecer dicha comunicación entre el puerto serie de una computadora se
utilizó el circuito integrado MAX232 que es capaz de convertir los niveles de voltaje de
RS232 a TTL para realizar una transmisión de datos (desde la computadora) y de TTL a
RS232 para realizar una recepción de datos (desde el microcontrolador) y sólo se

51
METODOLOGÍA:

necesita de cuatro capacitores electrolíticos y una fuente de alimentación de 5V. De


acuerdo a la figura 17.

Figura 17. Estructura interna del MAX232.

Internamente el MAX232 (IC1) tiene dos fuentes conmutadas, la primera de ellas en


conjunto con los capacitores electrolíticos C1 y C3 (según la imagen anterior) “adaptan” el
nivel de voltaje tomado de la alimentación de +5V a +10V, la segunda fuente conmutada y
los capacitores electrolíticos C2 y C4 invierten los niveles de voltaje para que se puedan
obtener -10V.

El circuito integrado MAX232 (IC1) (Figura 13) tiene dos terminales para conectar señales
con niveles de voltaje TTL que serán adaptadas en señales con niveles de voltaje RS232,
y otras dos terminales para conectar señales con niveles de voltaje RS232 que serán
adaptadas a señales con niveles lógicos TTL.

En el caso de la recepción de datos la señal con niveles de voltaje TTL, procedente del
MSP, entra por la terminal 11 del MAX232, en el MAX232 se adaptan los niveles de
voltaje de TTL a RS232 y la señal con niveles de voltaje RS232 sale por la terminal 14 del
MAX232, la cual se conecta a la terminal 2 del conector DB9 (Rx); en el caso de la
transmisión de datos, la señal de la terminal 3 del conector DB9 (Tx) con niveles de

52
METODOLOGÍA:

voltaje RS232 entra por la terminal 13 del MAX232, en el MAX232 se adaptan los niveles
de voltaje de RS232 a TTL y la señal con niveles de voltaje TTL sale por la terminal 12 del
MAX232, esta señal puede ser conectada a la terminal receptora de un microcontrolador
de acuerdo a la figura 18.

Figura 18. Conexión del MAX232.

La comunicación RS232 describe un método de comunicación donde la información se


envía bit a bit, en formato serie. La información debe ser descompuesta en palabras de
datos. La longitud de estas palabras es variable, en nuestro caso se configuró a 8 bits.

Para una transferencia adecuada, deben añadirse bits adicionales, para sincronización y
detección de errores. Es importante que tanto el transmisor como el receptor usen la
misma cantidad de bits, de otro modo los datos no serán debidamente interpretados.

Se debe proveer de una señal de clock, que indique la aparición de cada bit de datos. Los
bits de datos se envían a una frecuencia predeterminada y se seleccionó a 52 baudios.
Tanto el transmisor como el receptor deben estar programados para usar la misma
velocidad de transmisión.

53
METODOLOGÍA:

7. Programación y Diseño de pantallas e interfase gráfica para el desplegado de


la señal de saturación de oxígeno.

La graficación de las señales obtenidas mediante todo el proceso sucedido anteriormente


se llevará a cabo en Matlab, este software nos entrega las gráficas de los datos
adquiridos del puerto serial y una serie de datos que posteriormente pueden ser
almacenados para detectar anomalías.
a) Programación en Matlab de la interfaz del puerto serial para la adquisición
de datos.
b) Despliegue gráfico de resultados procesados y almacenamiento de datos.

Para el diseño de las pantallas se utilizó Matlab Guide es cual es un entorno de


programación visual que ofrece Matlab para poder realizar y ejecutar programas de
Simulación a medida de forma simple, tiene las características básicas de todos los
programas visuales como Visual Basic o Visual C++.

Desde la ventana de comando del Matlab se debe ejecutar el comando guide. Esto abre
la consola de edición de la parte grafica de la aplicación a implementar (.fig), es decir,
colocar botones, cuadros de dialogo, graficas, texto y otras opciones similares.

Figura 19. Pantalla de diseño gráfico.

54
METODOLOGÍA:

En esta pantalla (Figura 19) es posible arrastrar los diferentes comandos como push
button y edit text acorde al diseño de la pantalla. Cada uno de estos elementos tiene un
conjunto de propiedades a las cuales se puede acceder con el botón derecho del mouse
donde aparece el siguiente cuadro:

Figura 20. Edición de propiedades.

Para editar las propiedades de cada elemento seleccionamos la opción Inspector


Properties y se abre una consola (la cual variará según que elemento se este editando)
con todas las propiedades que podemos editar como color, posición, tamaño y font, como
se muestra en la figura anterior.

Una de las opciones de mayor interés es Edit Callback. Esta abre el archivo .m asociado
(ejecutable Matlab) y posiciona en la sección del programa que corresponde a la
subrutina que se ejecutara cuando se realice una determinada acción sobre el elemento
editado.

Guide consta de dos archivos uno .m (ejecutable) y otro. fig (la parte grafica). Las dos
partes están unidas a través de las subrutinas callback. Una vez que se graba los
archivos desde la consola de emisión (si salvamos la .fig automáticamente lo hace el .m
asociado) podemos ejecutar el programa en la ventana de comando de Matlab solamente
escribiendo el nombre del archivo.

55
METODOLOGÍA:

8. Programación y Diseño de la base de datos para resguardo de la información


obtenida para cada paciente.

Una de las formas en que el médico puede llevar un registro de estudios pasados de su
paciente es mediante una base de datos, esta puede ser consultada en cualquier equipo
de cómputo y estar almacenándolo.
a) Mediante los conocimientos obtenidos en programación de bases de datos,
se realizará el diseño de una base de datos que contenga la información
suficiente para el médico en Microsoft Access.

Es necesario dar de alta esta base de datos en el ordenador desde el panel de control de
Microsoft Windows, ingresando a Herramientas administrativas/ Orígenes de datos ODBC
y seleccionando el botón de agregar, se ingresa una base de dados de Microsoft Access
(.mdb) o Microsoft Access Driver.

b) Corrección de errores en el programa.


c) Obtener un ambiente gráfico amigable para el despliegue de nuestros
valores, esto será programado posteriormente.

9. Hacer la descripción del sistema difuso en Matlab necesario para el


prediagnóstico de trastornos respiratorios.

El pre-diagnóstico se realiza en base a la programación en Matlab del sistema difuso que


evalúa el nivel de saturación de oxígeno, y para ello se define lo siguiente:
a) Definir las variables a utilizar como entradas del sistema, en este caso,
saturación de oxígeno y el cambio de la saturación. Así como el número de
salidas del programa.

b) Definir el universo de discurso en el cual se moverán las funciones de


membresía asociadas a las entradas para valorarlas y obtener una salida
determinada de acuerdo a la siguiente gráfica de descripción del sistema
difuso:

56
METODOLOGÍA:

Fig. 21. Descripción del sistema difuso.

10. Programación y Diseño del protocolo de prueba del prototipo en seres


humanos.

La meta de este proyecto es la detección de los parámetros de estudio en seres


humanos, el diseño del protocolo de prueba constará de las modificaciones pertinentes
para el sistema de forma que podamos obtener datos veraces en seres humanos.
a) Modificación o creación de los sensores utilizados en seres humanos para
el registro de saturación de oxígeno en sangre.
b) Realizar las modificaciones adecuadas en la programación del prototipo
para poder ser utilizado en seres humanos.

11. Redacción del documento probatorio del protocolo de prueba del equipo en
seres humanos.

La documentación obtenida será reportada para validar los estudios realizados durante
este proyecto, especialmente los que se han hecho en humanos y registradas en las
bases de datos.
a) Documentación del proyecto en base a resultados en humanos.
b) Revisión del escrito por el asesor del proyecto.
c) Corrección del escrito.

57
METODOLOGÍA:

12. Elaboración del reporte final.

Por último elaboraremos el reporte de la investigación, en ella se expondrán todos los


detalles de la elaboración, experimentación, programación y demás trabajo realizado
durante este proyecto.
a) Redacción y creación oportuna de tablas, gráficas, datos y demás
información que será reportada al asesor del proyecto y al evaluador del
mismo.

58
RESULTADOS

RESULTADOS
El diagrama a bloques del oxímetro diseñado es este:

59
RESULTADOS

La creación del sistema difuso se creo en base a los siguientes diagramas de flujo.

fuzZ

z, z11, z12

no
z <= z11

si no

mz = 1 z >= z12

si

ms = 0

mz = (z12 – z) / (z12 –z11)

FIN

60
RESULTADOS

fuzT

t, t11, t12, t13

no
t <= t11

si no

mt = 0 t >= t13

si no

mt = 0 t > t11 & t <= t12

si

mt = (t – t11) / (t12 – t11)

mt = (t – t13) / (t12 – t13)

FIN

61
RESULTADOS

Inicio

u1, u2, In, num, den

z1 = [80 88]
t11 = [84 90 95]
t12 = [93 97 99]
s1 = [98 100]
z2 = [-17 -9]
t21 = [-13 -7 -2]
t22 = [-4 0 2]
s2 = [1 3]

j = 1:100

MuA = fuzZ(u(1,j),z1(1,1),z1(1,2))
MuB = fuzT1(u(1,j),t11(1,1),t11(1,2),t11(1,3))
MuC = fuzT1(u(1,j),t12(1,1),t12(1,2),t12(1,3))
MuE = fuzS(u(1,j),s1(1,1),s1(1,2))
MuAA = fuzZ(u(2,j),z2(1,1),z2(1,2))
MuBB = fuzT1(u(2,j),t21(1,1),t21(1,2),t21(1,3))
MuCC = fuzT1(u(2,j),t22(1,1),t22(1,2),t22(1,3))
MuEE = fuzS(u(2,j),s2(1,1),s2(1,2))

Mu1 = [MuA MuB MuC MuE]


Mu2 = [MuAA MuBB MuCC MuEE]
FAM = [0 0 0 1;1 1 2 2;2 2 2 3;3 3 3 3;3 3 4 4]

62
RESULTADOS

h = 1:4

i = 1:4

In(h,i)=Mu1(h)*Mu2(i)
den=In(h,i)+den
num=In(h,i)*FAM(h,i)+num
y=num/den

63
RESULTADOS

fuzS

s, s11, s12

no
s <= s11

si no

ms = 0 s >= s12

si

ms = 1

ms = (s – s11) / (s12 –s11)

FIN

64
RESULTADOS

Al ejecutar el programa diseñado en Matlab desplegamos la siguiente portada antes de


cualquier actividad:

Fig. 22. Portada.

Las pantallas de trabajo obtenidas mediante la programación son las siguientes:

Fig. 23. Pantallas de interfaz gráfico principal.

65
RESULTADOS

Fig. 24. Pantallas secundaria de interfaz gráfico.

Al diseñar las bases de datos en Access, crear el interfaz con Matlab y utilizar las
pantallas gráficas, obtenemos los siguientes datos en Access:

Figura 25. Base de datos.

66
RESULTADOS

Estos datos provienen de la siguiente pantalla:

Figura 26. Ejemplo de la base de datos.

Lo cual comprueba que se tiene acceso de lectura y escritura en Access con los datos
del paciente.

En la programación del convertidor analógico digital del MSP403FG37 se configuraron


dos canales del puerto seis, P6.0 y P6.1 como entrada de la señal analógica ya filtrada
que proviene del sensor, y las salidas son P5.0 y P5.1 del puerto cinco, dicha salida nos
entrega la señal del sensor para poderla acoplar al MAX 232 para su comunicación con la
PC, para corroborar la conversión de este programa se realizó la conexión de las salidas
con dos LED’s y como entrada se coloco un potenciómetro el cuál al variarlo modificaba la
intensidad de la luz del LED (figuras 27 a y b) y reportando la medida del voltaje con el
multimetro.

67
RESULTADOS

Figuras 27a. Luz de los LED´s tenue

Figuras 27b. Luz del los LED´s intensa

Como se comento en la metodología se requirió de un puente H para la polarización de


ambos LED´s, del sensor (figura 28) para corroborar la función de este circuito se coloco
el generador funciones a 1Hz de frecuencia de para polarizar los LDE´s obteniendo la
señal de salida de cada LED (figura 29 a y b).

Figura 31. Conexión del L298N con DB9 para el sensor

68
RESULTADOS

Figura 29a. Señal del LED Infrarrojo Figura 29b. Señal del LED rojo.

Debido al comportamiento de la señal de salida en conjunto se requirió programar en el


MSP430FG37 dos señales moduladas por ancho de pulso, estas con un periodo de
700ms, ya que ambas señales de salida de los LED´s presentaron ese periodo, una vez
programado el MSP430 se acoplo dicha salida al sensor obteniendo la polaridad de cada
LED del sensor (figura 30).

Figura 30. Polarización LED Rojo e infrarrojo, respectivamente con el PMW del MSP

69
CONCLUSIONES

CONCLUSIONES

• Se configuró en el MSP las diferentes etapas de procesamiento analógica y


digital de las señales a adquirir por medio de este microcontrolador.

• Se diseñó de un sistema difuso que realizará un prediagnóstico del estado de


salud del paciente de acuerdo a la descripción que se muestra en la
metodología.

• Se logró la interfaz gráfica como software del proyecto donde llama a cada
sub-pantalla correspondiente a las diferentes opciones que presenta nuestra
pantalla principal. De esta forma el usuario puede disponer de los datos
cuando sea necesario con fines de diagnóstico.

• Se obtuvo el enlace de la base de datos (diseñada en Microsoft Access) con


Matlab para acceder a esta desde una plataforma agradable de trabajo. Cabe
mencionar que estos datos son destinados al diagnóstico de padecimientos
respiratorios del paciente en tratamiento.

• La innovación tecnológica nos llevó a mejorar el desempeño en equipos


portátiles de monitoreo de saturación de oxígeno, ya que el consumo reducido
de corriente del microcontrolador prolonga la vida útil de la pila.

70
BIBLIOGRAFÍA Y REFERENCIAS

BIBLIOGRAFÍA
1) Deitel H.M., Deitel P.J. Deitel, Como Programar en C++, 2ª Edición, Editorial Prentice
Hall, México 1990
2) Stein J.H., 1992, Enermedades Pulmonares, pp 563-573, Tomo 1, Medicina Interna, 3ª
Edición, Editorial Salvat, México

REFERENCIAS DE INTERNET

 http://usuarios.vtr.net/~anestesi/clases/oximetria/oximetria.pdf
 http://c.conclase.net/curso/index.php
 http://72.14.253.104/search?q=cache:TzWnkkbvpCoJ:escuela.med.puc.cl/paginas/pub
licaciones/MedicinaIntensiva/Monitorizacion.html+antecedentes+de+oximetr%C3%AD
a+de+pulso&hl=es&ct=clnk&cd=2&gl=mx
 http://72.14.253.104/search?q=cache:rga1IVTvRnsJ:www.socanestesia.cl/rev_anestes
ia/0312/01-
guias.asp+avances+tecnologicas+de+oximetr%C3%ADa+de+pulso&hl=es&ct=clnk&c
d=9&gl=mx
 http://www.nib.fmed.edu.uy/laborde.pdf
 http://www.herrera.unt.edu.ar/bioingenieria/sabi/cd_2005/pdf/035IC.pdf
 http://eq3.uab.es/personal/baeza/comunicaciones/comunica.htm
 http://209.85.173.104/search?q=cache:1F0RalOt0lQJ:www.prematuros.cl/webagosto0
5/enfermerianeonatal/oximetriapulso/oximetriapulso.htm+Los+coeficientes+de+extinci
%C3%B3n+de+las+cuatro+especies+de+hemoglobina.&hl=es&ct=clnk&cd=5&gl=mx
 http://209.85.173.104/search?q=cache:SJQ-
dVjbxrEJ:www.docstoc.com/docs/377386/norma-
rs232+de+voltaje+de+acuerdo+a+la+norma+RS232&hl=es&ct=clnk&cd=1&gl=mx

71
ANEXOS

ANEXOS
El pseudo-código utilizado para comunicar la base de datos con las pantallas gráficas se
describe a continuación.
1. Para ingresar datos a Access desde Matlab utilizamos la siguiente serie de
comandos:

conn=database('oximetro','','');
nom=get(handles.edit37,'String');
edad=get(handles.edit38,'String');
TALLA=get(handles.edit47,'String');
PESO=get(handles.edit48,'String');
SEXO=get(handles.edit49,'String');
DOMICILIO=get(handles.edit43,'String');
TELEFONO=get(handles.edit42,'String');
CLINICOS=get(handles.edit45,'String');
GABINETE=get(handles.edit46,'String');
DIAGNOSTICO=get(handles.edit36,'String');
exdata={nom,edad,TALLA,PESO,SEXO,DOMICILIO,TELEFONO,CLINICOS,GABINETE,
DIAGNOSTICO};
colnames={'NOMBRE','EDAD','TALLA','PESO','SEXO','DOMICILIO','TELEFONO','CLINIC
OS','GABINETE','DIAGNOSTICO'};
get(conn, 'AutoCommit');
insert(conn,'oximetro',colnames,exdata);

De acuerdo a este código, lo que hacemos es adquirir cada dato escrito en los campos
diseñados (por ejemplo: nombre, edad, peso y talla) para guardarlos en un vector que
será exportado posteriormente por el comando exdata.

2. Al consultar los datos resguardados en Access utilizamos los siguientes


comandos:
conn=database('oximetro','','');
ping(conn);
curs = exec(conn, 'select NOMBRE from oximetro');

72
ANEXOS

setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
AA = curs.Data;
BUSCA=get(handles.edit44,'STRING');
B=size(AA);
C=B(1,1);
TF = strcmp(AA, BUSCA);
for i=1:C
indice=TF(i,1);
if indice==1
posicion=i;
BUSCANOM=AA(posicion,1);
end
end
set(handles.edit37,'String',BUSCANOM)

curs = exec(conn, 'select EDAD from oximetro');


setdbprefs('DataReturnFormat','NUMERIC');
curs = fetch(curs);
BB = curs.Data;
BUSCAEDAD=BB(posicion,1);
set(handles.edit38,'String',BUSCAEDAD)

curs = exec(conn, 'select TALLA from oximetro');


setdbprefs('DataReturnFormat','NUMERIC');
curs = fetch(curs);
CC = curs.Data;
BUSCATALLA=CC(posicion,1);
set(handles.edit47,'String',BUSCATALLA)

curs = exec(conn, 'select PESO from oximetro');


setdbprefs('DataReturnFormat','NUMERIC');
curs = fetch(curs);
DD = curs.Data;

73
ANEXOS

BUSCAPESO=DD(posicion,1);
set(handles.edit48,'String',BUSCAPESO)

curs = exec(conn, 'select SEXO from oximetro');


setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
EE = curs.Data;
BUSCASEXO=EE(posicion,1);
set(handles.edit49,'String',BUSCASEXO)

curs = exec(conn, 'select DOMICILIO from oximetro');


setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
FF = curs.Data;
BUSCADOMICILIO=FF(posicion,1);
set(handles.edit43,'String',BUSCADOMICILIO)

curs = exec(conn, 'select TELEFONO from oximetro');


setdbprefs('DataReturnFormat','NUMERIC');
curs = fetch(curs);
GG = curs.Data;
BUSCATELEFONO=GG(posicion,1);
BUSCATELEFONO=num2str(BUSCATELEFONO);
set(handles.edit42,'String',BUSCATELEFONO)

curs = exec(conn, 'select CLINICOS from oximetro');


setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
HH = curs.Data;
BUSCACLINICOS=HH(posicion,1);
set(handles.edit45,'String',BUSCACLINICOS)

curs = exec(conn, 'select GABINETE from oximetro');


setdbprefs('DataReturnFormat','CELLARRAY');

74
ANEXOS

curs = fetch(curs);
II = curs.Data;
BUSCAGABINETE=II(posicion,1);
set(handles.edit46,'String',BUSCAGABINETE)

curs = exec(conn, 'select DIAGNOSTICO from oximetro');


setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
JJ = curs.Data;
BUSCADIAGNOSTICO=JJ(posicion,1);
set(handles.edit36,'String',BUSCADIAGNOSTICO)

La forma de obtener estos datos es comparando los que están guardados con una
cadena introducida en un campo de búsqueda y desplegándolos es otro campo de la
pantalla gráfica.

75
ANEXOS

76
ANEXOS

77
ANEXOS

78
ANEXOS

79
ANEXOS

80
ANEXOS

81
ANEXOS

82
ANEXOS

83
ANEXOS

Programación del PWM (Modulación por Ancho Pulso).

Programa del ADC.

84

You might also like