Vous êtes sur la page 1sur 42

OBJETIVO DEL PROYECTO:

Generar un sistema porttil para la adquisicin de la seal de electrocardiografa, el cual nos permitiera poder adquirir y desplegar la seal bioelctrica en tiempo real.

ALCANCE DEL PROYECTO:


Generar esta aplicacin para fines didcticos y tecnolgicos mostrando las ventajas y desventajas que presenta el programar en dispositivos mviles.

INTRODUCCIN:
El corazn es un rgano ubicado en la cavidad torcica y esta cubierto por un saco fibroso, el pericardio La superficie interna del miocardio esto es la que se encuentra en contacto con la sangre que hay dentro de las cmaras cardiacas esta tapizada por un estrato delgado de clulas (endotelio). El corazn humano esta dividido longitudinalmente en dos mitades derecha e izquierda, cada una de las cuales consta de dos cmaras llamadas aurculas y ventrculos.

El flujo de sangre del corazn derecho al izquierdo no es directo, entre las estructuras a travs de las cuales fluye la sangre al pasar de las venas sistmicas a las arterias sistmicas se encuentran: las venas cavas superior e inferior, la aurcula derecha, el ventrculo derecho, las arterias pulmonares, las arteriolas, los capilares, las venulas, las venas, la aurcula izquierda, el ventrculo izquierdo y la aorta. La fuerza impulsora de este flujo sanguneo proviene nicamente de la contraccin activa del msculo cardiaco. Las clulas que componen la pared interna de aurculas y ventrculos (miocardio) son una combinacin de clulas de msculo liso y clulas de msculo esqueltico, el 99% de las clulas cardiacas constituye la fuerza de contraccin de las aurculas y los ventrculos el porcentaje restante corresponde a clulas especializadas del miocardio que no se contraen pero son esenciales para la excitacin normal del corazn.

Las clulas especializadas constituyen una red conocida como sistema de conduccin del corazn que hace contacto elctrico con las clulas contrctiles por medio de los puntos de fusin. El haz de His y los ndulos sino auricular y auriculoventricular estn formados por este tipo de clulas.

La estimulacin de una clula cardiaca aumenta la permeabilidad de su membrana produciendo una serie de cambios inicos a travs de la misma. El registro de este fenmeno se corresponde con una curva que se denomina potencial de accin transmembrana (PAT) y que consta de las siguientes partes y fases: Despolarizacin: Entrada sbita de Ca++ y Na++ al interior de la clula. Repolarizacin - Fase 1 e inicio de la fase 2: Persiste la entrada de Ca++ y Na++ y se inicia la salida d K+ al exterior de la clula. - Final de la fase 2 y fase 3: La salida de K+ es mxima. Se inicia el restablecimiento del equilibrio inico inicial. - Fase 4: Se restablece el equilibrio inico inicial mediante un mecanismo de transporte activo.

Sistema especfico de conduccin El impulso elctrico se inicia habitualmente en el nodo sinusal ya que este presenta una velocidad de 100 despolarizaciones por minuto asumiendo el papel de marcapasos este impulso elctrico se propaga a travs de las vas de conduccin interauriculares hacia ambas aurculas y hacia el nodo auriculoventricular. All se produce un enlentecimiento de la velocidad de conduccin del impulso, este contina por el haz de His y sus ramas derecha e izquierda hasta llegar, a travs de la red de Purkinje, a ambos ventrculos.

Despolarizacin de las aurculas. El registro electrocardiogrfico o electrocardiograma es una representacin tiempo-amplitud (volts) de los eventos elctricos producidos durante el ciclo cardiaco, en un registro de ECG de un paciente sano se identifican claramente tres formas de onda: ondaP, complejo QRS y onda T, cada una correlacionada con la despolarizacin que reciben las distintas las distintas zonas del miocardio.

La onda P se produce por la despolarizacin de las aurculas y es la primera deflexin electrocardiogrfica de cada ciclo cardiaco, durante el intervaloPR que sigue a la despolarizacin auricular el impulso se propaga al nodo AV, el haz de His y a ambas ramas. La despolarizacin de ambos ventrculos y la repolarizacion de las aurculas se reflejan en el complejo QRS, desde la onda R es la primera deflexin positiva, la deflexin negativa anterior a R es la onda Q y la deflexin Negativa posterior a R es la onda S. El segmento ST se extiende desde el final del complejo QRS al comienzo de la onda T y representa la fase de repolarizacion inicial en ambos ventrculos. El punto en el que el segmento ST se une al complejo QRS se denomina punto unin. La fase tarda de la repolarizacion de ambos ventrculos corresponde a la onda T, el segmento ST y la onda T son indicadores del estado del miocardio ventricular.

El estudio electrocardiogrfico realiza registros unipolares y bipolares del comportamiento del vector de despolarizacin cardiaco desde planos coordenados distintos, el plano frontal y el plano transversal. En el plano frontal se encuentran las derivaciones bipolares DI,DII,DIII y las unipolares aumentadas aVR, aVRL, AVF, el registro en el plano transversal se efecta con 6 derivaciones y estas se llevan a cabo con referencia a la pierna derecha del paciente Las tres derivaciones frontales bipolares forman el triangulo de EINTHOVEN, donde el corazn se encuentra en el centro de este. La derivacin DI se coloca con el electrodo negativo en el brazo derecho y el positivo en el brazo izquierdo, en DII el electrodo negativo se coloca en el brazo derecho y en DIII el negativo se coloca en el brazo izquierdo y el positivo en el pie izquierdo.

Derivaciones Bipolares

DESARROLLO DEL PROYECTO:


Metodologa de la investigacin utilizada:
Investigacin previa para generar el marco de referencia. 1. 2. 3. 4. 5. 6. Sistemas de computo mviles Palm OS y Windows CE, diferencias y similitudes. Herramientas para diseadores mviles Seleccin de un lenguaje de programacin. Aproximacin y estudio de la herramienta seleccionada. Desarrollo de la aplicacin.

Marco de Referencia:
1. Clasificacion
CARACTERISTICAS: Las handhelds y PDAs, se denominan dos clases completamente diferentes de computadoras de mano, las PDAs son las ms chicas de ellas y no poseen disco duro: almacenan los archivos y programas en una tarjeta el cual se inserta en la ranura de expansin de memoria, las handhelds son ms grandes y pesadas, tienen teclado y mdem incorporado y tienen un costo superior a las PDAs. Las PDAs dependen del touch screen y usan un mtodo de ingreso de datos la escritura a mano sobre la pantalla mediante un lpiz especial, llamado stylus, estos equipos fueron pensados para almacenar datos de manera temporal que iran a parar a la computadora de escritorio en la cual habrn de almacenarse por un mayor tiempo, sin embargo hoy en da las computadoras mviles cuentan con procesadores capaces de responder a clculos ms complejos con los cuales pueden generarse aplicaciones con un grado de complejidad elevado sobre todo para el campo de la medicina. Indistintamente del sistema operativo, los PDAs incluyen el software bsico de manera precargada: correo electrnico, agenda, editores de texto, hojas de clculo, navegador web, sincronizador (intercambio de archivos entre la PC de escritorio y el PDA), entre otros. Para comunicaciones poseen varios puertos, entre los que destacan el puerto serie con estndar RS 232, el puerto de infrarrojos y la ranura de expansin para tarjetas SD (Secure Digital Memory Card). En la actualidad se han incorporado puertos para tarjetas PCMCIA (Personal Computer Memory Card International Association) y Compact Flash. El soporte en software opcional incluye editores de presentaciones, juegos, visualizacin de aplicaciones Flash y Java, visor de archivos pdf y reproduccin de msica y videos directamente en formatos multimedia convencionales, entre una gran variedad. Algunos de los ms recientes y sofisticados incluyen hardware integrado para conexin Wireless (inalmbrica), Bluetooth (inalmbrico con enlace a travs de radiofrecuencia), GSM para telefona celular y cmara fotogrfica. Para transmitir informacin las handhelds y PDAs vienen con cables de conexin , llamados cunas (creadle) de sincronizacin (donde se posiciona la computadora) el cual tiene la posibilidad de conectarse por el puerto serie o usa a la computadora de escritorio , estas tambin cuentan con el software necesario para realizar este trabajo, en la Palm esto es posible gracias la tecnologa HotSync, mientras que en los equipos con Windows CE (PDAs) esta funcin se denomina Active Sync.

2. Palm OS y Windows CE diferencias y similitudes.


'PDA del ingls Personal Digital Assistant, (Ayudante personal digital) es un ordenador de mano originalmente diseado como agenda electrnica. Hoy en da se puede usar como un ordenador domstico (ver pelculas, crear documentos, navegar por internet..). En cuanto al numero de usuarios las Palm mantienen la preferencia (segn datos de International Data Consulting IDC) el Palm OS acapara el 83 por ciento del mercado, mientras Windows CE acapara el 9.7 %. Dentro de las cualidades principales de las Palms se encuentra la austeridad y simplicidad ya que su interfaz grfica es sencilla y muy ligera, es importante destacar el consumo de memoria de este sobre su rival Windows CE (ahora Windows mobile o Pocket PC) el cual requiere 16 mb para arrancar mientras que Palm OS opera desde los 2 MB de memoria, por lo mismo existen en promedio un mayor numero de aplicaciones generadas para las palms que para Windows mobile.

