Académique Documents
Professionnel Documents
Culture Documents
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.
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
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.
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
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
SD, SDIO
128MB
32MB
10 hrs
SD, PCMCIA
64MB
32MB
10 hrs
SD, PCMCIA
128MB
48MB
10 hrs
USB
64MB
32MB
8 hrs
64MB
32MB
10 hrs
palmOne Tungsten C
Palm OS 5.2.1
SD, MMC
64MB
16MB
20 hrs
Palm OS 5.2.8
32MB
8MB
20 hrs
64MB
10 hrs
10
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.
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
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
12
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
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:
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
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
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
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
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
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.
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
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.
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:
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.
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:
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:
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.
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
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.
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
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
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.
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
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.
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:
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