Tradicionalmente las Palm eran ms una "agenda supervitaminada" y las PocketPC ms un "porttil recortado", de ah que hasta hace poco las Palm no tenan nada que hacer en multimedia, pero a cambio eran muy, muy estables, sus aplicaciones consuman pocos recursos y sus bateras duraban mucho. No obstante en los ltimos tiempos (PalmOS 5) las prestaciones multimedia de las Palm han mejorado, pero han perdido en estabilidad y autonoma.

Por otra parte, Windows Mobile se diferencia por ofrecer a sus usuarios un ambiente ms familiar ya que permite trabajar con versiones reducidas de las aplicaciones ms populares de las computadoras de escritorio como son Microsoft Office y algunos lenguajes de programacin como Pocket C y Visual Basic Embedded, Windows tambin ofrece soporte a audio, por lo que se pueden grabar voces y escucharlas a travs de micrfonos incorporados y entradas y salidas auxiliares. Antes de mostrar una tabla comparativa entre los PDAs y las Palm que se consiguen dentro del mercado nacional, se predispone un glosario de trminos comunes que se utilizan al margen de este tipo de recursos de cmputo. Memoria RAM. Es la memoria donde se pueden almacenar archivos de datos del usuario y correr programas. En la mayora de PDAs se trata de memorias SDRAM (RAM Dinmica Sncrona), donde a mayor cantidad de memoria es posible tener ms archivos abiertos al mismo tiempo o guardar ms informacin. Memoria ROM. Es la memoria principal del PDA, donde normalmente se almacena el sistema operativo. En la mayora de PDAs, es de tipo FLASH ROM que permite actualizarse va software, sin necesidad de desprender el chip de la tarjeta madre, MPEG. Es un formato de compresin de video digital. Multimedia. Se refiere a la reproduccin y/o grabacin de msica, voz, imgenes y video, as como a la posibilidad de utilizar juegos electrnicos. Las PDAs actuales reproducen archivos MP3 y permiten visualizar grficos en diferentes formatos, entre stos el JPEG. La Pocket PC soporta Windows Media Player y la reproduccin de videos WM y MPEG. Navegacin. Este aspecto se refiere a los pasos que se deben realizar con el lpiz ptico sobre la pantalla tctil (touchscreen) para pasar de un programa a otro, administrar y visualizar archivos, etc. Tambin es posible realizar algunas opciones de navegacin con las teclas de acceso directo que tiene el PDA. Programas PIM. Se refiere a las aplicaciones bsicas de organizacin de informacin en un PDA, como agenda, contactos, citas, calendario, notas, etc. Puertos de comunicacin (Conectividad). Son los circuitos electrnicos que permiten el intercambio de informacin entre el PDA y otros dispositivos como computadoras, telfonos celulares, impresoras, cmaras digitales, otros PDAs, etc. A continuacin se explican los principales puertos: USB. El Bus Serial Universal es el estndar ms comnmente utilizado para sincronizar el PDA con la computadora. Serial. Soporta el protocolo RS-232 para la transmisin serie asncrona. Este puerto de comunicacin fue el utilizado en este proyecto. Infrarrojo o IrDA. La Asociacin de Datos Infrarroja (Infrared Data Association), es un estndar desarrollado por un grupo de fabricantes de dispositivos para transmitir datos a travs de ondas de luz. Esta conexin inalmbrica se transmite a muy baja velocidad y, al igual que un control remoto de TV, se debe tener lnea de vista con el receptor ya que cualquier desviacin u obstculo impide la conexin. Bluetooth. Es una nueva forma de transmisin por radiofrecuencia entre aparatos electrnicos que cuenten con tarjeta Bluetooth; es ms rpida, tiene un alcance de hasta 10 metros y no requiere de lnea de vista, como el infrarrojo. Se trata de un estndar Wireless LAN (inalmbrico

para redes tipo LAN) que surge con la finalidad de simplificar el mecanismo para intercambiar informacin en una forma serial, adems, est optimizado para aplicaciones en Internet.

Wi-Fi (Fidelidad Inalmbrica - Wireless Fidelity) (estndar 802.11 b). Es una conexin inalmbrica por radiofrecuencia con un alcance de hasta 100 metros que se emplea principalmente para tener acceso a una red de cmputo LAN o a una conexin inalmbrica a Internet.

Ranuras (slot) y memorias de expansin. Es el espacio fsico o conector que ofrece el PDA para insertar una tarjeta de memoria electrnica para disponer de mayor espacio y almacenar archivos. Otra funcin, es la de adecuar una conexin (interfaz hardware) hacia un dispositivo externo, como podra ser una cmara digital, un mdem, una tarjeta de red, un lector de cdigo de barras, etc. En el caso de insertar una tarjeta de memoria u otro dispositivo, ste debe coincidir con el tipo de ranura en la que se insertar. Las memorias y las ranuras correspondientes se indican a continuacin: CF (CompactFlash tipo I y tipo II). Es grande en dimensiones respecto a los otros tipos, a pesar de ello es la ms rpida en su funcionamiento y tiene capacidades que van de los 8 MB hasta los 4 GB. Es la ms barata, aunque en algunos casos se requiere de una chaqueta de expansin, propiciando que se vea sacrificada la portabilidad del PDA. MS (Memory Stick estandarizada por Sony). Es pequea y delgada, aunque no tan rpida como la CF, y con capacidad mxima de 256 MB. La versin MS PRO alcanza hasta 1 GB de capacidad, pero no es compatible con las primeras ranuras MS originales. Se trata de las memorias que utilizan la mayora de las cmaras digitales. SD (Secure Digital). Es la ms delgada del tamao de un timbre postal, pero no es tan rpida como la CF, y su capacidad mxima actual es de 1 GB. Este tipo de memoria, as como su respectiva ranura, son las ms utilizadas en el mercado actual de las PDAs. MMC (Multimedia Card). Es similar en dimensiones a la SD, por lo que se puede insertar en ranuras SD; sin embargo, es ms lenta y su capacidad puede ser de 128 MB o 512 MB. Su propsito especfico es aligerar el trabajo del procesador, con respecto a aplicaciones multimedia, que stas incluyen. SDIO Card (Secure Digital Input/Output). Son tarjetas SD que agregan otras funciones como acceso a redes inalmbricas (Wi-Fi o Bluetooth), receptores GPS ( Global Positioning System) o cmaras digitales. Algunas tarjetas SDIO son compatibles con las ranuras SD convencionales.

Resolucin de la pantalla. Es la cantidad de puntos de imagen (pxeles) que pueden visualizarse en la pantalla del PDA; se indica como la cantidad de puntos horizontales contra la cantidad de puntos verticales.

PDA

Sistema Operativo Microsoft Windows Mobile 2003 Second Edition

Procesador @ velocidad

Conectividad Integrada

Expansin

SDRAM

FLASH ROM

Duracin de la Batera

Resolucin de Pantalla Tctil 240 x 320 pixels, Transflective TFT, 65000 colores

Adicionales

HP iPAQ rx3417

Samsung S3C 2440 @300MHz

WLAN 802.11b, Bluetooth, IrDA, USB, serial

SD, SDIO

128MB

32MB

10 hrs

Cmara Digital, Photosmart, 1.3 MP 1280 x 960, Zoom digital 4x

iPAQ h3950 Pocket PC

Microsoft Pocket PC 2002

Intel PXA250 @400MHz

IrDA, USB, serial

SD, PCMCIA

64MB

32MB

10 hrs

240 x 320 pixels, Transflective TFT, 65000 colores

iPAQ h5550 Pocket PC

Windows Mobile 2003

Intel XScale @400MHz

WLAN 802.11b, Bluetooth, IrDA, USB, serial

SD, PCMCIA

128MB

48MB

10 hrs

240 x 320 pixels, Transflective TFT, 65000 colores

Sistema de seguridad, identificacin huella dactilar

iPAQ h1930 Pocket PC

Microsoft Windows Mobile 2003

Samsung S3C2410 @203 MHz

USB

SD, SDIO, MMC

64MB

32MB

8 hrs

240 x 320 pixels, Transflective TFT, 65000 colores

iPAQ h2210 PPC

Microsoft Windows Mobile 2003 Premium Edition

Intel XScale @400 MHz ARM

Bluetooth, IrDA, USB, serial

SD, SDIO, MMC, Compact Flash tipo I y II

64MB

32MB

10 hrs

240 x 320 pixels, Transflective TFT, 65000 colores

palmOne Tungsten C

Palm OS 5.2.1

Intel XScale @ 400 MHz ARM

WLAN 802.11b, IrDA, USB, serial

SD, MMC

64MB

16MB

20 hrs

320 x 320 pixels, Transflective TFT, 65000 colores

palmOne Zire 72s (Silver)

Palm OS 5.2.8

Intel PXA270 @312MHz

Bluetooth, IrDA, USB, serial

SD, MMC, SDIO

32MB

8MB

20 hrs

320 x 320 pixels, Transflective TFT, 65000 colores

Cmara Digital, 1280 x 960, Zoom digital 2x

Dell Axim X50 Pocket PC

Microsoft Windows Mobile 2003 Second Edition

Intel XScale PXA270 @520MHz

WLAN 802.11b, Bluetooth, IrDA, USB, serial

SD, SDIO, MMC, Compact Flash tipo I y II

64MB

128MB, Intel StrataFlash

10 hrs

240 x 320 pixels, Transflective TFT, 65000 colores

10

3. Herramientas para diseadores mviles


Con la creciente popularidad de los dispositivos informticos mviles existe una demanda cada vez mayor de desarrolladores que puedan disear de una vez aplicaciones que puedan ejecutarse en varios dispositivos. Es decir, no es lo mismo desarrollar una simple agenda telefnica, que un complejo programa de recuperacin de informacin con informes impresos va infrarrojos conectado todo ello a una fuente de datos externa. A continuacin presentamos los entornos de programacin ms sobresalientes del mercado.

CASL software.
http://www.caslsoft.com CASL es un ambiente integrado de desarrollo en cual incluye variables, objetos y funciones para desarrollar poderosas y flexibles aplicaciones con capacidades como las que de describen a continuacin: Coleccin de objetos de visualizacin con control dinmico de de localizacin, tamao, fuente, colores Acceso va puerto serie e infrarrojos. Acceso a socket de Red (telnet, http, tcp, udp o iNet web clipping). Canalizacin para sincroniza bases de datos PDA a travs de PC companion db va texto o a travs de ODBC format2. Objetos Grid con columnas, los cuales pueden ser llenados con etiquetas, cajas de texto, casillas de verificacin destinadas a cambos de bases de datos o arreglos para la fcil visualizacin de informacin desplazable sin escribir ningn cdigo adicional.

Precio: De 134.95 a $334.95 dlares.

EMbedded Visual Tools 3.0


http://www.microsoft.com/windows/embedded/ce/tools/factsheet.asp http://www.microsoft.com/mobile/downloads/emvt30.asp

Entorno visual oficial de Microsoft para el desarrollo de aplicaciones, eMbedded Visual Tools es un completo entorno de desarrollo para crear aplicaciones y componentes de sistema para dispositivos Windows Powered, incluyendo sistemas PocketPC y Smartphone. Los que estn familiarizados con Visual Basic o Visual C, entrarn en el mismo mundo pero con las limitaciones lgicas del dispositivo, razn por la cual es una de las herramientas ms populares, esto en parte a la multitud de herramientas adicionales que contiene como el Spy, editor de registro, emulador (solo funciona en NT con SP5 ), etc. La edicin 2003 contiene Microsoft eMbedded Visual C++ 3.0, Microsoft eMbedded Visual Basic 3.0 y, como novedad, tambin presenta los kits de desarrollo (SDKs) para PocketPC 2002 y Smartphone 2002. Requerimientos mnimos: Windows 98/NT/2000

11

Precio: De aproximadamente 250 a $425 dlares.

OrbWorks PocketC http://www.orbworks.com/wince


Caractersticas: Lenguaje simple de aprender y programar Compilador no nativo, permitiendo la comparticin de applets Conversin automtica de tipos de datos para facilitar la programacin Amplia librera de funciones que incluye grficos, sonido, database, archivos, y I/O serie Tipo de dato "String" Genera ejecutable independiente para cada CPU de un tamao muy pequeo. Soporta objetos COM Plataformas soportadas Windows2000, ME, NT, 98, 95 Pocket PC Casio Cassiopeia E-115, EM-500, E-125 HP Jornada 540 Series y Compaq iPAQ HP Jornada 720 Series, y dispositivos con WindowsCE OS HPC 2000 HP Jornada 820, NEC Mobil Pro, Sharp TriPad PV6000, Sharp Mobilon PV5000, Vadem Clio, y dispositivos con WindowsCE OS HPCPro 2.11 Palm-size PC como Compaq 2100, HP 428 etc. y dispositivos con WindowsCE OS PPC 2.11. Palm-size PC como Casio E10, E11, Nino 301,312, 320 etc. y dispositivos con WindowsCE OS PPC 2.01 Philips Velo500, etc. y dispositivos con WindowsCE OS HPC 2.00.

Observaciones Este lenguaje no es ni tan rpido ni tan potente como el C++, pero su facilidad de uso y su bajo precio compensa estos "problemas". Funciona generando cdigo nativo que necesita de un Runtime, de libre distribucin y 100K de tamao. Precio: EUR 25.70 / USD 29.99

4. Estudio de la Herramienta Seleccionada. Fundamentos de Microsoft Visual eMbedded Visual


Microsoft eMbedded Visual Embedded cuenta con un ambiente integrado de desarrollo con el objeto de facilitar la creacin de aplicaciones para dispositivos que usan Windows CE. Este compuesto por un conjunto de ventanas, herramientas, mens, directorios y otros elementos con el fin de crear, probar y depurar una aplicacin diseada para Windows CE. A continuacin presentaremos de una manera resumida, una visin global del modelo de programacin de Windows CE y los componentes que soportan este modelo. Tambin de describirn las bases de trabajar con el ambiente de desarrollo IDE.

12

Modelo de programacin de Windows CE


El sistema operativo Windows CE esta basado en la interfaz de programacin para aplicaciones Win32 (API)1. Como en los dems sistemas operativos de Windows, Windows CE posee un modelo de programacin orientado a eventos.,un programa basado en Windows CE recibe mensajes, interpreta mensajes y acta sobre los mensajes. Estos programas tienen una o mas ventanas que reciben y procesan mensajes en un ciclo, las ventanas pueden ser visuales o no, en el caso en que la aplicacin no requiera una interfaz de usuario, cada ventana posee un manejador de ventana (hwnd) asociado con un procesador de mensajes que maneja el mensaje para la ventana que corresponda. As mismo, los programas diseados para Windows CE poseen dos funciones primarias, un procesador de mensajes (llamado WndProc) y WndMain, el cual provee un punto de entada hacia el programa. La funcin WndProc procesa mensajes para la ventana. En general, una aplicacin procesa exclusivamente aquellos mensajes que son relevantes a ella y transmite los otros mensajes de regreso al sistema operativo. Adems de ser el proceso de mensaje de primario WinMain tambin maneja la inicializacin y el cierre Cuando se desarrollan programa para Windows CE, se debe determinar primero la plataforma de hardware y el procesado en cual va a correr tu aplicacin. Por ejemplo Handheld PC, Palm-size PC, Pocket PC, Auto PC o la plataforma de juegos Dreamcast; los procesadores puden ser ARM, MIPS, SH3, SH4, x86, o x86em.

6. Desarrollo de la aplicacin. Acondicionamiento de la seal analgica.


La seal electrocardiogrfica adquirida por la PDA es suministrada por el simulador de paciente a travs de la derivacin II que cuenta con las siguientes caractersticas de salida: 1.- Nos genera una seal electrocardiogrfica con una amplitud de 1 mV . 2.- Frecuencias cardiacas en un rango de 5 a 100 Hz. Se opto por el simulador de paciente para suministrar la seal de electrocardiografa ya que este nos introduce ningn tipo de ruido a nuestro sistema, por lo que no fue necesario contar con una etapa previa de filtrado a la conversin analgica-digital ya que esta no era prioridad dentro del proyecto, NO se opto por adquirir la seal electrocardiogrfica de un paciente ya que esto podra ser contraproducente para el mismo debido a las corrientes de fuga originadas por el sistema , tambin esta seal presentara el problema de que en su mayora estara compuesta por ruido originado por los movimientos corporales del paciente, por las balastras de las lmparas, por los cables que no son blindados etc ,etc.... y por lo descrito anteriormente este ruido no seria posible eliminarlo. Se utilizo como amplificador de la seal analgica de entrada con amplitud de 1 mV el amplificador de instrumentacin AD620 ya que este cubre de una manera sobresaliente las necesidades del proyecto, a

13

continuacin se muestran las caractersticas ms sobresalientes del mismo as como un diagrama esquemtico con los pines que conforman este integrado:

a.- Ganancia seleccionable en un rango de 1 a 1000 veces a travs de un potencimetro variable externo. b.- Voltaje de alimentacin en un rango de +-2.3 Volts a +-18 Volts perfectamente compatible con el voltaje de alimentacin del microcontrolador 16F73. c.- Ancho de banda de 120KHz d.- Voltaje de entrada mximo en modo comn hasta 18 volts. e.- Voltaje de entrada mximo en modo diferencial hasta 25 volts.

El amplificador de instrumentacin AD620 nos permite seleccionar una ganancia de 1 hasta 1000 veces la seal de entrada, esto se realiza en funcin de las resistencias marcadas con R1, R2 Y Rg , habra que comentar que tanto R1 como R2 son resistencias fijas para esta aplicacin por lo que estos valores no cambian con el tiempo, dicho esto es obvio que la ganancia queda definida totalmente por la resistencia variable Rg a travs de la relacin proporcionada por el fabricante:

La seal analgica de salida del amplificador de instrumentacin es acondicionada para ser convertida en una seal digital con un amplificador UA741, uti1izando una configuracin sumador que nos permite sumarle un OFFSET a la seal amplificada con el fin que los complejos que conforman a la misma solo tomen valores positivos en un rango de 0 a 5 volts ,esto nos permite no tener ninguna perdida de informacin al momento de la conversin analgica digital hecha por el microcontrolador, a continuacin se muestra el diagrama esquemtico numero 1 que conforma esta etapa:

14

Conversin Analgica Digital y protocolo de comunicacin RS-232.


La seal de salida del amplificador UA741 es mandada al pin numero 2 del microcontrolador 16F73 para que este realice la conversin Analgico Digital a una frecuencia de conversin de 20 ms como lo muestra el diagrama esquemtico numero 2, el programa generado para el PIC configura la frecuencia de conversin y si este habr de recibir alguna seal por hardware o software para que inicie la conversin, este programa tambin establece el protocolo de comunicacin RS232 que habr de realizarse entre el microcontrolador y la PDA y la forma en que el 16F73 habr de mandar los datos convertidos, ya sea en ASCCI o en modalidad Binario.

Fue necesario para la realizacin del programa que configura al PIC, conocer de una manera detallada los registros de instrucciones ms importantes del microcontrolador al igual las instrucciones ms bsicas usadas durante la elaboracin del programa, a continuacin se mencionan estos registros e instrucciones: REGISTROS DEL PIC 16F73: REGISTRO ADCON1 : Este registro es el encargado de controlar al modulo de conversin A/D, la direccin en memoria donde se encuentra es 9Fh:

1.- Bit numero 7 y 6 determinan la frecuencia del reloj para la conversin:

15

2.- Bit numero 5, 4 , 3 seleccionan el canal de entrada de la seal analgica de la siguiente forma: 000 Canal numero 0 001 Canal numero 1 010 Canal numero 2 011 Canal numero 3 100 Canal numero 4 101 Canal numero 5 110 Canal numero 6 111 Canal numero 7 RA0/ AN0 RA1/ AN1 RA2/ AN2 RA3/ AN3 RA4/ AN4 RA5/ AN5 RA6/ AN6 RA7/ AN7

3.- Bit numero 2, bit de status de conversin: 1 conversin en progreso. 0 conversin terminada. 4.- Bit que habilita la conversin: 1 Modulo de conversin habilitado. 0 Modulo de conversin deshabilitado.

REGISTRO ADCON0 : Configura el puerto A como entradas analgicas o entradas / salidas digitales, su direccin en memoria es 1Fh

1.- Bits 7 , 6, 5, 4, 3 no tienen ninguna relevancia por lo que su valor siempre es cero. 2.- Bits 2, 1, 0 seleccionan de acuerdo a la siguiente tabla como funcionaran las canales del puerto .

16

A = Entradas analgicas D = I/O Digitales

REGISTRO DE RESULTADO : En este registro se almacena el resultado de la conversin analgica-Digital y tiene como direccin de memoria 1Eh. INSTRUCCIONES DE PIC BASIC COMPILER: 1.- peek Dir , Variable Lee lo almacenado en la direccin especificada en Dir y lo coloca en la direccin en memoria especificado en Variable. 2.- pook Dir , Variable Coloca lo almacenado en la direccin Variable en la direccin en memoria especificado en Dir. 3.- serout Pin, Modo, (Item , Item) a.-Pin de salida de la seal convertida. b.-El modo selecciona la frecuencia de transmisin y la modalidad de la misma de acuerdo a la siguiente tabla:

Como siguiente paso se muestra el programa hecho en el lenguaje de programacin Basic Pro que nos permitio el simplificar la programacin del PIC ya que no fue necesario directamente programarlo utilizando lenguaje ensamblador del PIC, decimos no directamente ya que este programa tiene la opcin de permitirnos ver el programa generado en ensamblador para realizarle mejoras en bajo nivel con lo que obtengamos un mejor desempeo del mismo, se agrega como anexo el programa en ensamblador del pic 16F73 as como una pequea gua que nos permita introducirnos en el mundo de Pic Basic Compiler.

17

' Luis Enrique Herrera Lozada ' Acceso al canal 0 del ADC ' PIC16F73, Transmisin Serial a 9600 Baudios ' Proyecto Electrocardigrafo en iPAQ 3950 Symbol ADCON0 = $1F Symbol ADRES = $1E Symbol ADCON1 = $9F ' direccin en memoria del registro ADCON0 ' direccin en memoria donde se almacena el resultado de la operacion A/D ' direccin en memoria del registro ADCON1

Symbol SO = 0

' Salida Serial

poke ADCON1, 0 ' Configura el puerto A como todos entradas analgicas poke ADCON0, $41 'Selecciona en el registro ADCON0, el canal 0 como entrada de la seal analgica 'Selecciona la frecuencia de conversin Foscilacion/8 'Habilita el modulo de conversin A/D del microcontrolador. 'conversin analgica /Digital no iniciada. Loop: poke ADCON0, $45 'Selecciona en el registro ADCON0, el canal 0 como entrada de la seal 'analgica 'Selecciona la frecuencia de conversin Foscilacion/8 'Habilita el modulo de conversin A/D del microcontrolador. 'conversin analgica /Digital iniciada.

pause 20 peek ADRESS , B0 serout SO, N9600, (B0) goto Loop End

' Espera 20 ms para comenzar la Conversin ' Asigna el resultado de la conversin al registro B0 ' Enva dato serialmente hacia el canal SO ' Ciclo continuo ya que no se le indica que pare

A continuacin se muestra un diagrama a bloques de la microcontrolador y la PDA:

interfase de comunicacin RS-232 entre el

La realizacion del protocolo de comunicacin RS232 l, esta coordinada por dos salidas de HandShake, DTR' (terminal de datos lista) y RTS' (peticin para enviar), y dos entradas de apretn de manos, DSR' (conjunto de datos listo) y CTS' (limpiar para enviar). Tanto la PDA como el microcontrolador cuentan con estas lneas, la comunicacin inicia de la siguiente forma la PDA manda a bajo sus DTR' y RTS', indicndole al microcontrolador que la PDA esta lista y que

18

solicita permiso para enviar datos. Las lneas DTR' y RTS' de la PDA estn conectadas a las lneas DSR' y CTS' del microcontrolador respectivamente.

Cuando estn encendidas y listas para enviar datos, el microcontrolador pone sus lneas DTR' y RTS' en bajo; stas se conectan a las lneas DSR' y CTS' de la PC. As, una lnea DTR' de la PDA se conecta a la lnea DSR' del microcontrolador y la RTS' de la PDA se conecta a la CTS' del microcontrolador, debido a las caractersticas propias del proyecto este HandShake no se llevo a cabo, para sustituirlo se recurri a engaar al puerto serie de la PDA, esto a travs de una tarjeta que cruza las terminales DTR' y DSR' del conector DB9 del craddle de la PDA y RTS' con CTS' a continuacin se muestra una tabla de la seales mas comnmente usadas en este protocolo :

Seal RS-232 Tierra Transmisin de datos Recepcin de datos Peticin para enviar Limpiar para enviar Terminal de datos lista Conjunto de datos listo Deteccin de portadora de datos Indicador de llamada Tierra de chasis

Abreviacin

Direccin

TxD RxD RTS CTS DTR DSR DCD RI

Salida Entrada Salida Entrada Salida Entrada

A continuacin se listan los pasos necesarios para programar el pic 16F73:

COMPILANDO ARCHIVOS EN PIC BASIC COMPILER: 1. Utilizando cualquier editor de texto convencional, se captura el cdigo y se guarda con extensin .BAS, propia de Basic. Es importante, que el programador tenga las referencias correctas de la sintaxis del lenguaje y las modificaciones pertinenteS referidas a PicBasic. Internet proporciona diferentes opciones para citar fuentes de consulta. En la pgina web del fabricante, MicroEngineering Labs, Inc., es www.melabs.com, es posible obtener una versin en formato electrnico del manual de usuario de este compilador. 2. Posteriormente, es necesario acceder al compilador a travs del Smbolo de Sistema (MS DOS). Debido a que el compilador mantiene una versin de lnea de comandos, se debe invocar el directorio donde se encuentra el compilador, por lo general c:\PBC. 3. Una vez dentro del directorio, escribiendo DIR en la lnea de comandos y presionando ENTER, se puede advertir que aparece nuevamente PBC pero ahora como un archivo ejecutable (pbc.exe) y que permitir la compilacin.

19

Obsrvese la siguiente pantalla (se han invertido los colores para facilitar la impresin); en sta se listan las diferentes opciones que soporta la lnea de comandos para la compilacin.

4. De acuerdo a la informacin anterior, para la compilacin se debe escribir:c:\PBC\pbc p73 adcipaq.bas y presionar ENTER. La instruccin pbc permitir compilar hacia un pic16X73 el archivo nombrado adcipaq.bas, si el archivo a compilar no est ubicado en el mismo directorio del PicBasic Compiler, se debe escribir la ruta de acceso completa a l; por ejemplo, c:\PBC\pbc p73 c:\digitales\sample.bas. Para compilar sobre otro microcontrolador PIC, slo basta con cambiar los parmetros de la directiva p<nmero del pic>,este compilador no soporta las familias ms actuales del PIC, como la 16F628 y similares. Existe una versin del compilador ms aventajada, llamada PicBasic Pro, que muestra opciones superiores. Dentro del directorio Include c:\PBC\inc, se encuentran las bibliotecas de las familias soportadas por PicBasic Compiler versin 1.32 de 1995, utilizada en este trabajo.

20

La siguiente pantalla muestra cmo se compil el archivo para el proyecto de la iPAQ 3950. 5. PicBasic Compiler genera un archivo con extensin .HEX; en nuestro caso particular, adcipaq.hex que se utilizar para programar el PIC con ayuda del programador universal. Tambin es posible hacerlo a travs de la plataforma Microchip y sus tarjetas especiales.

21

Caractersticas del protocolo de comunicacin RS-232.


Antes de introducirnos en la elaboracin del programa en Visual Basic Enbedded es necesario comentar de forma breve y concisa en que parmetros se basa y como funciona el protocolo de comunicacin RS-232. El protocolo de comunicacin RS-232 es un estndar de "Electronic Industries Association" (EIA) que especifica las caractersticas elctricas, requerimientos de conector y funciones de seal para una interfase serial, en lugar de los niveles TTL, los niveles lgicos en una lnea RS-232 son de -3 a -15 volts para un 1 lgico, y de +3 a +15 volts para un 0 lgico. +-12 volts se usan en un sistema PC. Esto da una excursin de voltaje mayor tambin como un cruce por cero y es un esquema de sealizacin ms inmune al ruido que el TTL, las seales se envan sobre un cable que puede ser de cualquier longitud, tal que la capacitancia total del cable sea menor de 2500 pF. La velocidad de datos serie se permite para ser tan alta como 20K bits por segundo, en la prctica a menudo se usan velocidades mucho ms altas (hasta 115200 bps) con buen xito, siempre que la longitud del cable se mantenga corta (1 2 metros). La lnea que transmite los datos en serie est inicialmente en estado alto, al comenzar la transferencia, se enva un bit a 0 bit de inicio. Tras l irn los 8 bits de datos a transmitir (en ocasiones son 7, 6 5): estos bits estn espaciados con un intervalo temporal fijo y preciso, ligado a la velocidad de transmisin que se est empleando.

Tras ellos podra venir o no un bit de paridad que indica si se ha enviado un numero par o impar de unos en la palabra, al final, aparecer un bit (a veces un bit y medio dos bits) a 1, que son los bits de parada o bits de stop, lo de medio bit significa que la seal correspondiente en el tiempo a un bit dura la mitad; realmente, en comunicaciones se utiliza el trmino baudio para hacer referencia a las velocidades, y normalmente un baudio equivale a un bit. La presencia de bits de inicio y parada permite sincronizar la estacin emisora con la receptora, haciendo que los relojes de ambas vayan a la par. A la hora de transmitir los bytes de datos unos tras otros, existe flexibilidad en los tiempos, de ah que este tipo de comunicaciones se consideren asncronas. La transmisin de los 8 bits de datos de un byte realmente es sncrona, pero las comunicaciones en serie siempre han sido consideradas asncronas.

Adquisicin y Despliegue de la seal.


Primeramente se explicaran cada uno de los pasos as como de las ventanas que aparecen al momento de abrir un nuevo proyecto en Visual Basic Embedded esto con el fin de introducirnos de una manera clara y sutil en nuestra aplicacin: Paso numero 1: Al momento de abrir Microsoft Embedded Visual Basic 3.0 aparece la siguiente pantalla permitindonos seleccionar entre abrir un proyecto nuevo, buscar un proyecto ya existente para trabajar en el o abrir un proyecto en el que se ha trabajado recientemente.

22

Explorador de proyecto Paso numero 2: Abriendo un nuevo proyecto en Visual Basic Windows Ce Foz Pocket PC 2002 se desplegara la siguiente pantalla, en la cual se han resaltado cuatro regiones: 1) Explorador de Proyectos (2 Ventana de Propiedades (3 Barra de herramientas estndar (4 rea de trabajo donde se intercambian la ventana de cdigo y la ventana del diseo de formulario.

Paso numero 3:

23

Configuramos nuestro proyecto accediendo al men Project Project Propierties General. Ah asignaremos un nombre a nuestro proyecto (Project1) y en el apartado Remote Settings Remotre Path: cambiamos la ruta por omisin por \la siguiente:
Windows/Inicio\Project1.vb

Paso numero 4: Ahora bajaremos la aplicacin a nuestra Pocket PC (Compaq Ipaq en este caso) de manera que podamos probarla. Para esto hay que seleccionar en la parte superior del IDE a la opcin de Pocket PC 2002 (Default Device) y presionamos el botn Play . Cualquier programa generado en visual Basic Embedded esta dividido en dos partes, la ventana de cdigo y la ventana de objetos, para mantener un orden lgico de las cosas se explicara primeramente el cdigo hecho para nuestra aplicacin seguido de cada uno de los objetos que conforman la aplicacin misma:

VENTANA DE CODIGO: A continuacin se presenta el programa hecho en el lenguaje de alto nivel Visual Basic Embedded para la aplicacin propuesta por nuestro objetivo , al final del mismo se explicara la parte mas importante que conforman la etapa de adquisicion del programas :

'Herrera Lozada Luis Enrique 'Programa que adquiere y grafica serialmente una seal electrocardiogrfica Option Explicit 'Se declaran las variables globales Dim InputData As Variant ' InputData es la variable donde se almacena el dato ledo del puerto serie de la PDA.

Dim Cantidad As Variant 'Cantidad es la variable donde se almacena el producto del dato ledo con 0.0196 'esto con el fin de tener valores en el rango de 0 a 5 y as poder graficarlos directamente sobre la IPAQ. Dim iniciox As Integer 'iniciox ,inicio2x son las variables iniciales de las coordenadas X que toma cada punto dentro del 'pano X, Y sobre la IPAQ. Dim inicio2x As Integer Dim inicioy As Integer ' inicioy es la variable inicial de la coordenada Y que toma cada punto dentro del plano X,Y sobre

24

la IPAQ. Dim bandera, incremento As Integer 'bandera nos seala si es un primer dato adquirido o no, en caso de ser as se toman 'las coordenadas iniciales X,Y. 'incremento es la variable que dicta el incremento de la variable x ene l eje X del plano X,Y. Dim contador, cuenta As Integer 'contador es la variable que nos indica la cantidad de datos ledos. ' cuenta es la variables que indica al programa cuando tiene que borrar la pantalla de la 'aplicacin para as seguir graficando los datos nuevos ledos del puerto. 'Se inician las variables globales iniciox = 0 inicioy = 6 bandera = 0

Private Sub Adquirir_ecg_Click() ' Determina los valores iniciales para las variables cuenta e incremento que determinan la definicin del grafico de la ' seal adquirida. If Frec_Bajas.Value = True Then incremento = 0.1 cuenta = 120 contador = 0 ElseIf Frec_Altas.Value = True Then incremento = 0.4 cuenta = 31 contador = 0 Else MsgBox "Selecciona una frecuencia" End If Comm1.PortOpen = True ' El puerto serie se abre con esta instruccion

25

'Valores Validos para iniciar el protocolo RS-232 Comm1.RThreshold = 1 'RThreshold, esta propiedad establece y regresa el numero de caracteres a recibir antes de que se 'genere el comm event, colocando en 1 a esta propiedad se habilita la generacin de comm event. Comm1.SThreshold = 0 SThreshold , esta propiedad establece el numero mnimo de caracteres a recibir en el buffer de transmisin antes de que se genere el comm event, colocando en 0 a esta propiedad se inhabilita la transmisin de datos hacia fuera del puerto de la PDA. Comm1.InputLen = 0 'InputLen , esta propiedad establece el numero de caracteres a leer del buffer de datos recibidos, 'colocndola en 0 se lee entero el registro de datos recibidos. Comm1.DTREnable = False ' DTREnable, esta propiedad habilita o deshabilita la seal DTR en el Puerto serie de la ' IPAQ, colocandolo en 0 se deshabilita esta seal del puerto.

Acontinuacion se establecen los parmetros para el objeto de Visual Basic Embedded llamado Picture Box pantalla.ScaleHeight = 14 'ScaleHeight, esta propiedad establece y regresa el numero de unidades de la medida vertical ' dentro del objeto. pantalla.ScaleLeft = 0 pantalla.ScaleTop = 0 pantalla.ScaleWidth = 12 pantalla.DrawWidth = 1 End Sub Private Sub Cerrar_puerto_Click() Comm1.PortOpen = False pantalla.Cls Frec_Altas.Value = False Frec_Bajas.Value = False End Sub 'Se cierra el puerto serie con esta instruccion 'Se limpia la pantalla de la PDA 'Esta propiedad establece las coordenadas horizontales de la orilla izquierda del objeto. ' ScaleTop, esta propiedad coloca el tope vertical dentro del objeto picture box. 'ScaleWidth , esta propiedad coloca el tope horizontal dentro del objeto picture box.

Private Sub Form_Load() pantalla.Picture = "Windows/Inicio/juanis.bmp" ' Se lee de memoria de la PDA el fondo de la aplicacin

26

' Almacenado en un archivo bmp. End Sub

Private Sub Comm1_OnComm() Select Case Comm1.CommEvent 'Seleccionamos con un case el evento generado en 'CommEvent. Case comEvReceive bandera = bandera + 1 If bandera = 1 Then pantalla.DrawPoint iniciox, inicioy, vbBlue contador = contador + 1 Else InputData = Comm1.Input 'Se lee el dato de entrada Cantidad = (Asc(InputData) * 0.0196) + 2 'El dato de entrada se multiplica *0.0196 psrs obtener 'rangos de entrada validos para la PDA inicio2x = iniciox + incremento pantalla.DrawLine iniciox, inicioy, inicio2x, Cantidad, vbBlue iniciox = inicio2x inicioy = Cantidad contador = contador + 1 'En caso de que se reciba un dato.

If contador = cuenta Then contador = 0 pantalla.Cls iniciox = 0 bandera = 0 End If

27

End If Case comEvSend ' all data sent, so toggle RTS End Select End Sub

Private Sub Form_OKClick() App.End End Sub La ultima seccion del programa es la encargada de recibir los datos y de graficarlos en pantalla, la recepcin se realiza a travs de la propiedad del objeto Comm llamada CommEvent esta propiedad toma diferentes cdigos en funcin del evento generado durante el protocolo de comunicacin RS-232 entre la IPAQ y el microcontrolador la, a continuacin se citan estos cdigos en 2 tablas:

Tabla de cdigos de error:

28

Tabla de eventos: En base a los cdigos antes descritos el programa en esta seccion realiza una comparacin a travs de un case para saber que evento se ha generado en Comm Event, en caso de comEvReceive se va hacia el buffer de entrada y se lee el dato recibido para graficarlo en la IPAQ, en caso de no ser as el programa no ejecuta ninguna instruccin, ya que adems desde el principio del programa se deshabilito la opcin de transmitir algn dato por el puerto serie de la PDA hacia el microcontrolador 16F73.

VENTANA DE OBJETOS: La ventana de objetos de nuestra aplicacin es la siguiente:

Podemos observar que esta pantalla esta conformada por 5 objetos de visual Basic Embedded cada uno con diferentes propiedades que a continuacin se muestran, estas no se abordan de una manera muy profunda ya que ya han sido tratadas con anterioridad:

29

Objeto 1.- Picture Box El control Picture Box es un control ActiveX usado para desplegar bitmaps, graficas y texto, este tiene propiedades y mtodos para definir estilos de dibujo, colores y tamaos de las graficas. En adicin el control Picture Box puede responder al manejo de un mouse o de un lpiz tctil que escriba sobre la pantalla. Objeto 2.- Command Button Objeto 3.- Label (Etiqueta) Este objeto nos permite poner etiquetas dentro de nuestra ventana de objetos Objeto 4.- Option Button

Objeto 5.- Comm El control Comm Box es un control invisible ActiveX que provee a una conexin serial al puerto, esta aplicacin puede ser usada para conectar diferentes dispositivos, los cuales como computadoras,modems, sistemas GPS que son conectados a nuestra PDA. Cada control Comm corresponde a un puerto serie de la PDA , si necesitamos acceder a mas de un puerto serie es necesario agregar mas de un Comm Control.

30

PRUEBAS Y RESULTADOS:
RESULTADOS: Los resultados obtenidos durante el desarrollo de este proyecto son los siguientes: 1.-Se logro el acondicionamiento adecuado para una seal electrocardiogrfica con amplitud de 1 mV, amplificndola hasta amplitudes entre 1 y 5Volts utilizando el ampliamente conocido amplificador de instrumentacin AD620, a continuacin se muestra esta etapa del proyecto armada sobre una tablilla de prueba:

Circuito de acondicionamiento de la seal

La seccin marcada con un recuadro blanco se trata de la etapa de acondicionamiento compuesta en su primera parte por el AD 620 encargado de amplificar la seal hasta voltajes entre 1 y 5 Volts . La segunda parte de esta seccion se trata de un amplificador en configuracin sumador, que como su nombre lo indica suma un offset de 1 volt a la seal de salida proporcionada por el amplificador de instrumentacin AD620 con el fin de que esta pueda ser convertida sin ningn problema por el PIC.

31

2.- Programacin del PIC 16F73 de manera optima a travs de un lenguaje de programacin de alto nivel como es Pic Basic Compiler , logrando con esto satisfacer los objetivos propuestos para este proyecto, los cules son conversin Analgica Digital de la seal electrocardiogrfica a una frecuencia de 20 ms y realizacin de protocolo de comunicacin entre la PDA y microcontrolador para la adquisicin por el puerto serie de la IPAQ. Se eligi la frecuencia de conversin de 20 ms ya que esta nos permite convertir seales con frecuencia de hasta de 100 Hz sin mayor problema, basta recordar que una seal electrocardiogrfica de una persona adulta normal se encuentra en el rango de 50 a 80 latidos por minuto. 3.- Para la realizacin del protocolo de comunicacin RS-232 entre la IPAQ y el microcontrolador fue crear una tarjeta que engaara al puerto serie de la IPAQ, esto conectando las seales DTR, DSR, RTS, CTS entre ellas de la siguiente forma:

La seal DTR del puerto de la PDA se conecto con la seal DSR del mismo puerto, la seal RTS del puerto de la PDA se conecto con la seal CTS esto con el fin de simular un Hand Shake entre la PDA y el microcontrolador, como las siguientes fotografas lo muestran:

Vista Superior del conector DB9 .

Vista inferior del Conector DB9.

Dada la forma de programacin del PIC para que este iniciara la conversin Analgica Digital ninguna de las seales antes descritas fue necesaria, por lo que el nico pin o canal que se conecta entre el microcontrolador y la PDA es S0 que se conecta con Tx del puerto Serie de la PDA que es el encargado de la recepcin de datos como lo muestra la siguiente foto:

32

4.-Se logro el desarrollo de la aplicacin propuesta de adquisicin y despliegue de una seal electrocardiogrfica en la pantalla de la IPAQ, a continuacin se muestra una fotografa solamente de la pantalla:

Aplicacin sobre la IPAQ Terminando con los resultados obtenidos se muestra el circuito de adquisicin y conversin de la seal electrocardiogrfica , la tarjeta que cruza las seales DTR, DSR, RTS, CTS del puerto serie de la PDA necesaria para realizar el protocolo de comunicacin RS-232 as como la PDA donde se adquiere y despliega la seal electrocardiogrfica.

Fotografa del sistema de adquisicin de la seal de electrocardiografa.

33

PRUEBAS: Las pruebas realizadas en el laboratorio con el sistema de adquisicin de la seal electrocardiogrfica se realizaron por partes para tener la posibilidad de detectar errores en cada una de las etapas si es que estos existieran, las pruebas realizadas fueron las siguientes:

Prueba numero 1: a.-Se probo la etapa de amplificacin introduciendo seales diferenciales en el rango de 1 a 4 mV al amplificador de instrumentacin AD 620, se utilizaron estos voltajes ya que la seal a adquirir se encuentra entre 0.5 y 1.5 mV, los resultados obtenidos son los siguientes.
Voltaje de entrada mV Voltaje de salida Volts

1 1.5 2 2.5 3 3.5 4 Prueba numero 2:

0.87 1.46 1.82 2.4 2.97 3.39 3.95

La seal de salida de la etapa de acondicionamiento se mando al microcontrolador para iniciar la conversin analgica Digital, notando que esta presentaba problemas ya que encontraba componentes negativos dentro de la seal de electrocardiografa amplificada para resolver este problema se adiciono una etapa de acondicionamiento extra, esta etapa consiste en un sumador que como su nombre lo indica suma un offset a la seal acondicionada para obtener solamente valores positivos de la misma. Prueba numero 3: Se probo la etapa de adquisicin de la IPAQ introduciendo seales senoidales, cuadradas, triangulares con amplitud de 0.1 a 5 volts con un rango de frecuencia menor a 100 Hz , ya que de antemano al programar el PIC a una frecuencia de conversin de 20 ms sabamos que este no realizara adecuadamente la conversin de seales fuera de este rango, los resultados obtenidos de esta prueba fueron positivos, cabe decir que a estas seales se les sumo un offset con el mismo generador.

Prueba numero 4: Se probo en conjunto todo el sistema con una seal electrocardiogrfica obtenida del simulador de paciente con una amplitud de 1mV, obteniendo una grafica en la pantalla de la PDA con una amplitud de 5volts por lo tanto se puede decir que se cumpli de una manera sobresaliente el objetivo propuesto por el proyecto.

CONCLUSIONES:
La conclusin a la que se puede llegar durante la realizacin de este proyecto es que es posible desarrollar aplicaciones para sistemas de computo mvil de manera sencilla y transparente considerando en primera mano la plataforma en la que se desea trabajar, el tipo de aplicacin y principalmente el objetivo que se persigue.

34

Decimos esto ya que al principio de la realizacin del proyecto se enfrentaron problemas con el software elegido para programar la aplicacin (PocketC) ya que este no era el mas adecuado para ello, a pesar de que contaba con una sintaxis similar al lenguaje de alto nivel llamado C, este resulto ser mas complicado que el elegido actualmente ( Visual Basic Embedded) ya que era necesario programar toda al interfase instruccin por instruccin, adems al no tener el objetivo del proyecto claro se inicio de una manera incorrecta, ya que primero se pens en el software de control de la interfase sin tener el hardware que realizara el acondicionamiento y conversin de la seal a adquirir.

En cuanto a la aplicacin misma podemos concluir que esta cumple con los objetivos propuestos por el proyecto de una manera parcialmente sobresaliente, debido a las propias limitaciones del software de control como son: 1.-La propiedad Comm Event del Objeto Comm de Visual Basic Embedded no permite adquirir datos con una frecuencia de conversin mayor a 20ms, ya que esta como se maneja por interrupciones genera problemas a la aplicacin dado que no puede leer los datos que se encuentran en el puerto y seguir con la ejecucin del programa. 2.-A pesar de que Visual Basic Embedded nos permite guardar datos obtenidos en colas para ser procesados momentos despus de su adquisicin, no fue posible implementar esto en nuestra aplicacin ya que seria necesario agregar un subprocedimiento mas que llenara esta cola, lo cual generara que se programara una frecuencia de conversin mas lenta para darle tiempo a la aplicacin de leer un dato y almacenarlo. 3.-Agregando a los problemas descritos anteriormente debemos mencionar la restriccin que se tiene por hardware ya que la PDA no cuenta con memoria suficiente (64 Megas) para almacenar datos obtenidos a esa frecuencia de muestreo y durante varios segundos. 4.- Es importante entender que, en lo general, las restricciones principales de los PDAs radican en la memoria de usuario, ya que al mantener abierto el puerto y a la vez ejecutando la aplicacin, es posible saturar el proceso derivando en un funcionamiento errneo (inestabilidad). El procedimiento MSCOMM utilizado para recibir datos del puerto se activa cada vez que se coloca un byte en el buffer del puerto, por lo que no es conveniente realizar varias operaciones durante la ejecucin de dicho procedimiento.

TRABAJOS A FUTURO:
Se plantea la posibilidad de optimizar el funcionamiento del electrocardigrafo, a la vez, realizar algunas otras aproximaciones hacia instrumentos biomdicos con interfaces similares., por ejemplo obtener la seal de pletismografia a travs de un sensor de saturacin, adquirir y escuchar los ruidos cardiacos por medio de un micrfono, esto se puede realizar ya que Visual Basic tiene rutinas y objetos ya programados con el fin de emitir sonidos directamente en la PDA. Ser primordial, lograr el intercambio de informacin entre el PDA y el microcontrolador a travs del puerto USB, ya que la tendencia en la arquitectura de los PDAs actuales est encaminada al uso de ste. Bajo este mismo contexto, se propone estudiar la conectividad Wireless (Wi Fi y Bluetooth) para introducir datos hacia el PDA. Otro aspecto interesante es el analizar la factibilidad de la conectividad GSM y GPS que incluyen algunos smartphones y PDAs; Embedded Visual Basic permite la programacin en estos dispositivos mviles. Se deja abierta la posibilidad de probar este mismo diseo en otro PDA. Sera interesante utilizar una plataforma Windows actual; a la vez, considerando las respectivas diferencias en cuanto a sistemas operativos y herramientas de programacin, implementar este mismo diseo en una PALM.

35

BIBLIOGRAFA:
Tratado de Fisiologa Medica Arthur C. Guyton McGraw Hill Electrocardiografia www.cardioglobal.com.ar/ecg.html Adquisicin de seales Bioelctricas. dac.escet.urjc.es/PFC/cristina_rodriguez/node21.html Curso de Programacin de Visual Basic 6 Fco. Javier Ceballos Alfaomega Ra-Ma. Mxico. 2000 Diseo de aplicaciones inalmbricas mviles http://www.intel.com/espanol/update/contents/mo11031.htm eMbedded Visual Basic Online Documentation http://www.pocketpc.com/ http://www.microsoft.com/embedded/ http://www.microsoft.com/windows/embedded/tools/

Get Going with Microsoft eMbedded Visual C++ http://msdn.microsoft.com/library/en-us/dnroad/html/road05232001.asp?frame=true Herramientas de Desarrollo disponibles Pocket PC http://www.mipcdebolsillo.com/reportajes/programacion/lenguajes.php&e=7629 Introduction to Pocket PC 2002 Programming http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=272 Palm vs Microsoft: la pelea contina http://www.terra.com.ar/canales/tecnologia/0/266.html Portal Visual Basic http://www.portalvb.com/articulos Welcome to Trajecto's Win32 API Programming Tutorial for Pocket PC (Really Fast Graphics Programming) http://www.trajectorylabs.com/win32_prototype.html

36

ANEXOS:
Acerca del lenguaje eMbedded Visual Basic Language
Pequeo, ligero, e interpretado, el lenguaje usado por eMbedded Visual Basic es un subconjunto del usado por la versin de escritorio de Visual Basic. Relacionado con VBScript, eMbedded Visual Basic combina el poder y la robustez de Visual Basic con la portabilidad y fcil manejo, caracterstico de VBScript. Algunos de los beneficios de eMbedded Visual Basic sobre VBScript son: eMbedded Visual Basic puede acceder a archivos usando el control de dialogo comn ( common dialog control); VBScript no. eMbedded Visual Basic puede acceder Windows CE APIs; VBScript no puede acceder APIs del sistema operativo local. Al usar el ADOCE control, eMbedded Visual Basic puede acceder a fuentes de datos; VBScript No.

A pesar de que eMbedded Visual Basic utiliza constantes y variables al igual que la versin de escritorio, el nico tipo de dato que emplea es el tipo de dato variante (Variant).

Subtipos de Variant
Ms all de las tpicas clasificaciones numricos o de cadenas de texto, un Variant puede hacer diferentes distinciones acerca de la naturaleza de la informacin. Por ejemplo, se puede tener informacin numrica que represente una fecha u hora. Al usarse con otro dato de fecha o tiempo, el resultado siempre es expresado como fecha o tiempo. Tambin se puede tener una gran variedad de informacin numrica desde valores volanos hasta altos valores de punto flotante. Estas diferentes categoras de informacin pueden ser contenidas en un Variant las cuales son llamadas subtipos. La siguiente tabla muestra los subtipos de datos que un Variant puede contener.

Subtipo Empty Null Boolean Byte Integer Currency Long Single

Double

Descripcin Variant sin inicializar. Valor de 0 para variables numricas o a una cadena de longitud de cero ("") para cadenas. Variant intencionalmente contiene datos no validos. Contiene Verdadero o Falso. Contiene enteros en un rango de 0 a 255. Contiene enteros en un rango de -32,768 hasta 32,767. -922,337,203,685,477.5808 hasta 922,337,203,685,477.5807. Contiene enteros en un rango de -2,147,483,648 hasta 2,147,483,647. Contiene nmeros de precisin simple de punto flotante en el rango de -3402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 hasta 3.402823E38 para valores positivos. Contiene nmeros de punto flotante de doble precisin en el rango de -1.79769313486232E308 hasta -4.94065645841247E-324 para valores negativos;

37

Date (Time) String Object Error

4.94065645841247E-324 hasta 1.79769313486232E308 para valores positivos. Contiene un numero que representa una fecha entre Enero 1, 100 hasta Diciembre 31, 9999. Contiene una cadena de longitud variable que puede llegar hasta aproximadamente 2 billones de caracteres . Contiene un objeto. Contiene un numero de error.

Se pueden usar funciones de conversin para convertir datos de un subtipo a otro. Adems la funcin VarType devuelve informacin acerca de como es almacenada tu informacin en un Variant.

Funciones de Conversin
Funcin CBool CByte CCur CDate CDbl CInt CLng CSng CStr Descripcin Esta funcin convierte una expresin a unVariant del subtipo Boolean Esta funcin convierte una expresin a unVariant del subtipo Byte Esta funcin convierte una expresin a unVariant del subtipo Currency Esta funcin convierte una expresin a unVariant del subtipo Date Esta funcin convierte una expresin a unVariant del subtipo Double Esta funcin convierte una expresin a unVariant del subtipo Integer Esta funcin convierte una expresin a unVariant del subtipo Long Esta funcin convierte una expresin a unVariant del subtipo Single Esta funcin convierte una expresin a unVariant del subtipo String

Constantes en eMbedded Visual Basic


Una constante es un nombre significante que toma el lugar de un numero o una cadena y no cambia. Microsoft eMbedded Visual Basic 3.0 define un numero de constantes intrnsecas. Para crear un constante numrica o de carcter con nombre significante y asignarles valores literales se usa la declaracin Const . Por ejemplo: Const MiCadena = "Esta es m cadena." Const MyEdad = 49 Es importante recalcar que una cadena literal se encuentra encerrada entre comillas. Las comillas son forma ms fcil de diferenciar valores de cadenas de valores numricos. Fechas literales y tiempo son representadas encerrndolas en signos de (#). Por ejemplo: Const CutOffDate = #12-31-99# El poder de este entorno de desarrollo es extendido a travs del empleo de controles intrnsecos y los controles Active X. Adems te permite crear y usar procedimientos en caso que sean necesarios. El lenguaje usado por Microsoft eMbedded Visual Basic 3.0 es un lenguaje interpretado. Esto significa que las instrucciones son ejecutadas secuencialmente por un programa intermediario llamado interprete de

38

comandos. As que a diferencia de crear archivos ejecutables, eMbedded Visual Basic crear un archivo intermedio (.vb), el cual es interpretado por el dispositivo seleccionado al momento de ejecucin.

Procedimientos en eMbedded Visual Basic


Microsoft eMbedded Visual Basic comprende dos tipos de procedimientos: Sub procedures y Function procedures. Sub Procedures Un Sub procedure es una serie de declaraciones de eMbedded Visual Basic, entre un Sub y un End Sub , que realizan acciones pero no devuelven un valor. Un Sub puede tomar argumentos (constantes, variables o expresiones que son transmitidas al llamar a un procedimiento). Si un Sub procedure no posee argumentos, la declaracin Sub debe incluir un conjunto de parntesis vacos. El siguiente Sub procedure usa dos funciones intrnsecas, MsgBox e InputBox, para solicitarle al usuario informacin. A continuacin despliega los resultados de un calculo basado en esa informacin. El clculo es realizado en un Function procedure creado usando eMbedded Visual Basic, como se mencionara despus de este ejemplo. Sub ConvertTemp() Dim fDegrees as integer fDegrees = InputBox("Por favor escriba la temperatura en grados F.", 1) MsgBox "La temperatura es " & Celsius(fDegrees) & " Grados C." End Sub

Funciones
Una Function procedure es una serie de declaraciones entre los encabezados Function y End Function . Un Function procedure es similar a un Sub procedure, pero adems puede devolver un valor. Un Function procedure puede tomar argumentos. Si un Function procedure no tiene argumentos, esta declaracin debe incluir un conjunto de parntesis vacos. Un Function devuelve un valor asignando un valor a su nombre en una o ms declaraciones del procedure. El tipo de datos devueltos por un Function, como todos los valores en eMbedded Visual Basic es Variant. En el siguiente ejemplo, la funcin Celsius calcula grados Celsius a partir de grados Fahrenheit. Cuando la funcin es llamada desde el Sub procedure ConvertTemp, una variable que contiene el valor del argumento es pasado a la funcin. El resultado del calculo es regresado al procedimiento que lo solicita y es desplegado en una caja de mensaje. Function Celsius (fDegrees) Celsius = fDegrees - 32 * 5 / 9 End Function

39

Trabajando con controles.


Un control es un objeto en la interfaz, como un botn o una barra de desplazamiento, que utiliza un usuario para interactuar con una aplicacin. Algunos controles despliegan informacin, mientras otros reciben informacin del usuario. Cada control posee propiedades, mtodos, y eventos que son relevantes al propsito del control. Por ejemplo, debido a que las cajas de texto estn diseadas para la entrada de texto, estas incluyen la propiedad fuente, la cual determina la fuente que el control usar para desplegar texto. Tanto los controles ActiveX como los controles intrnsecos estn disponibles a la hora de trabajar con Embedded Visual Basic. Los controles intrnsecos son aquellos controles estndares pertenecientes a los formularios de su respectiva plataforma. De esta manera, las aplicaciones incluyen la funcionalidad necesaria para desplegar y ejecutar con troles intrnsecos. ActiveX son controles pertenecientes al Component Object Model (COM) que existe independientemente de la aplicacin. Por esta razn, es necesario aadir los controles ActiveX en tu aplicacin antes de que puedan ser ocupados. Todos los controles son visibles durante la fase de diseo, pero no todos los controles son visibles en la fase de ejecucin. Un control es visible al momento de ejecutarse siempre y cuando el atributo Visible tenga asignado con el valor True. De manera contraria, si el atributo Visible tiene asignado el valor False no se mostrara en el tiempo de ejecucin. Los controles que no poseen el atributo Visible ser siempre invisible durante el tiempo de ejecucin. Las siguiente tabla muestra los controles disponibles para cada plataforma. H/PC, HPC Pro, Palm-size PC 1.2 Controles intrnsecos CheckBox ComboBox CommandButton Frame HScrollBar Label Line ListBox OptionButton Shape TextBox Timer VscrollBar ActiveX Controls Comm Control CommandBar Control CommonDialog Control FileSystem Control Grid Control Image Control ImageList Control ListView Control PictureBox Control TabStrip Control TreeView Control Winsock Control CheckBox ComboBox CommandButton Frame Label Line ListBox OptionButton ScrollBar Shape TextBox Timer Pocket PC Controles intrnsecos ActiveX Controls Comm CommonDialog File and FileSystem Finance Grid Image ImageList ListView MenuBar PictureBox TabStrip Control TreeView Winsock

Trabajando con el entorno de desarrollo (IDE)


El IDE provee muchas opciones para el desarrollo de aplicaciones: se pueden usar los paquetes de formularios estndares, o se pueden disear aplicaciones sin formularios o interfaces visibles. Adicionalmente, se pueden usar controles ActiveX para extender las capacidades bsicas de una aplicacin.

40

Generalmente, desarrollar eMbedded Visual Basic es similar a desarrollar aplicaciones de Visual Basic estndar. De cualquier modo, ms que crear una aplicacin stand-alone, las aplicaciones eMbedded Visual Basic son interpretadas a la hora de ejecutarse en un dispositivo CE.

Definiendo propiedades
La ventana de propiedades se abre al momento de seleccionar un objeto. Si ms de un objeto esta siendo seleccionado, las propiedades que los objetos tienen en comn son desplegadas en la ventana de propiedades. Para editar las propiedades de un objeto diferente, se debe escoger el objeto apropiado del cuadro de objetos, o seleccionar un diferente control del formulario.

Para definir una propiedad


En la ventana de propiedades, seleccionar una propiedad en la lista de propiedades. En el cuadro de definicin de propiedades , teclea o escoge el valor deseado de la propiedad seleccionada. Si la propiedad requiere un valor de carcter, no es necesaria incluir el valor entre comillas. Si deseas que el titulo de un formulario sea CLIENTE, teclea CLIENTE en el cuadro de definicin de propiedades (Property Settings box).

Escribiendo cdigo.
Para acceder a la ventana de cdigo, Dar clic en el icono de la ventana de cdigo(code window), tanto en el men vista (View) o en la ventana de explorador de proyectos. Para aadir cdigo a un objeto o control en particular, desde la ventana de objetos, seleccionar el objeto al cual se desea aadir cdigo. Desde la ventana de Procedimiento (Procedure window), seleccionar el procedimiento o evento el cual disparara el cdigo. Microsoft eMbedded Visual Basic 3.0 provee a los desarrolladores con un numero de herramientas que facilitan las tareas de programacin. Estas herramientas incluyen:

Autocompletacin de cdigo y autoformato


El IDE completa el cdigo al tiempo en que escribes. Simplemente teclea el nombre de un control o procedimiento, seguido de la puntuacin apropiada y eMbedded Visual Basic muestra una lista desplegable de opciones con las propiedades, mtodos, o eventos apropiados para dicho control; o despliega un globo de ayuda ilustrando los argumentos requeridos para ese procedimiento. Adems de completar el cdigo, eMbedded Visual Basic aplica automticamente las convenciones apropiadas de formato al cdigo que se esta escribiendo, incluyendo atributos como maysculas y espacios. Adems colorea las palabras reservadas y los comentarios.

Barras de herramientas en eMbedded Visual Basic


Las barras de herramientas proveen un acceso rpido a los comandos utilizados con mayor frecuencia en el ambiente de programacin. Por omisin, la barra Estndar es desplegada cuando tu inicias eMbedded Visual Basic. Barras adicionales para editar y disear formularios pueden ser llamadas o apagadas desde el comando Toolbars en el men vista.

41

La siguientes imagines muestran las cuatro barras de herramientas disponibles en eMbedded Visual Basic

Usa la barra Standard para abrir y guardar proyectos y ejecutar y compilar aplicaciones. Usa la barra Edit para introducir cdigo y establecer bookmarks. La barra Edit provee acceso a muchos de los comandos que se pueden encontrar el men Edit . Usa la barra Form Editor para camibar la localizacin de y apariencia de controles en un formulario. La barra Form Editor provee acceso a muchos de los comandos existentes en el men Format . Usa la barra Debug para localizar bugs en tu cdigo . Provee acceso a muchos de los mismos comandos existentes en el men Debug .

42

Vous aimerez peut-être aussi