oximetro de pulso

Upload: adriantxe

Post on 13-Oct-2015

81 views

Category:

Documents


0 download

TRANSCRIPT

  • Universidade Estadual de MaringUniversidade Estadual de MaringUniversidade Estadual de MaringUniversidade Estadual de Maring Centro de TecnologiaCentro de TecnologiaCentro de TecnologiaCentro de Tecnologia Departamento de InformticaDepartamento de InformticaDepartamento de InformticaDepartamento de Informtica Curso de Engenharia de ProduoCurso de Engenharia de ProduoCurso de Engenharia de ProduoCurso de Engenharia de Produo

    Desenvolvimento de um Prottipo de um Oxmetro de Pulso

    Fernando Vincius Gonalves Magro

    TCC-EP-32-2008

    Maring - Paran Brasil

  • ii

    Universidade Estadual de Maring Centro de Tecnologia

    Departamento de Informtica Curso de Engenharia de Produo

    Desenvolvimento de um Prottipo de um Oxmetro de Pulso

    Fernando Vincius Gonalves Magro

    TCC-EP-32-2008

    Trabalho de Concluso de Curso apresentada como requisito de avaliao no curso de graduao em Engenharia de Produo na Universidade Estadual de Maring UEM. Orientador(a): Prof. Dr. Donizete Carlos Bruzarosco

    Maring - Paran 2008

  • iii

    Fernando Vincius Gonalves Magro

    Desenvolvimento de um Prottipo de um Oxmetro de Pulso

    Este exemplar corresponde redao final do Trabalho de Concluso de Curso aprovado como requisito parcial para obteno do grau de Bacharel em Engenharia de Produo da Universidade Estadual de Maring, pela comisso formada pelos professores:

    ________________________________________ Orientador(a): Prof(). Prof. Dr. Donizete Carlos Bruzarosco

    Departamento de Informtica, CTC

    ________________________________________ Prof(). Mrcia Marcondes Altimari Samed

    Departamento de Informtica, CTC

    Maring, outubro de 2008

  • iv

    RESUMO

    Este trabalho apresenta uma implementao de um prottipo oxmetro de pulso, equipamento

    que faz a medio da saturao de oxignio no sangue arterial. Descreve tambm um sistema

    para desktop, capaz de processar as informaes do equipamento num microcomputador

    pessoal. O trabalho mostra os conceitos envolvidos, o desenvolvimento do hardware e do

    software, incluindo o diagrama de blocos e esquema eltrico dos circuitos eletrnicos.

    Tambm abordado o desenvolvimento do software segundo os mtodos propostos pela

    Engenharia de Software, utilizando-se os diagramas da UML.

    Palavras-chave: Oximetria, Equipamentos de Monitorizao, UM,. Engenharia de Software,

    Hardware.

  • v

    SUMRIO

    LISTA DE ILUSTRAES ............................................................................................................................... VI

    LISTA DE QUADROS..................................................................................................................................... VIII

    LISTA DE ABREVIATURAS E SIGLAS ........................................................................................................ IX

    LISTA DE SMBOLOS ....................................................................................................................................... X

    1 I%TRODUO ............................................................................................................................................. 1

    1.1 JUSTIFICATIVA ......................................................................................................................................... 2 1.2 DEFINIO E DELIMITAO DO PROBLEMA .............................................................................................. 2 1.3 OBJETIVOS ............................................................................................................................................... 3

    1.3.1 Objetivo geral .................................................................................................................................. 3 1.3.2 Objetivos especficos ....................................................................................................................... 3

    1.4 METODOLOGIA ......................................................................................................................................... 3 1.4.1 Reviso de Literatura ...................................................................................................................... 4 1.4.2 Projeto de hardware ........................................................................................................................ 4 1.4.3 Projeto de software .......................................................................................................................... 4 1.4.4 Construo do prottipo .................................................................................................................. 5 1.4.5 Validao ......................................................................................................................................... 5

    2 REVISO DA LITERATURA ..................................................................................................................... 6

    2.1 OXMETRO DE PULSO ............................................................................................................................... 6 2.2 CONCEITOS DE HARDWARE ....................................................................................................................... 7 2.3 CONCEITOS DE SOFTWARE ........................................................................................................................ 9

    2.3.1 UML ............................................................................................................................................... 10 2.3.2 Processo Unificado........................................................................................................................ 12 2.3.3 Sistema Embarcado ....................................................................................................................... 13

    3 DESE%VOLVIME%TO .............................................................................................................................. 15

    3.1 PROJETO DE HARDWARE .......................................................................................................................... 15 3.1.1 Fonte de Alimentao .................................................................................................................... 16 3.1.2 Placa Me ...................................................................................................................................... 21 3.1.3 Probe (sensor) ............................................................................................................................... 23 3.1.4 Mdulo de Oximetria ..................................................................................................................... 24 3.1.5 Display grfico .............................................................................................................................. 26 3.1.6 Teclado .......................................................................................................................................... 27

    3.2 PROJETO DE SOFTWARE.......................................................................................................................... 28 3.2.1 Mdulo do Oxmetro ...................................................................................................................... 28 3.2.2 Mdulo para Desktop .................................................................................................................... 30

    4 CO%CLUSO ............................................................................................................................................. 38

    5 REFER%CIAS .......................................................................................................................................... 40

    A%EXO A DOCUME%TAO DO MDULO DE OXIMETRIA SPOX-410 ......................................... 42

    A%EXO B TELAS DO SOFTWARE PARA DESKTOP .............................................................................. 43

    A%EXO C CDIGO FO%TE DO SISTEMA EMBARCADO .................................................................... 46

    GLOSSRIO ....................................................................................................................................................... 54

  • vi

    LISTA DE ILUSTRAES

    FIGURA 1 - DIAGRAMAS DA UML .......................................................................................................................... 11 FIGURA 2 WORKFLOWS DO PROCESSO UNIFICADO ............................................................................................... 13 FIGURA 3 - DIAGRAMA DE BLOCOS DO PROTTIPO ................................................................................................ 15 FIGURA 4 - DIAGRAMA DE BLOCOS DA FONTE DE ALIMENTAO ......................................................................... 16 FIGURA 5 - ESQUEMA ELTRICO COMPLETO DA FONTE DE ALIMENTAO ........................................................... 17 FIGURA 6 CIRCUITO RETIFICADOR ...................................................................................................................... 17 FIGURA 7 ETAPAS DO CIRCUITO RETIFICADOR .................................................................................................... 18 FIGURA 8 - CIRCUITO CARREGADOR DE BATERIAS ................................................................................................ 19 FIGURA 9 - CIRCUITO REGULADOR DE TENSO ...................................................................................................... 20 FIGURA 10 - ESQUEMA ELTRICO DA PLACA ME ................................................................................................. 21 FIGURA 11 DIVISOR DE TENSO E AMPLIFICADOR OPERACIONAL DE GANHO UNITRIO .................................... 22 FIGURA 12 - PROBE, SENSOR DE OXIMETRIA ........................................................................................................... 23 FIGURA 13 - ELEMENTOS DO SENSOR ..................................................................................................................... 24 FIGURA 14 MDULO DE OXIMETRIA MODELO SPOX-410 ................................................................................... 25 FIGURA 15 CONECTOR DB9 ................................................................................................................................ 25 FIGURA 16 CONEXO COM O COMPUTADOR ........................................................................................................ 25 FIGURA 17 FORMATO DE UMA TRANSMISSO ASSNCRONA 8N1 ......................................................................... 26 FIGURA 18 - DISPLAY TOSHIBA T6963C, 240X64 PIXELS........................................................................................ 26 FIGURA 19 TECLADO DO PROTTIPO ................................................................................................................... 27 FIGURA 20 ESQUEMA ELTRICO DO TECLADO .................................................................................................... 27 FIGURA 21 DIAGRAMA DE COMPONENTE ............................................................................................................ 28 FIGURA 22 - DIAGRAMA DE ATIVIDADE DO SOFTWARE EMBARCADO ..................................................................... 29 FIGURA 23 - DIAGRAMA DE CASOS DE USO DO SOFTWARE PARA DESKTOP ............................................................. 31 FIGURA 24 DIAGRAMA DE CLASSES .................................................................................................................... 33 FIGURA 25 DIAGRAMA DE SEQNCIA: CADASTRAR PACIE@TE ............................................................................ 34 FIGURA 26 DIAGRAMA DE SEQNCIA: CRIAR EXAME ......................................................................................... 35 FIGURA 27 DIAGRAMA DE SEQNCIA: OBTER LEITURA I@STA@T@EA ................................................................ 35 FIGURA 28 DIAGRAMA DE SEQNCIA: I@ICIAR MO@ITORAO CO@T@UA .......................................................... 36 FIGURA 29 - DIAGRAMA DE SEQNCIA: SALVAR ESTADO PACIE@TE ...................................................................... 36 FIGURA 30 - DIAGRAMA DE SEQNCIA: EMITIR RELATRIO.................................................................................. 37

  • vii

    LISTA DE TABELAS

    TABELA 1 : CUSTO DOS PRINCIPAIS COMPONENTES UTILIZADOS ............................................................................ 38 TABELA 2: COMPARAO ENTRE O PROTTIPO E MODELOS NACIONAIS / IMPORTADOS ......................................... 39

  • viii

    LISTA DE QUADROS

    QUADRO 1 - CONEXES ENTRE O MICROCONTROLADOR E O DISPLAY ..................................................................... 22

  • ix

    LISTA DE ABREVIATURAS E SIGLAS

    ABNT Associao Brasileira de Normas Tcnicas

    ANSI Instituto Nacional Americano de Padronizao

    CAD Computer-Aided Design Desenho Auxiliado por Computador

    CPU Central Processing Unit Unidade Central de Processamento

    INMETRO Instituto Nacional de Metrologia, Normalizao e Qualidade Industrial

    LCD Liquid Crystal Display Painel de Cristal Lquido

    LED Light Emitting Diode Diodo Emissor de Luz

    OEM Original Equipment Manufacturer Fabricante de Equipamento Original

    PC Personal Computer Computador Pessoal

    PCI Placa de Circuito Impresso

    RAM Random Access Memory Memria de Acesso Randmico

    ROM Read Only Memory Memria Somente Leitura

    UML Unified Modeling Language Linguagem de Modelagem Unificada

    UTI Unidade de Terapia Intensiva

    VAC Tenso Alternada

    VDC Tenso Contnua

    VPC Tenso Por Clula

    USB Universal Serial Bus

    USART Transmissor/Receptor Universal Sncrono e Assncrono

  • x

    LISTA DE SMBOLOS

    Micro - Prefixo numrico representando 10-6

    k Quilo - Prefixo numrico representando 103

    p Pico - Prefixo numrico representando 10-12

    F Farads Unidade de Capacitncia

    Ohm Unidade de Resistncia

    b bit Unidade de Informao

    V Volts Unidade de Tenso Eltrica

  • 1

    1 I%TRODUO

    Durante um atendimento mdico, os procedimentos a serem efetuados dependem de uma

    avaliao do estado do paciente; para essa tarefa so empregados, juntamente com o

    conhecimento mdico, vrios dispositivos e equipamentos, onde tal avaliao pode conduzir o

    paciente a uma simples medicao ou em casos mais graves at uma interveno cirrgica

    (WEBSTER, 2006).

    A maioria dos equipamentos de monitoramento tem aplicao no pr-operatrio, na sala de

    operaes e no ps-operatrio. Alguns sistemas tm mais utilidades antes e logo aps um

    procedimento, como o caso da oximetria de pulso. A oximetria consiste numa medio

    contnua e indireta da oxigenao dos tecidos atravs de um mtodo no-invasivo, que se

    relaciona com o contedo de oxignio no sangue, de enorme importncia nas prticas

    cirrgicas e anestsicas moderna. O oxmetro tem grande importncia na recuperao do

    impacto anestsico-cirrgico, onde comum o desenvolvimento de hipoxemia (baixa

    concentrao de oxignio no sangue) nesse perodo ps-operatrio imediato (MARCONDES

    et al., 2006).

    Atualmente, no mercado brasileiro de equipamentos eletromdicos, possvel encontrar

    diversas marcas de oxmetro de pulso, tais como Ohmeda, Emai, Dixtal, dentre outros, que

    oferecem uma vasta gama de recursos, como indicadores do sinal captado, alarmes sonoros e

    visuais, curva pletismogrfica, baterias de longa durao, enfim, possuem diversas

    caractersticas que os tornam mais versteis e indispensveis no ambiente mdico

    (FERNANDES; OJEDA; LUCATELLI, 2001). Entretanto, uma prtica que ganha destaque

    o uso de microcomputadores para auxiliar o diagnstico de pacientes, e verificou-se que os

    equipamentos eletromdicos nacionais no oferecem conectividade aos PCs de forma fcil e

    rpida, gerando relatrios, provendo grficos e informaes em tempo real e, sobretudo de

    baixo custo.

    Em alguns exames, a monitorao contnua e ininterrupta dos nveis de oximetria de

    importncia fundamental para o diagnstico mdico, como por exemplo, em pacientes

    submetidos polissonografia - um exame que busca identificar problemas de apnia,

  • 2

    hipopneia e outras doenas relacionadas ao sono. Contudo, a polissonografia realizada num

    laboratrio de sono dispendiosa, envolve recursos humanos e tcnicos considerveis, que

    no se encontram facilmente disponveis (VENTURA; OLIVEIRA; DIAS, 2007). Portanto,

    identificou-se a necessidade de unir o oxmetro ao microcomputador, atravs de um software

    que possibilite a monitorao dos sinais atravs de uma interface mais completa.

    Evidentemente isso resultaria em inmeros benefcios: o mdico poderia monitorar os nveis

    de oxigenao do paciente da sua sala, da sua casa ou de qualquer local remoto atravs da

    Internet, e at emitir relatrios computadorizados economizando recursos.

    Diante do cenrio apresentado, prope-se o desenvolvimento de um prottipo de oxmetro de

    pulso que fornecer valores em uma forma numrica atravs de sinais digitais, os quais podem

    ser interpretados e tratados por microcontroladores ou computadores, a um custo menor em

    relao aos oferecidos pelo mercado.

    1.1 Justificativa

    A implementao do oxmetro de pulso se justifica pela necessidade de desenvolver um

    hardware e software destinado rea mdica, que possua conectividade aos

    microcomputadores auxiliando o diagnstico de pacientes. Diante desse fato, as contribuies

    sero a reduo dos custos, um melhor aproveitamento do potencial das informaes e

    agilidade na anlise dessas informaes.

    1.2 Definio e delimitao do problema

    Este trabalho definir os conceitos relacionados rea mdica e de software envolvidos com o

    tema, apresentar o desenvolvimento do projeto de hardware e software do prottipo do

    oxmetro, bem como a sua implementao. Alguns termos da rea mdica utilizados:

    a) Oximetria de pulso: pode ser definida como uma medida que busca, em primeira

    instncia, garantir nveis adequados de oxignio no sangue arterial para evitar a

    hipoxemia. (NUNES; TERZI, 1999).

  • 3

    b) Hipoxemia: entende-se como uma deficincia de concentrao de oxignio no sangue

    arterial. Logo, o oxmetro de pulso permite um monitoramento do estado do paciente

    de uma forma contnua e no-invasiva, atravs da saturao parcial de oxignio.

    c) Mtodo no-invasivo: caracterizado pela ausncia de invasores no corpo do paciente,

    ou seja, no h necessidade de inserir instrumentos furando ou fazendo incises em

    qualquer parte corpo.

    O escopo deste trabalho delimita-se em apresentar uma forma de implementao de um

    oxmetro de pulso, descrevendo todos os recursos, ferramentas e mtodos necessrios para

    que seja construdo um prottipo funcional, pretendendo atender a uma necessidade - a

    conectividade com os microcomputadores pessoais. Para isso, ser apresentado todos os

    passos e processos necessrios, fazendo-se com que se unam todos os componentes

    necessrios. Grande parte das figuras e diagramas utilizados neste trabalho de prpria

    autoria.

    1.3 Objetivos

    1.3.1 Objetivo geral

    O objetivo desse trabalho desenvolver um prottipo de oxmetro de pulso, oferecendo

    conectividade ao microcomputador e permitindo aos usurios terem uma melhor interpretao

    e manipulao dos dados obtidos.

    1.3.2 Objetivos especficos

    Este trabalho tem como objetivos especficos:

    a) Definir os requisitos;

    b) Projetar o hardware;

    c) Projetar o software;

    d) Construir o prottipo.

    1.4 Metodologia

    A metodologia para o desenvolvimento desse trabalho composta das seguintes fases:

  • 4

    1.4.1 Reviso de Literatura

    A reviso de literatura ser realizada por meio de pesquisa bibliogrfica, ou seja, utilizaram-se

    bases de dados de teses e artigos, livros e peridicos disponveis na Internet como fontes de

    pesquisa.

    1.4.2 Projeto de hardware

    O oxmetro far a leitura dos sinais biomtricos do paciente atravs de um mdulo de

    oximetria, dotado de um sensor. Ser tarefa do hardware e do software proposto por esse

    trabalho ler e interpretar os valores obtidos e exibi-los num display, assim como transmiti-los

    a um microcomputador atravs de uma interface serial. Nesta etapa, ser desenvolvido um

    projeto de hardware, mostrando seus principais componentes e seu inter-relacionamento.

    O projeto do hardware do oxmetro ser desenvolvido de acordo com os requisitos de

    software, pois ser a base onde ele ser executado. Inicialmente, deve-se fazer uma seleo de

    componentes eletrnicos, levando em considerao a funo e o custo de cada um. Essa

    seleo de componentes ser realizada de acordo com necessidades especficas, tais como

    amplificadores operacionais para realizar ganhos de tenso, circuitos integrados diversos,

    display, teclado, dentre outros. Para realizar a interligao entre esses componentes,

    constituindo um circuito eletrnico, ser necessrio realizar consultas aos datasheets dos

    fabricantes, os quais nos daro informaes e especificaes sobre os componentes. Tais

    datasheets esto disponveis no prprio site de cada fabricante. Com essas informaes em

    mos, o prximo passo ser desenvolver um diagrama de blocos e um Esquema Eltrico

    utilizando CAD (Desenho Auxiliado por Computador) e efetuando simulaes via software

    para comprovar o funcionamento.

    1.4.3 Projeto de software

    Em relao ao software, ser dividido em dois: um mdulo que executar no prprio

    oxmetro, formando um sistema embarcado, e o outro que ser utilizado num

    microcomputador, para um melhor tratamento dos dados. O usurio poder interagir com os

    dois softwares, uma vez que ambos iro apresentar uma interface, seja num pequeno display

    disponvel no prottipo, quanto na tela do computador, onde ter um acesso mais completo

    aos dados e permitindo uma melhor anlise dos mesmos. Uma vez levantado todos os

  • 5

    requisitos, inicia-se a fase de implementao. No caso do software embarcado, que ser

    programado no microcontrolador, dever ser utilizada uma linguagem prpria para esse

    dispositivo, tal como o ANSI C, atravs do ambiente integrado mikroC 7, desenvolvida pela

    mikroElektronica.

    O software a ser executado no computador, poder ser implementado em qualquer outra

    linguagem de alto nvel, como Java.

    1.4.4 Construo do prottipo

    O software ser desenvolvido utilizando-se um microcomputador normal, no compilador

    mikroC. A construo do prottipo poder ser feita sob um protoboard, onde dispomos de

    uma matriz de pontos que facilitam a interligao entre os componentes eletrnicos, formando

    assim uma verso funcional do hardware. O passo seguinte ser alimentar o circuito

    fornecendo-o a tenso previamente calculada, e carregar o software na memria do

    microcontrolador, utilizando um PC. Com o circuito em funcionamento, faz-se necessrio

    realizar medies e ajustes documentando-se todas as alteraes.

    1.4.5 Validao

    A validao dos dados exibidos no display, seja ele a saturao de oxignio ou a freqncia

    cardaca do paciente, pode ser comprovada atravs de um simulador, devidamente calibrado e

    aferido pelo INMETRO. Para realizar essa tarefa, o simulador toma o lugar do paciente,

    enviando os sinais biomtricos ao prottipo. Ser utilizado o simulador da marca R&D Mediq,

    modelo HS20, que capaz de simular valores de SpO2 de 0% a 99% e batimentos cardacos

    de 30 a 240 BPM.

  • 6

    2 REVISO DA LITERATURA

    2.1 Oxmetro de Pulso

    Os oxmetros de pulso so largamente utilizados na prtica clnica, principalmente nas

    Unidades de Terapia Intensiva (UTI) para monitorar a saturao de oxignio, detectando e

    prevenindo a hipoxemia. Monitorar a saturao de oxignio durante a anestesia um

    procedimento padro, que sempre feito utilizando-se oxmetro de pulso. Esses oxmetros

    tambm so teis durante procedimentos de broncoscopia, endoscopia, cateterizao cardaca,

    testes fsicos e estudos do sono (WEBSTER, 2006, p.472).

    Esse equipamento um monitor que realiza medidas da saturao da hemoglobina do sangue

    arterial (SpO2) pela transmisso de dois comprimentos de onda de um sinal luminoso,

    geralmente 660nm (vermelho) e 940nm (infravermelho), que atravessa ou refletida pelos

    tecidos humanos (ABNT, 1997). O princpio de funcionamento do oxmetro de pulso

    baseado na lei Beer-Lambert que relaciona a concentrao de um soluto com a intensidade de

    luz transmitida atravs de uma soluo (KNOBEL, 1998). Sendo assim, o oxmetro consegue

    diferenciar a absoro de energia luminosa devido ao sangue arterial relacionando a um valor

    de SpO2 (FERNANDES; OJEDA; LUCATELLI, 2001). O equipamento contm um probe

    (compartimento que contm o sensor) no corpo do paciente e este sensor est ligado a uma

    unidade computadorizada que informa os valores obtidos (FEARNLEY, 1995).

    Alguns oxmetros encontrados no mercado, tais como o Dixtal modelo DX-2515

    (HOLZHACKER, 2001), so apropriados para utilizao com pacientes adultos, peditricos e

    neonatais. Este modelo proporciona uma mensurao fidedigna contnua, apresentao dos

    valores e alarmes para a SpO2 e pulso cardaco, podendo funcionar atravs de uma tomada de

    energia eltrica ou de sua bateria interna recarregvel. A saturao de oxignio e o pulso

    cardaco so atualizados uma vez a cada segundo e imediatamente exibidas num display LCD.

    Este equipamento ainda emitir aviso sonoro quando algum nvel fisiolgico crtico for

    detectado (HOLZHACKER, 2001).

  • 7

    2.2 Conceitos de Hardware

    O desenvolvimento do hardware para o oxmetro proposto nesse trabalho envolver os

    seguintes conceitos:

    a) Circuitos integrados: so circuitos cujos componentes e conexes so feitas em reas

    distintas de um nico chip, construdo de um material condutor, como o silcio

    (GIBILISCO, 2001, p.371).

    b) Microcontroladores: so circuitos integrados de baixo custo, rotulados como Single-

    chip computer. Isso significa que, mesmo encapsulado num simples chip de silcio, ele

    tem as mesmas caractersticas de um computador pessoal. O microcontrolador capaz

    de armazenar e rodar programas sua mais importante caracterstica. Ele contm uma

    CPU (Unidade Central de Processamento) , memria RAM (Memria de Acesso

    Randmico) e ROM (Memria Somente Leitura), linhas de entrada e sada,

    contadores, e em alguns modelos incluem at conversores de sinais analgicos para

    digital e vice-versa (IOVINE, 2000, p.1).

    c) Comunicao Serial: a transmisso de informaes ao longo de um caminho, onde os

    dados so enviados um aps o outro (GIBILISCO, 2001, p.620).

    O projeto de hardware e seu desenvolvimento consistem das seguintes etapas (IOVINE,

    2000):

    a) Definir os requisitos;

    b) Coletar informaes dos componentes em questo;

    c) Adquirir componentes que atendam aos requisitos;

    d) Criar um Diagrama de Blocos preliminar;

    e) Desenhar um Esquema Eltrico usando CAD (desenho auxiliado por computador);

    f) Efetuar simulaes utilizando softwares especficos ou montando sobre um

    protoboard;

    g) Documentar o projeto e gerar a lista de materiais;

    h) Iniciar o desenho da Placa de Circuito Impresso (PCI);

    i) Revisar e verificar o circuito em operao utilizando-se de osciloscpios, multmetros

    e outras ferramentas;

    j) Atualizar e completar a documentao incluindo as mudanas no projeto.

  • 8

    A ordem das tarefas acima independente, e algumas delas podem ser feitas em paralelo. O

    projeto do hardware normalmente feito em paralelo com o software, garantindo que ele seja

    totalmente compatvel com a verso em desenvolvimento (ARNOLD, 2000, p.21). Por isso,

    se torna extremamente til a utilizao de ferramentas de simulao computadorizadas, como

    o caso do software Proteus VSM, desenvolvido pela LabCenter (HILLS, 1999).

    Simuladores como esse buscam testar a CPU a ser utilizada, puramente via software,

    possibilitando analisar o comportamento do circuito eletrnico de diversos pontos. A grande

    vantagem desse simulador a capacidade de exercitar o software interagindo com o hardware

    (HILLS, 1999).

    Segundo Velloso (2006, p.31), nas atividades que envolvem projetos eletrnicos, o uso da

    expresso grfica de esquemas muito importante para a simplificao da complexidade de

    um circuito, que utiliza numerosos componentes e dispositivos. O desenvolvimento de um

    projeto eletrnico deve conter desenhos de diagramas eletrnicos, em forma Diagrama de

    Blocos, com a descrio funcional detalhada dos componentes e com o desenho do Esquema

    Eletrnico completo.

    O Diagrama de Blocos uma representao do circuito desenhada por linhas simples e figuras

    geomtricas, e nela esto contidas as informaes funcionais bsicas, interligadas por setas

    que indicam o curso do sinal atravs do sistema ou do circuito eltrico do dispositivo. Os

    Esquemas Eltricos indicam as ligaes bsicas necessrias compreenso do funcionamento

    de um circuito. Os componentes devem indicar suas numeraes e valores (resistncia,

    capacitncia, tipo de componente). Para representar os componentes, utiliza-se de smbolos

    grficos estabelecidos por diversas normas da ABNT (SEDRA, 2004), dentre elas:

    NBR 5448: Smbolos Grficos de Resistores;

    NBR 5449: Smbolos Grficos de Capacitores;

    NBR 5446: Smbolos Grficos de Relacionamento usados na Confeco de Esquemas;

    NBR 5280: Smbolos Literais de Identificao de Elementos de Circuito;

    NBR 5264: Smbolos Grficos de Dispositivos de Conexo.

    As ligaes entre os componentes so esquematizadas atravs de linhas que representam fios

    idias, ou seja, sem nenhuma resistncia. A esquematizao de circuitos integrados se d

    atravs de suas portas lgicas, por exemplo, com o desenho da porta e a indicao do nmero

    do terminal (pino) ao qual corresponde. Nos outros circuitos integrados complexos, como o

  • 9

    caso do microcontrolador, a notao usada um retngulo, o qual representa a funo de seus

    terminais e a indicao numrica do mesmo, alm do numero que ele ocupa no projeto.

    2.3 Conceitos de Software

    A Engenharia de Software a aplicao de uma abordagem sistemtica, disciplinada e

    quantificvel, para o desenvolvimento, operao e manuteno do software; isto , a aplicao

    da engenharia ao software. Ela cria e utiliza-se de slidos princpios da engenharia com o

    intuito de obter softwares econmicos que sejam confiveis e que trabalham eficientemente

    em mquinas reais (PRESSMAN, 2006). Seus mtodos proporcionam representaes

    grficas, introduzem e asseguram qualidade ao software, fornecem apoio automatizado ou

    semi-automatizado atravs de ferramentas e tambm nos proporcionam meios para avaliar o

    progresso.

    Segundo Pressman (2006), a engenharia de software uma tecnologia em camadas, as quais

    so as seguintes: foco na qualidade, processo, mtodos e ferramentas. A engenharia de

    software deve se apoiar num compromisso organizacional com a qualidade, a qual

    considerada a camada base. A camada de processo considerada o alicerce, a qual age como

    um adesivo que mantm unidas as camadas de tecnologia. Ela define um arcabouo que deve

    ser estabelecido para a efetiva utilizao da tecnologia de software (PRESSMAN, 2006). Os

    mtodos fornecem a tcnica de como fazer os softwares e abrangem um conjunto de tarefas

    que incluem comunicao, anlise de requisitos, projeto, implementao, testes e manuteno.

    As ferramentas fornecem o apoio automatizado ou semi-automatizado para o processo e para

    os mtodos.

    Um arcabouo de processo genrico definido por Pressman (2006), o qual aplicvel a

    grande maioria dos projetos de software. Ele composto pelas seguintes atividades:

    Comunicao: envolve alta comunicao e colaborao com o cliente (e demais

    interessados) e abrange o levantamento de requisitos e outras atividades relacionadas;

    Planejamento: define um plano para o trabalho de engenharia de software a ser

    desenvolvido. Descreve as tarefas tcnicas a ser conduzida, a previso de riscos, a

    necessidade de recursos, os resultados a serem produzidos e um cronograma de

    trabalho;

  • 10

    Modelagem: inclui a gerao de modelos que possibilitam ao desenvolvedor e ao

    cliente, compreender melhor os requisitos do software e o projeto que vai atender a

    esses requisitos;

    Construo: refere-se gerao de cdigo (manual ou automtico), bem como aos

    testes necessrios para revelar erros no cdigo;

    Implantao: O software parcial ou completo entregue ao cliente, que o avalia e

    fornece feedback ao desenvolvedor;

    Modelos prescritivos de processo foram originalmente propostos para colocar ordem no caos

    do desenvolvimento de software. Esses modelos definem um conjunto distinto de atividades,

    aes, tarefas, marcos e produtos de trabalho que so indispensveis para se fazer engenharia

    de software com alta qualidade. Existem vrios modelos prescritivos tais como: cascata,

    incrementais, RAD, evolucionrios e especializados.

    2.3.1 UML

    A Unified Modeling Language (UML) uma linguagem visual para modelar sistemas. Isso

    quer dizer que ela constituda de elementos grficos que permitem representar os conceitos

    do software a ser desenvolvido. Atravs dos elementos grficos definidos nessa linguagem,

    podem-se construir diagramas que representam diversas perspectivas de um sistema

    (BEZERRA, 2002).

    Segundo Bezerra (2002), cada elemento grfico possui uma sintaxe (isto , uma forma pr-

    determinada de se desenhar um elemento) e uma semntica que definem o que significa o

    elemento e para que ele deva ser utilizado.

    Um processo de desenvolvimento que utilize a UML como linguagem de suporte

    modelagem envolve a criao de diversos documentos. Na terminologia da UML, esses

    documentos so denominados artefatos de software. So os artefatos que compe as vises do

    sistema.

    Esses artefatos grficos produzidos durante o desenvolvimento de um sistema de software so

    definidos atravs da utilizao dos diagramas da UML. Os diagramas da UML so listados na

    Figura 1.

  • 11

    Diagrama

    de Caso-Uso

    Diagrama

    de Classes

    Diagrama

    de objetos

    Diagramas deSequencia

    Diagramas deColaborao

    Diagrama de

    interao

    Diagrama de

    transio de estados

    Diagrama de

    Atividades

    Diagramas deComponentes

    Diagramas deImplementao

    Diagramas de

    Implementao

    Diagramas da UML

    Figura 1 - Diagramas da UML

    No decorrer deste trabalho, sero usados os seguintes diagramas:

    Diagrama de Componentes: ilustra os vrios componentes de um software e suas

    dependncias. Uma dependncia liga um componente a outro que lhe fornece algum

    tipo de servio (BEZERRA, 2002, p.249). Um componente uma unidade de software

    que pode ser utilizada na construo de vrios sistemas e que pode ser substituda por

    outra unidade que tenha a mesma funcionalidade. Os componentes podem prover

    acesso aos seus servios atravs de uma interface. Alm de oferecer servios a outros

    componentes do sistema, ele tambm pode requisitar servios.

    Diagrama de Atividade: representam-se os estados de uma atividade especfica. Na

    verdade, o diagrama de atividade pode ser visto como uma extenso dos fluxogramas,

    porm com uma notao ligeiramente diferente (BEZERRA, 2002, p.228). Um

    diagrama de atividade exibe os passos de uma computao. Cada estado corresponde a

    um dos passos da computao, onde o sistema est realizando algo.

    Diagrama de Casos de Uso: corresponde a uma viso externa do sistema e representam

    graficamente os atores, casos de uso e relacionamento entre esses elementos.

    Diagrama de Classes: utilizado na construo de um modelo de classes desde o nvel

    de anlise at o nvel de especificao detalhada. De todos os diagramas da UML, esse

    o mais rico em termo de notao (BEZERRA, 2002, p.97).

    Diagrama de Seqncia: um tipo de diagrama de interao, ou seja, utilizado para

    modelar a lgica de um cenrio de Casos de Uso. Ele tambm utilizado para modelar

    a troca de mensagens entre objetos, dando nfase na ordem temporal das mensagens

    trocadas entre eles (BEZERRA, 2002, p.97). Um conceito importante ilustrado por

    esse diagrama so os Objetos de Fronteira, responsveis por apresentar os resultados

    de uma interao dos objetos internos em algo que possa ser entendido pelo ator.

    Segundo Bezerra, esses Objetos de Fronteira existem para que o sistema possa se

  • 12

    comunicar com o mundo exterior, podendo ser uma interface grfica com o usurio,

    por exemplo.

    2.3.2 Processo Unificado

    Um dos processos derivados de modelos prescritivos apresentados o Processo Unificado.

    Ele faz uso da Linguagem de Modelagem Unificada (Unified Modeling Language UML),

    dirigido por Casos de Uso e tambm centrado na arquitetura do software. Outra

    caracterstica interessante do Processo Unificado que ele constitui-se de um processo

    incremental, baseado em componentes. Possui uma infra-estrutura genrica de processos que

    pode ser especializada para uma ampla classe de sistemas de software, de diferentes tamanhos

    e diferentes reas (FALBO, 2000), possibilitando o desenvolvimento de forma incremental e

    iterativa (JACOBSON et al., 1998), composta de quatro fases (SANTANDER;

    VASCONCELOS, 2000):

    a) Concepo: nesta fase objetiva-se definir os casos de uso mais crticos, as funes

    chave do sistema e delimita-se o escopo do produto a ser desenvolvido;

    b) Elaborao: define-se a descrio arquitetural do software. Procura-se tambm definir

    a maioria dos casos de uso, capturando os requisitos do software;

    c) Construo: foca-se o projeto e a implementao, visando dar capacidade operacional

    ao software;

    d) Transio: envolve a realizao de testes com o usurio, corrigir defeitos encontrados

    e realizar treinamento.

    Cada uma destas fases geralmente composta por cinco workflows, denominados de

    Requisitos, Anlise, Projeto, Implementao e Teste, como mostra a Figura 2.

  • 13

    Figura 2 Workflows do Processo Unificado

    Fonte: O Processo Unificado Dependendo da fase, maior ou menor nvel de detalhes pode ser desenvolvido em um

    workflow especfico. Na fase de concepo, por exemplo, a maior concentrao de esforos

    estar nos workflows iniciais de requisitos e anlise. Os outros workflows de Projeto,

    Implementao e Teste podem conter menos informaes e menos detalhes.

    O conceito de processo iterativo vem da propriedade de que cada fase pode conter uma ou

    mais iteraes de desenvolvimento, sendo que cada iterao realiza um ciclo completo nos

    workflows. Depois de concluda uma iterao, ocorre uma evoluo, a qual incrementa

    funcionalidades e/ou melhorias ao sistema (SANTANDER; VASCONCELOS, 2000).

    2.3.3 Sistema Embarcado

    Um sistema embarcado, ou sistema embutido, um sistema microprocessado no qual o

    computador completamente encapsulado ou dedicado ao dispositivo ou sistema que ele

    controla. Diferente de computadores de propsito geral, como o computador pessoal, um

    sistema embarcado realiza um conjunto de tarefas pr-definidas, geralmente com requisitos

    especficos. J que o sistema dedicado tarefas especficas, atravs de engenharia pode-se

    otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto

    (MARWEDEL, 2003). O prottipo do oxmetro, que engloba tanto o hardware como o

    software, poder ser classificado como um sistema embarcado, uma vez que possui as

    seguintes caractersticas :

    a) So projetados para realizar uma funo ou uma gama de funes, e no para ser

    reprogramado por usurios finais;

  • 14

    b) Interagem com o ambiente em que se encontram, coletando dados de sensores e

    atuando utilizando atuadores, tais como indicadores sonoros ou sinais luminosos;

    c) Devem ser confiveis, estveis e possuir caractersticas de recuperao em caso de

    falhas e oferecer segurana, tanto em relao ao ambiente em que est inserido quanto

    s informaes neles contidas;

    d) Possuem mtricas de eficincia alm das j conhecidas para projetistas de sistemas

    desktops ou servidores: consumo de energia, tamanho do cdigo, execuo eficiente,

    peso e custo.

  • 15

    3 DESE%VOLVIME%TO

    3.1 Projeto de Hardware

    De acordo com o que j foi exposto anteriormente, o software do prottipo necessitar de uma

    plataforma especialmente desenvolvida, ou seja, faz-se necessrio criar um circuito eletrnico

    que contenha todas as partes necessrias para o funcionamento do sistema. A Figura 3

    representa todo o equipamento atravs de um Diagrama de Blocos.

    Figura 3 - Diagrama de Blocos do prottipo

    Atravs desse diagrama, representa-se a constituio do equipamento, com as devidas

    relaes de funcionamento que existem entre os diversos constituintes, a saber:

    Fonte de Alimentao: exigida por quase todos os circuitos eletrnicos, responsvel

    por abaixar a tenso fornecida pela rede eltrica para nveis requeridos pelo circuito a

    ser alimentado. Por sua vez, tambm composta pelos seguintes circuitos:

    o Circuito Retificador: transforma a corrente alternada para corrente contnua;

    o Circuito Carregador de Baterias: responsvel por manter a bateria sempre

    carregada e pronta para assumir caso haja falhas ou ausncia de rede eltrica;

    o Circuito Regulador de Tenso: usado para manter as tenses fornecidas em

    valores constantes, ou seja, serve como uma linha de defesa contra picos de

    tenso e instabilidade da rede eltrica.

    Placa Me: responsvel por unir os perifricos, tais como o sensor, mdulo de

    oximetria, display grfico, fonte e teclado. Sua funo criar meios para que o

    microcontrolador possa comunicar-se com todos os componentes do prottipo, com a

  • 16

    maior velocidade e confiabilidade possvel. Destaca-se tambm por fornecer a

    alimentao necessria a todos os outros componentes do sistema;

    Probe (sensor): a unidade que vai junto ao corpo do paciente, emitindo radiaes

    visveis e infravermelhas. Sua funo informar ao Mdulo de Oximetria a

    quantidade de luz absorvida proporcional saturao de oxignio;

    Mdulo de Oximetria: uma unidade computadorizada, composta por processadores

    digitais que calculam tanto a saturao de oxignio no sangue quanto freqncia

    cardaca, atravs de equaes matemticas. Os resultados so enviados para a Placa

    Me no formato serial, ou seja, um bit aps o outro;

    Display grfico: unidade dotada de um Painel de Cristal Lquido (LCD), composto por

    pixels monocromticos, retro-iluminados. Possui um controlador interno responsvel

    por interpretar os dados da Placa Me. Atravs desse display, possvel mostrar ao

    usurio os valores medidos e a curva pletismogrfica, bem como outros sinais visuais;

    Teclado: um conjunto de teclas que permitem a seleo dos parmetros de alarme,

    modos de operao, contraste do display e qualquer outra funo que necessite

    interveno do usurio. composto por teclas tcteis, com contatos do tipo

    normalmente abertos. funo do software determinar se um boto est

    pressionado ou no;

    3.1.1 Fonte de Alimentao

    A Fonte de Alimentao do prottipo responsvel por reduzir a tenso de 110VAC

    disponvel na rede eltrica para os nveis requeridos pelos outros componentes (ARNOLD,

    2000). As Figuras 4 e 5 representam, respectivamente, o Diagrama de Blocos e o Esquema

    Eltrico da fonte, composta pelos circuitos Retificador, Regulador de Tenso e Carregador de

    Baterias.

    Figura 4 - Diagrama de Blocos da Fonte de Alimentao

  • 17

    Figura 5 - Esquema Eltrico Completo da Fonte de Alimentao

    Todos os outros diagramas presente nesse trabalho foram desenhados com o auxlio da

    ferramenta ISIS Professional, comercializada junto com pacote Proteus, desenvolvido pela

    Labcenter (HILLS, 1999).

    3.1.1.1 Circuito Retificador

    O circuito Retificador, ilustrado na Figura 6, responsvel por converter a corrente alternada,

    disponvel na rede eltrica, para corrente contnua, uma vez que todos os outros componentes

    do prottipo precisam ser alimentados dessa forma. Esse tipo de circuito conhecido como

    Retificador de Onda Completa.

    Figura 6 Circuito Retificador

  • 18

    O transformador TR1 do tipo 24+24, responsvel por abaixar a tenso de 110VAC para

    24VAC, fornecendo uma corrente mxima de 1A. Os diodos D1 e D2 so do tipo 1N4007,

    retificadores de uso geral, com uma baixa queda de tenso e resistente a surtos de corrente. De

    acordo com Mims (1986), os diodos so componentes que conduzem eletricidade somente em

    uma direo, enquanto bloqueia o fluxo de corrente numa direo oposta. importante notar

    que a corrente de sada do transformador ainda alternada, porm a tenso de 24VAC

    oscilando numa freqncia de 60 Hz. Dessa forma, os diodos D1 e D2 iro transformar essa

    corrente em contnua, mantendo a amplitude (tenso). Esse fenmeno ilustrado na Figura 7.

    Figura 7 Etapas do Circuito Retificador

    Os capacitores C1 e C2 so do tipo eletroltico, de 2200F e 1000F respectivamente, agindo

    de modo a eliminar o ripple. De acordo com a Figura 7, o ripple, que a componente

    alternada (VAC) que incide sobre a corrente contnua (VDC), foi eliminado ou

    significativamente reduzido utilizando-se esses capacitores. Sendo assim, temos 24 VDC na

    sada desse Circuito Retificador.

    3.1.1.2 Circuito Carregador de Baterias

    O prottipo do oxmetro dever oferecer uma segunda fonte de energia; caso a rede eltrica

    apresente falhas, ou interrupes no fornecimento, uma bateria interna dever assumir. A

    alimentao interna tambm traz mobilidade ao equipamento. Neste caso, a bateria dever ser

    capaz de alimentar o prottipo por no mnimo duas horas, tempo necessrio para transporte de

    pacientes crticos entre hospitais, auxiliando o processo de oxigenoterapia com o intuito de

    diminuir a mortalidade e a incidncia de hipoxemia (MARCONDES, 2006).

    Entretanto, para manter a bateria num nvel confivel, sempre pronta para assumir a

    alimentao em qualquer momento, o Circuito Carregador de Baterias tem a funo de

  • 19

    fornecer uma tenso constante bateria, chamada de Tenso de Flutuao. A Figura 8 mostra

    a representao esquemtica do circuito.

    Figura 8 - Circuito Carregador de Baterias

    De acordo com o esquemtico acima, o circuito integrado U1 do tipo LM317L, um

    Regulador de Tenso Varivel. Sua funo reduzir a tenso de 24 VDC na sua entrada, dada

    pelo Circuito Retificador, para 13,6 VDC a Tenso de Flutuao da bateria. Segundo Emadi

    (2005, p.17-18), a Tenso de Flutuao (Tf) para um bateria selada de 2,27 Volts por clula

    (Vpc). De acordo com as especificaes da bateria selada utilizada no prottipo, fabricada

    pela Rontek, ela possu 6 clulas e tem uma tenso de 12V entre seus plos. Logo, a Tenso

    de Flutuao pode ser comprovada multiplicando-se a tenso necessria por clula pela sua

    quantidade:

    VVTf 62,13627,2 == (1)

    Para fazer com que a sada de U1 esteja regulada a 13,6V (Tf), se faz necessrio o uso de

    resistores externos, identificados por R1, R2 e R3, como visto em seu datasheet National

    (1982). importante observar a funo do diodo D3, do tipo 1N4007; ele responsvel por

    direcionar o fluxo da corrente, denotada por i na Figura 8. O conector J2 vai diretamente

    bateria, cujo pino 1 vai ao plo positivo e o outro ao negativo.

    Dessa forma, teremos 13,6V regulados no final do circuito quando alimentado pela rede

    eltrica. Entretanto, com falhas ou ausncia da rede, teremos 12V de sada pois a bateria

    assumir a alimentao. Essa variao devido ao tipo de fonte, externa ou interna

  • 20

    respectivamente, no ir exercer influncia na prxima etapa da fonte, que ser dedicada

    regulagem.

    3.1.1.3 Circuito Regulador de Tenso

    Este circuito alimentado pela sada do Carregador de Baterias ou pela prpria bateria

    interna, na ausncia de energia eltrica. A Figura 9 ilustra o circuito e seus componentes.

    Figura 9 - Circuito Regulador de Tenso

    Entretanto, as tenses fornecidas pela fonte ou pelo Carregador de Baterias ainda no

    apresentam nveis que podero ser utilizados na alimentao dos demais componentes do

    prottipo. Tais componentes necessitam ser alimentados por tenses mais baixas,

    devidamente reguladas, ou seja, independente de alteraes devido picos de consumo e imune

    s oscilaes. A funo desse Circuito Regulador de Tenso converter a tenso aplicada na

    sua entrada para um valor fixo, geralmente menor (MIMS, 1986).

    Em relao ao esquema da Figura 9, o componente U3 um regulador de tenso da famlia

    7805. Ele admite uma entrada de at 35 Volts, enquanto sua sada sempre ser regulada a 5

    Volts, e esta diferena ser dissipada na forma de calor. Todos os capacitores da Figura 9 tm

    a finalidade de fornecer rapidamente picos de corrente elevada que os chips exigem

  • 21

    substancialmente. Eles so chamados de Capacitores de Desacoplamento. Os outros circuitos

    integrados, U4 e U5, so utilizados para gerar uma tenso negativa de amplitude -5 Volts,

    utilizada pelo amplificador operacional da Placa Me.

    3.1.2 Placa Me

    A Placa Me do prottipo ser aquela em que estar presente o microcontrolador, componente

    principal de equipamento. A Figura 10 mostra o Esquema Eltrico da Placa Me.

    Figura 10 - Esquema Eltrico da Placa Me

    De acordo com o datasheet Microchip (2002), o microcontrolador U1, do tipo PIC18F452

    um dispositivo de 40 pinos, que trabalha numa freqncia mxima de operao de 40 Mhz,

    possui 32kb de memria interna no-voltil e capaz de rodar programas escrito pelo usurio.

    nesse chip que o software do oxmetro ser armazenado.

    O display, apesar de ser representado no Esquema da Figura 10, um componente

    fisicamente separado da Placa Me. Ele est nesse diagrama somente para ilustrar as conexes

    diretas com o microcontrolador. As conexes com o display esto representadas no Quadro 1.

  • 22

    Pino do Microcontrolador Pino do Display

    RA1/AN1 3 RD 6

    RA2/AN2 4 CD 8

    RA3/AN3 5 RST 10

    RA5/AN4 7 WR 5

    RD0 19 D0 11

    RD1 20 D1 12

    RD2 21 D2 13

    RD3 22 D3 14

    RD4 27 D4 15

    RD5 28 D5 16

    RD6 29 D6 17

    RD7 30 D7 18

    Quadro 1 - Conexes entre o microcontrolador e o display

    Fonte: Manual de Usurio mikroC.

    A freqncia de operao do sistema, ou seja, a quantidade de instrues de cdigos que sero

    executadas em um segundo so definidas pelo conjunto de componentes X1, C1 e C2.

    Segundo o datasheet Microchip (2002, p.18), os valores de C1 e C2 para um cristal X1 de

    10Mhz, poder ser entre 15pF e 33pF. Logo, foram selecionados capacitores de 22pF por

    serem comercialmente disponveis, de fcil obteno.

    Outro componente importante da Placa Me, que merece ateno, o Amplificador

    Operacional referenciado como U2, do tipo LM741, ilustrado na Figura 11.

    Figura 11 Divisor de tenso e Amplificador Operacional de Ganho Unitrio

    O LM741 um amplificador linear de alto desempenho com uma grande variedade de usos.

    Neste caso, ele est configurado como um Amplificador de Ganho Unitrio (MIMS, 1985).

    Sua funo reduzir a tenso da bateria, que entra no resistor R4, para um nvel entre 0 e 5

  • 23

    Volts os valores aceitveis para as entradas analgicas do microcontrolador (MICROCHIP,

    2002), a fim de monitorar o nvel da bateria via software. Os resistores R4 e R3 de 220k e

    100k, respectivamente, funcionam como Divisores de Tenso segundo a equao:

    )43(

    3

    RR

    RVbateriaVdiv

    +

    = (2)

    Substituindo os valores de R3 e R4, obtemos a seguinte relao:

    VbateriaVdiv = 303,0 (3)

    Logo, quando a bateria atingir sua mais alta tenso (carga mxima), de 13,6 Volts, a entrada

    do microcontrolador ir receber somente 4,12 Volts, garantindo um valor aceitvel para a

    entrada analgica. A funo do amplificador, nesse caso, no amplificar, uma vez que seu

    ganho unitrio; mas sim evitar que a entrada analgica consuma corrente dos resistores

    divisores, influenciando os valores medidos. Portanto, a corrente consumida do amplificador

    (MIMS, 1985).

    Os capacitores C3, C4 e C6 so de Desacoplamento, com a funo de garantir uma

    alimentao apropriada ao circuito. O conector J1 responsvel por receber a alimentao da

    fonte, o J2 responsvel por comunicar-se com o Mdulo de Oximetria e o J4 com o Teclado.

    3.1.3 Probe (sensor)

    A Figura 12 uma fotografia do sensor utilizado no prottipo, conhecido como probe.

    Figura 12 - Probe, sensor de oximetria

    O sensor o componente do oxmetro responsvel por obter os nveis de saturao de

    oxignio do sangue do paciente. Possui dois LEDs (Diodo Emissor de Luz) na parte superior,

    emitindo luz em comprimentos de onda distintos: vermelho e infravermelho. Na parte

  • 24

    inferior, ele possui um Fotodiodo, componente sensvel luz, cuja funo registrar a parcela

    absorvida pelo sangue. Ele conectado ao Mdulo de Oximetria atravs de um cabo. A

    Figura 13 mostra os componentes bsicos do sensor.

    Figura 13 - Elementos do sensor

    Fonte: Encyclopedia of medical devices and instrumentation.

    Devido pulso arterial no local da medio, haver diferentes nveis de absoro de luz

    devido pele, os tecidos, sangue venoso e arterial. Entretanto, a cada batida, o corao contrai

    e h um acrscimo no volume de sangue arterial no local da medio, resultando em uma

    maior absoro de luz. Os sinais recebidos no Fotodiodo tm um formato de onda

    caracterstico (com picos entre cada batimento cardaco). Por isso, emprega-se o termo

    oxmetro de pulso, uma vez que os picos ocorrem a cada batimento cardaco (WEBSTER,

    2006, v.1, p.473).

    3.1.4 Mdulo de Oximetria

    O Mdulo de Oximetria, que recebe os dados do probe (sensor), foi adquirido da empresa

    SystemPartner, com sede em So Caetano do Sul/SP. No necessrio conhecer detalhes

    sobre o funcionamento interno desse mdulo, tampouco seus esquemas eltricos; somente

    ser necessrio saber qual seu protocolo de comunicao e a forma de aliment-lo. A Figura

    14 uma fotografia do mdulo usado no prottipo. Sua escolha foi realizada devido ao fato de

    ser o um dos pouco fabricados no pas, haja vista que os equipamentos que os utilizam so de

    origem estrangeira.

  • 25

    Figura 14 Mdulo de Oximetria modelo SPOX-410

    Os valores medidos pelo mdulo so transmitidos no formato serial para o microcontrolador.

    A interface do prottipo com o computador realizada atravs da Porta Serial, com um

    conector DB9, ilustrado na Figura 15. O cabo est ilustrado na Figura 16.

    Figura 15 Conector DB9

    Fonte: Serial Port Complete.

    Figura 16 Conexo com o computador

    Para fazer com que o microcontrolador se comunique com o mdulo de oximetria, ser

    necessrio o uso de um resistor de 220 entre o pino RX e a sua sada. A funo desse

    resistor limitar a corrente, evitando que se sobrecarregue a sada digital do mdulo.

  • 26

    De acordo com o Anexo A, documentao fornecida pelo fabricante do mdulo, o formato de

    comunicao digital no formato 8N1, numa velocidade de 9600bps. Tal comunicao se d

    atravs de palavras, onde cada uma contm um Start bit, os bits de dados, um bit opcional

    de paridade, e um ou mais Stop bits. (AXELSON, 2000). No formato 8N1, as palavras so

    enviadas comeando-se por um Start bit, seguido de oito bits de dados e um Stop bit. A letra

    N, do 8N1, significa que as palavras no contm Stop bit. Esse tipo de transmisso

    Assncrona, ou seja, a velocidade de transmisso independente das partes; no h um acordo

    determinando se um bit dever ser enviado aps o outro num certo perodo de tempo. Nesse

    caso, o prprio transmissor determina o perodo de tempo entre os bits. O formato de onda da

    transmisso esta representado na Figura 17.

    Figura 17 Formato de uma transmisso assncrona 8%1

    Fonte: Serial Port Complete.

    3.1.5 Display grfico

    O display grfico utilizado no projeto do prottipo possui 15360 pixels na sua rea visvel,

    distribudos em 240 colunas e 64 linhas. baseado no controlador Toshiba modelo T6963C.

    Foi escolhido devido sua fcil conexo e por possuir rotinas pr-escritas na linguagem C. A

    Figura 18 uma fotografia do display utilizado no prottipo.

    Figura 18 - Display Toshiba T6963C, 240x64 pixels

  • 27

    3.1.6 Teclado

    O teclado composto por teclas tcteis, com contatos normalmente abertos, ou seja, no seu

    estado normal (no-pressionados) apresentam resistncia infinita entre seus pinos. Caso

    contrrio, ao serem pressionados, seus contatos se fecham e conduzem corrente eltrica. A

    Figura 19 uma fotografia do teclado construdo especialmente para o prottipo.

    Figura 19 Teclado do prottipo

    Optou-se por arranj-los em um formato de cruz, representando-se um direcional para facilitar

    a navegao nos menus e permitir acesso direto a funes pr-definidas atravs dos botes

    esquerda. Cabem a essas funes silenciar ou ajustar os nveis de alarme, acessar o menu e

    ajustar o contraste do display. O Esquema Eltrico do teclado est na Figura 20.

    Figura 20 Esquema Eltrico do Teclado

  • 28

    3.2 Projeto de Software

    3.2.1 Mdulo do Oxmetro

    3.2.1.1 Diagrama de Componente

    O diagrama de componentes, ilustrado na Figura 21, mostra os vrios componentes de um

    software embarcado e suas dependncias.

    Figura 21 Diagrama de Componente

    Os componentes representados acima oferecem servios especficos, onde cada um exerce sua

    prpria funcionalidade, a saber:

    Escalonador de Tarefas: componente de software responsvel por incrementar uma

    varivel numrica em um intervalo de tempo definido. Baseando-se no valor dessa

    varivel, este componente define qual ser o prximo a ser executado;

    LeitorBytes: este componente efetua a comunicao serial com o mdulo de oximetria

    utilizando-se das rotinas de comunicao prpria linguagem. Fornece para os outros

    componentes os valores de SpO2 (saturao de oxignio) e BPM (batimentos

    cardacos) em forma de variveis numrica;

    MostradorCurva: componente responsvel por plotar no display os valores de SpO2 e

    BPM, no formato de uma curva, sempre da esquerda para direita;

    MostradorDados: este componente exibe os valores numricos no display, fazendo

    com que o usurio tenha uma fcil visualizao dos parmetros;

  • 29

    LeitorTeclado: sua finalidade, quando executado, ler o estado do teclado e desviar o

    fluxo de execuo para a rotina desejada pelo usurio, representada pelos botes;

    MenuConfigAlarme: responsvel por exibir no display um menu onde o usurio

    poder selecionar quais sero os valores mximos e mnimos de SpO2 e BPM nos

    quais o alarme ir atuar.

    3.2.1.2 Diagrama de Atividade

    Na Figura 22, logo abaixo, est representado o Diagrama de Atividades do software

    embarcado, englobando todos os estados possveis, isto , desde a inicializao do prottipo

    at o seu ciclo normal de funcionamento.

    Interrupo USARTEscalonador de TarefasSistema Principal

    [isLerDados = true]

    Configurar

    Portas do

    Microcontrolador

    Inicializar

    Display

    Configurar o

    Alarme Padro

    Carregar na RAM

    Menu de ajustes do

    Alarme

    Limpar FIFO e

    Buffer de Recepo Serial

    Configurar Interrupes

    Criar varivel contador

    contador++;

    isLerCurva = true

    contador mod 2

    contador mod 76

    isLerDados = true

    [ =0]

    [ =0]

    Tem dados no Buffer

    de Recepo Serial ?

    Colocar na FIFO[sim]

    [no]

    [isLerCurva = true]

    Plotar Curva

    isLerCurva = falseExibir Saturao de

    Oxignio (SpO2) e BPM

    Ler dado da FIFO

    Verificar Alarme

    isLerCurva = false

    Emitir aviso

    sonoro

    [BPM ou SpO2 MAX]

    [seno]

    [seno]

    Figura 22 - Diagrama de Atividade do Software embarcado

  • 30

    Analisando a Figura 22, verifica-se que o software embarcado possui trs processos bsicos:

    Sistema Principal: responsvel por inicializar todo hardware, como o display e o

    mdulo serial do microcontrolador, exibir os dados das medies na tela e acionar o

    alarme caso os parmetros estejam fora da faixa padro. Segundo Holzhacker (2001),

    para um adulto, a freqncia cardaca deve-se situar entre 40 a 150 BPM, enquanto a

    saturao de oxignio no sangue deve variar entre 85 a 100%.

    Escalonador de Tarefas: seu objetivo dividir as tarefas - plotar a curva ou exibir os

    valores no display. Ele se faz necessrio, pois o microcontrolador monotarefa, ou

    seja, no capaz de reproduzir dois processos concorrentes - em estado de paralelismo

    real (IOVINE, 2000). A implementao adotada aqui faz uso de um recurso de

    hardware chamado interrupes para executar processos simultneos de uma forma

    limitada, independente do Sistema Principal. Logo, o que este escalonador faz uma

    tcnica conhecida como time slicing, dedicando uma fatia do tempo para cada

    procedimento do Sistema Principal. Ele utiliza-se das variveis booleanas isLerDados

    e isLerCurva para sinalizar ao Sistema Principal qual atividade dever ser realizada.

    Esse desvio de fluxo est representado logo abaixo do processo Ler Dados da

    FIFO. Aps essa tarefa, os valores das variveis isLerDados e isLerCurva so

    obtidos, e dependendo de seu contedo, o fluxo desviado para o processo Plotar

    Curva ou Exibir Saturao (SpO2) e BPM.

    Interrupo USART: um processo dedicado do microcontrolador, tambm independe

    do Sistema Principal, responsvel por receber os dados do mdulo de oximetria como

    mostrado anteriormente pela Figura 17.

    3.2.2 Mdulo para Desktop

    3.2.2.1 Descrio do Sistema

    O mdulo para Desktop ser constitudo basicamente de um software e um banco de dados,

    onde o mdico poder acompanhar, atravs de um computador comum, todas as medies

    realizadas pelo oxmetro, em tempo real. O software dever ser capaz de exibir na tela os

    valores medidos de SpO2 (saturao de oxignio) e BPM (batimentos cardacos), bem como a

  • 31

    curva pletismogrfica. Alm da visualizao desses parmetros, o sistema dever oferecer

    tambm uma opo para Salvar os dados num arquivo, caso o mdico decida gravar o

    estado do paciente. Cada arquivo dever ser identificado pelo cdigo e nome do paciente em

    questo, juntamente com a data e hora em que as medies foram realizadas. O paciente

    dever ser previamente cadastrado. Outra funcionalidade importante que o software dever

    desempenhar a anlise contnua dos dados, uma vez que o oxmetro poder ser empregado

    em exames de polissonografia e outros de longa durao, por exemplo. Nesse caso, o volume

    de dados coletados ser considervel, logo, o software dever registrar em um grfico todas as

    medies dos parmetros, e ao fim do exame, exibir os valores mdios, automatizando a

    tarefa de um enfermeiro ou outra pessoa dedicada no registro e acompanhamento desses

    dados.

    Por fim, a emisso de relatrios tambm dever fazer parte do sistema. O mdico dever ter

    acesso a uma rea onde ser possvel filtrar os relatrios segundo o paciente, a data e hora de

    realizao do exame. Esse relatrio dever ser impresso e conter todos os dados daquela

    medio selecionada. Outro ponto que merece ateno que o sistema no deve permitir que

    se exclua um paciente nem um exame, uma vez que deve ser mantido um histrico dos

    mesmos.

    3.2.2.2 Diagrama de Casos de Uso

    O Diagrama de Casos de Uso na Figura 23 ilustra a interao entre o usurio e as diversas

    funcionalidades do sistema. Logo abaixo est descrito sucintamente cada caso de uso.

    Figura 23 - Diagrama de Casos de Uso do software para Desktop

  • 32

    Cadastrar Paciente: este caso de uso inicia-se quando o mdico seleciona no menu a

    opo de Cadastrar Paciente. Logo em seguida, exibido um formulrio na tela

    onde devero ser preenchidos alguns campos como o cdigo e o nome do paciente. O

    mdico ter acesso aos botes Salvar e Cancelar.

    Criar Exame: quando selecionado no menu, novamente exibido ao mdico um

    formulrio onde ele poder selecionar pacientes pr-cadastrados no sistema,

    retornando o cdigo e o nome do mesmo. A data e hora atual do sistema sero

    registradas num campo desabilitado para edio, marcando assim o momento de

    criao daquele exame. Devero ser exibidos na tela alguns botes, como Salvar

    Exame, Obter Leitura Instantnea e Iniciar Monitorao Contnua.

    Obter Leitura Instantnea: este caso de uso iniciado quando o mdico deseja obter

    uma leitura instantnea, ou seja, uma nica amostra dos parmetros (BPM e SpO2) do

    paciente naquele momento. Os valores medidos devero ser exibidos na forma

    numrica.

    Iniciar Monitorao Contnua: este caso de uso permite que o mdico obtenha uma

    monitorao contnua dos parmetros do paciente, e ao fim desta monitorao dado

    atravs de um boto Finalizar, dever ser exibido na tela um grfico contendo os

    valores em funo do tempo, bem como os valores mdios calculados e a durao do

    exame.

    Emitir Relatrio: funcionalidade acessada atravs do menu Relatrio, onde o

    mdico ter acesso aos exames j realizados e as leituras e medies relacionadas aos

    mesmos. Esta tela dever oferecer botes para Imprimir Relatrio e Visualizar

    Impresso.

    Comunicar com Oxmetro: caso de uso responsvel por estabelecer a comunicao

    com o hardware e fornecer dados s outras funcionalidades. Atravs dele que sero

    obtidas as medies do prottipo, logo, o mdico no ter acesso a ele, mas sim os

    outros casos de uso ilustrados na relao de .

  • 33

    3.2.2.3 Diagrama de Classes

    A Figura 24 representa as classes do sistema para Desktop e seus relacionamentos.

    Figura 24 Diagrama de Classes

    Cada classe representada no diagrama acima representa uma entidade no sistema, a saber:

    Exame: definida como uma superclasse, ou uma classe-me. dela que partiro os

    principais relacionamentos. Ela responsvel por persistir a data / hora da realizao

    de cada exame, e possui mtodos responsveis por iniciar ou parar um novo exame,

    por exemplo. Nunca ser criada uma instncia dessa classe no sistema, isto , todos os

    exames criados pelo usurio sero do tipo ExameInstantneo ou ExameContnuo.

    ExameInstantneo: produzir instncias especializadas da superclasse Exame, ou seja,

    objetos dessa classe iro herdar todos os atributos e mtodos da classe Exame,

    entretanto no iro implementar nenhuma nova caracterstica.

    ExameContnuo: outra classe que tambm ir herdar todos as caractersticas da classe

    Exame, porm possui um atributo e um mtodo adicional. O mtodo

    retornarDurao retorna o valor da varivel DURACAO_EXAM_CONTINUO, que

    responsvel por armazenar a durao do exame.

    Paciente: classe que representa o paciente propriamente dito, que poder ter um ou

    mais exames.

  • 34

    Mdico: a entidade responsvel por criar um novo exame, e poder estar associado a

    vrios exames.

    Medio: cada objeto (instncia) do tipo Medio ir conter os valores adquiridos pelo

    oxmetro, onde cada exame poder ter vrias medies quando for do tipo

    ExameContnuo, e por outro lado, uma nica medio quando for do tipo

    ExameInstantneo.

    Oxmetro: a entidade que representa a unidade fsica, o prottipo do oxmetro em si.

    O sistema poder ter somente uma instncia dessa classe durante sua execuo, onde

    os valores adquiridos atravs da porta serial podero ser obtidos atravs de chamadas

    aos mtodos retornarSpO2 e retornarBPM.

    3.2.2.4 Diagrama de Seqncia

    Nas figuras a seguir esto ilustrados todos os Diagramas de Seqncia para cada Caso de uso

    apontado na Figura 23. Em relao s Figuras 25 at a Figura 30, temos que os objetos do tipo

    telaCadastroPaciente, telaCadastroExame e assim por diante, so os Objetos de

    Fronteira.

    Figura 25 Diagrama de Seqncia: Cadastrar Paciente

  • 35

    Figura 26 Diagrama de Seqncia: Criar Exame

    Figura 27 Diagrama de Seqncia: Obter Leitura Instantnea

  • 36

    Figura 28 Diagrama de Seqncia: Iniciar Monitorao Contnua

    Figura 29 - Diagrama de Seqncia: Salvar Estado Paciente

  • 37

    Figura 30 - Diagrama de Seqncia: Emitir Relatrio

    3.2.2.5 Telas do Sistema e Cdigo Fonte

    As telas do sistema para desktop, foram criadas em Java com o auxlio do @etBeans IDE, e

    esto disponveis no Anexo B. A linguagem Java foi escolhida devido sua caracterstica

    peculiar: a portabilidade. Dessa forma, o sistema poder rodar em qualquer microcomputador,

    independente da plataforma e do sistema operacional, desde que tenha uma JVM (Maquina

    Virtual Java) instalado. A JVM Java est disponvel para download no site do fabricante Sun

    Microsystems sem custo algum.

    O Anexo C disponibiliza todo o cdigo fonte do sistema embarcado, escrito na linguagem C.

    Ao contrrio do que se pode encontrar em outros trabalhos envolvendo microcontroladores,

    essa linguagem foi escolhida em oposio ao Assembler, j que esta ultima uma linguagem

    de baixo nvel, o que aumentaria a complexidade na fase de implementao.

  • 38

    4 CO%CLUSO

    O principal objetivo desse trabalho, que o desenvolvimento de um oxmetro de pulso capaz

    de conectar-se a um microcomputador, torna-se vivel seguindo-se um desenvolvimento

    planejado, utilizando-se dos diagramas da UML para modelagem do software, e das demais

    ferramentas citadas no seu decorrer para a criao do hardware.

    O desenvolvimento da fonte de alimentao, durante o projeto do hardware, mostrou-se ser

    uma etapa complexa, devido necessidade de incorporar um carregador de baterias no

    circuito, uma vez que esse tipo de equipamento dever ser operado tambm na falta de

    energia eltrica. Em contrapartida, a comunicao com o mdulo de oximetria mostrou-se ser

    uma tarefa fcil, devido documentao j existente fornecida pelo fabricante. O tamanho

    fsico reduzido do circuito eletrnico tambm oferece uma possibilidade de se construir um

    equipamento facilmente porttil. Outro ponto muito importante o baixo custo apresentado

    pelo equipamento, uma vez que os componentes utilizados na sua montagem so encontrados

    com facilidade no mercado nacional, e em geral, seu custo total menor do que um

    equipamento de origem estrangeira, como pode ser visto na Tabela 1.

    Tabela 1 : Custo dos principais componentes utilizados

    Produto Preo

    PIC18F452 I/P R$ 25,99

    Mdulo Oximetria R$ 300,00

    Display T6963C R$ 90,00

    Componentes discretos R$ 100,00

    CUSTO TOTAL R$ 515,99

    Fonte: Farnell-%ewark Componentes LTDA.

    Comparando o custo total do prottipo com o preo final para o consumidor, ao adquirir um

    equipamento similar, sem conexo USB e conseqentemente, sem um software to completo

    como o aqui apresentado, possvel concluir que realmente h uma diferena considervel.

    Os dados encontram-se na Tabela 2 logo abaixo.

  • 39

    Tabela 2: Comparao entre o prottipo e modelos nacionais / importados

    Produto Tem USB? Origem Preo

    Emai OXP-10 Nacional R$ 3.195,00

    Moriya M1000 Nacional R$ 3.497,00

    Nellcor N-600x Importado R$ 5.597,41

    PROTTIPO %acional R$ 515,99

    Fonte: Cirrgica Passos LTDA.

    Em relao ao desenvolvimento, foi possvel concluir que diviso das atividades do software

    do oxmetro, representadas no Diagrama de Atividades, tambm apresentou resultados muito

    satisfatrios. Foi possvel implementar um sistema embarcado capaz exibir todos os

    parmetros do paciente no display.

    A principal vantagem desse prottipo, que oferecer conectividade aos PCs de forma fcil e

    rpida, mostrou-se ser um diferencial em relao aos j existentes. Essa caracterstica pde ser

    apresentada atravs do software para o desktop.

    Por fim, provou-se ser possvel oferecer ao corpo mdico uma melhor anlise das informaes

    coletadas pelo equipamento, auxiliando a tomada de decises durante um exame, e at mesmo

    um melhor acompanhamento dos parmetros do paciente em um ato cirrgico.

  • 40

    5 REFER%CIAS

    ARNOLD, Ken. Embedded Controller Hardware Design. Virginia-USA: LLH Technology Publishing, 2000. ASSOCIAO BRASILEIRA DE NORMAS TCNICAS. %BR ISO 9919: Oxmetro de pulso para uso mdico Prescries. Rio de Janeiro, 1997. ASSOCIAO BRASILEIRA DE NORMAS TCNICAS. %BR 14724: Informao e documentao Trabalhos acadmicos Apresentao. Rio de Janeiro, 2001. 6 p. AXELSON, Jan. Serial Port Complete. Madison, WI: Lakeview Research, 2000. BEZERRA, Eduardo. Princpios de Anlise e Projeto de Sistema com UML. Rio de Janeiro: Elsevier, 2002. BOEHM, Barry. A spiral model of software development and enhancement. IEEE CS PRESS, v. 21, n. 5, p. 61-72, 1988. EMADI, Ali; NASIRI, Abdolhosein; BEKIAROV, Stoyan B. Uninterruptible Power Supply and Active Filters. Chicago: CRC-Press, 2005. FALBO, Ricardo. A Experincia na Definio de um Processo Padro Baseado no Processo Unificado. Anais do II Simpsio Internacional de Melhoria de Processo de Software, SIMPROS200. So Paulo: 2000. FEARNLEY, Dr. SJ, Pulse Oximetry. Torquay, Inglaterra: Department of Anaesthetics, Torbay Hospital, 1995. FERNANDES, Reinaldo; OJEDA, Renato; LUCATELLI, Marcos. Ensaios para Avaliao de Funcionalidade de Oxmetros de Pulso. II Congreso Latinoamericano de Ingeniera Biomdica. Cuba: 2001. GIBILISCO, Stan. The ilustrated dictionary of Electronics. New York: McGraw-Hill, 2001. HILLS, Chris. Embedded MCU Debuggers Third Edition. Java C & C++ Spring Conference. Oxiford Union, UK: 1999. HOLZHACKER, Albert. Oxmetro de Pulso DX-2515: Manual de Operao,5 ed. Manaus: Dixtal, 2001. IOVINE, John. PIC Microcontroller Project Book. New York: McGraw-Hill, 2000. JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. The unified software development process. USA: Addison-Wesley, 1998, 463 p.

  • 41

    KNOBEL, Elias. Condutas no paciente Grave. 2 ed. So Paulo: Atheneu, 1998. MARCONDES, Giancarlo et al . Transporte de pacientes sem oxigenoterapia para a sala de recuperao ps-anestsica: repercusses na saturao de oxignio e fatores de risco associados hipoxemia. Rev. Bras. Anestesiol. , Campinas, v. 56, n. 4, 2006 . MARWEDEL, Peter. Embedded System Design. Kluwer Academic Publishers. 1 ed. Dortmund: Kluwer Academic Publisher, 2003. MICROCHIP. PIC18FXX2 Datasheet. Microchip Technology Inc, 2002. MIKROELETRONIKA. mikroC Users Manual. MikroEletronika Books, 2007. MIMS, Forrest M. III, Engineers Mini-%otebook - Op Amp IC Circuits. Radio Shack, 1985. MIMS, Forrest M. III, Getting Started in Electronics. Radio Shack, 1986. NATIONAL. Datasheet of LM117/LM217/LM317 3-Terminal Adjustable Regulator National Semiconductor Corporation Linear Databook, 1982, pp. 1-23 a 1-30. NUNES, Wilma Aparecida; TERZI, Renato Giuseppe Giovanni. Oximetria de pulso na avaliao do transporte de oxignio em pacientes crticos. Rev. Latino-Am. Enfermagem , Ribeiro Preto, v. 7, n. 2, 1999. PRESSMAN, Roger. Engenharia de Software. So Paulo: Makron Books, 1995. PRESSMAN, Roger. Engenharia de Software, 6 edio. So Paulo: McGraw-Hill, 2006. SANTANDER, Victor; VASCONCELOS, Alexandre. Mapeando o Processo Unificado em Relao ao CMM Nvel 2. XI CITS - Qualidade de Software. Curitiba: 2000, pp. 120-137. SCOTT, Kendall. O processo Unificado. Porto Alegre: Bookman, 2003. SEDRA, A.S., SMITH, K.C. Microeletrnica, 4 Edio. So Paulo: Makron Books, 2004. VELLOSO, Alexandre. Desenho Bsico Eletrnica. Rio de Janeiro: Escola Tcnica Estadual Repblica, 2006. VENTURA, Celestina, OLIVEIRA, Ana Sofia, DIAS, Rita et al. Papel da oximetria nocturna no rastreio da sndroma de apneia-hipopneia obstrutiva do sono. Rev Port Pneumol, jul. 2007, vol.13, no.4, p.525-551. ISSN 0873-2159. WEBSTER, John G. Encyclopedia of medical devices and instrumentation, vol.1, 2 ed. New York: John Wiley & Sons, 2006. YORDON, Edward. Anlise estruturada moderna. Traduo: Dalton Conde de Alencar. Rio de janeiro: Campus, 1990.

  • 42

    A%EXO A Documentao do Mdulo de Oximetria SPOX-410

    Documentao includa ao Mdulo de Oximetria, fabricado por SystemPartner. Traz detalhes sobre o protocolo de comunicao e alimentao do mdulo.

  • 43

    A%EXO B Telas do software para desktop

    Cadastro de Paciente

    Cadastro de Exames

  • 44

    Realizando um exame instantneo

    Realizando um exame contnuo

  • 45

    Relatrio de um exame contnuo

  • 46

    A%EXO C Cdigo Fonte do Sistema Embarcado

    //********************************************************* // Oxmetro de Pulso

    // Baseado no mdulo de oximetria SystemPartner:

    // SPOX-410

    // PCM-0020410 // OEM-0020007

    //

    // Hardware:

    // PIC18F452 I/P @ 40 Mhz (10 Mhz xtal + PLL ) // 5 Vdc PSU

    // T6963C 240x64 GLCD

    //

    // Fernando Vincius G. Magro 2007/2008 //*********************************************************

    // SAIDAS

    #define ALARM_OUT PORTE.F2 // pino de saida para alarme disparando #define BEEP_OUT PORTE.F1 // sada para o Buzzer - bepp BPM

    #define REM_OUT PORTE.F0 // Sinal para o clock do 4017, desligando a fonte

    #define SBUFF_SIZE 128 // potncia de 2 para uma indexao rpida

    #define BUFOVFL 1

    unsigned int contador,contadorAlarmeTemp;

    unsigned float tempoEstouro;

    unsigned short ByteLido, ByteSync, isLerCurva, isLerDados; unsigned short ByteCurva, ByteLed, ByteMSG, ByteSpO2, ByteBPM, ultimoValorCurva;

    char StrCurva[4], StrLed[4], StrSpO2[4], StrBPM[4], StrMSG[4];

    char StrChar[4];

    char msg[7]; // DEBUG unsigned short xi, yf;

    unsigned int tempoF2Press,tempoF3Press,tempoOKPress;

    unsigned short dispararAlarme, isAlarmeTemp, isAlarmeGeral, isAlarmeAuto,

    isBeep, tempoAlarmeTemp, isPiscarBPM, isPiscarSpO2;

    unsigned short valorContraste, isContrasteAlterado;

    #include "include/T6963C.h"

    #include "include/graficos.c"

    #include "include/rotinasBuffer.c"

    void configPortas();

    void configInterrupt();

    void configPWM();

    void incrementarContraste(); void decrementarContraste();

    unsigned short lerContraste(); // retorna o armazenado na posio 4 EEPROM

    void gravarContrasteEEPROM(unsigned short valorContraste); // armazenado na posio 0 EEPROM

    void verificarAlarmes(unsigned short Sp02,unsigned short Bpm); // Retorna 1 se alarme deve disparar, 0 caso contrrio.

    void inverterPanel();

    void alternarAlarmeTemp();

    void alternarAlarmeGeral(); void alternarBeepBPM();

    void alternarAlarmeAuto();

    void configAlarmePadrao();

    void limparCurva();

    #include "include/menu.c"

    void interrupt() { unsigned char RxStatus ;

    // interrupo USART

    if ( PIR1.RCIF ) { as.ccbuf[as.endbuf] =RCREG ;

    as.endbuf++ ;

  • 47

    as.endbuf &= (SBUFF_SIZE-1) ;

    if ( ((as.endbuf+1)&(SBUFF_SIZE-1)) == as.startbuf ) {

    // Buffer Overflow!...

    as.startbuf = 0 ;

    as.endbuf = 0 ; }

    PIR1.RCIF = 0 ; // limpa a interrupo

    }

    //interrupo TMR0

    if(INTCON.T0IE == 1 && INTCON.T0IF ==1) {

    contador++;

    if (contador%2==0) {

    isLerCurva=1;

    }

    // incrementa contador de tempo do alarme temporarioo

    if (isAlarmeTemp) {

    contadorAlarmeTemp++; } else {

    contadorAlarmeTemp=0;

    }

    if (contador%76==0) { // aprox. 1 segundo - atualizao dos dados

    // e tempo "piscar" do alarme visual

    isLerDados=1;

    if ( isAlarmeGeral && (!isAlarmeTemp) ) {

    if (dispararAlarme) { // dispara o alarme

    ALARM_OUT=~ALARM_OUT;

    } else { ALARM_OUT=0;

    }

    } else {

    ALARM_OUT=0; // desliga o alarme }

    }

    INTCON.T0IE = 1; INTCON.T0IF =0;

    }

    // interrupo externa RB0 if (INTCON.INT0IF == 1) {

    isMenu=1;

    INTCON.INT0IF=0;

    }

    BEEP_OUT=0;

    } //interrupt

    void main() {

    xi = 61; // posio x0 de inicio do pletismograma

    configPortas();

    // inicializa PWM para o Contraste do LCD configPWM();

    valorContraste = lerContraste(); // L e aplica o ultimo valor do Contraste

    PWM_Change_Duty(valorContraste);

    T6963C_init(240,64,6,&PORTD,&PORTA,5,1,2,3);

    panel=0;

  • 48

    T6963C_graphics(1) ;

    T6963C_text(1) ;

    T6963C_panelFill(0); T6963C_cursor(0);

    //Desenhando a tela principal no panel 0

    T6963C_line(60,0,60,64,T6963C_WHITE); T6963C_write_text("SPO2 %",0,0,T6963C_ROM_MODE_XOR);

    T6963C_write_text("BPM",0,4,T6963C_ROM_MODE_XOR);

    T6963C_box(60,64,240,55,T6963C_WHITE);

    // exbindo icones

    // offset de 3 pixels entre os cones

    T6963C_sprite(228,0,icone_beep_on,12,12); // beep ligado por padro T6963C_sprite(216,0,icone_sino,12,12); // alarme ligado no valor padro

    //Configuraes de alarme e valores padro configAlarmePadrao();

    tempoAlarmeTemp=120; //tempo em que o alarme permanece desabilitado (seg)

    dispararAlarme=0;

    isAlarmeTemp=0; isAlarmeGeral=1;

    isAlarmeAuto=0;

    isBeep=1;

    //Carregando o menu na RAM - panel 1

    T6963C_setGrPanel(1);

    T6963C_setTxtPanel(1);

    T6963C_panelFill(0);

    //desenhando a janela

    T6963C_rectangle(5, 5, 230, 58, T6963C_WHITE);

    T6963C_box(10, 59, 235, 63, T6963C_WHITE); T6963C_box(231, 10, 235, 58, T6963C_WHITE);

    T6963C_write_text("Ajustar alarmes",1,1, T6963C_ROM_MODE_XOR);

    T6963C_line(5,17,230,17, T6963C_WHITE);

    // imprimindo os rtulos

    T6963C_write_text("SPO2",9,3, T6963C_ROM_MODE_XOR);

    T6963C_write_text("Maximo:",8,5, T6963C_ROM_MODE_XOR);

    T6963C_write_text("Minimo:",8,6, T6963C_ROM_MODE_XOR); T6963C_write_text("BPM",26,3, T6963C_ROM_MODE_XOR);

    T6963C_write_text("Maximo:",24,5, T6963C_ROM_MODE_XOR);

    T6963C_write_text("Minimo:",24,6, T6963C_ROM_MODE_XOR);

    // volta a escrever no panel 0

    T6963C_setGrPanel(0);

    T6963C_setTxtPanel(0);

    // limpa o buffer

    as.startbuf = 0 ;

    as.endbuf = 0 ;

    configInterrupt();

    Usart_Init( 9600 );

    isMenu = 0;

    // pr-inicializa as variveis, evitando primeira leitura incorreta

    ByteLido=0; ByteSync=0;

    ByteCurva=0x80;

    ByteMSG=0;

    ByteSpO2=0xff; ByteBPM=0xff;

    tempoF2Press=0;

    tempoF3Press=0;

    tempoOKPress=0;

  • 49

    ultimoValorCurva=34;

    contadorAlarmeTemp=0; // contador que armazena o tempo do alarme temporrio

    isContrasteAlterado=0; // nenhuma alterao inicial do contraste

    while (1) {

    ByteSync=lerByte(); if(ByteSync==0x10) {

    ByteLido=lerByte();

    if(ByteLido==0x7E){

    ByteCurva=lerByte(); ByteLed=lerByte();

    ByteMSG=lerByte();

    } if(ByteLido==0x21){

    BEEP_OUT=(ByteMSG < 0x02) ? 1 : 0; // beep somente se a MSG > 0x02

    ByteSpO2=lerByte();

    ByteBPM=lerByte(); BEEP_OUT=0;

    }

    }

    // faz as converses necessrias

    ByteToStr(ByteSpO2,StrSpO2);

    ByteToStr(ByteBPM,StrBPM);

    // imprime a mensagem T6963C_write_text( decodificaMSG(ByteMSG) ,11,7,T6963C_ROM_MODE_XOR);

    // BOTAO F2 if (BT_F2==0) {

    tempoF2Press++;

    if (tempoF2Press==300) { // quando segurar pressionado por muito tempo

    }

    } else {

    if ( ((tempoF2Press!=0) && (tempoF2Press

  • 50

    alternarAlarmeAuto();

    }

    } else { tempoOKPress=0;

    }

    if(isLerCurva) {

    isLerCurva=0;

    yf = 18 + ((0.13 * ByteCurva));

    T6963C_line(xi,51,xi,18,T6963C_BLACK); //faz a limpeza T6963C_line(xi,ultimoValorCurva,xi,yf,T6963C_WHITE);

    ultimoValorCurva=yf;

    if(xi == 240) { xi = 61;

    } else {

    xi++;

    } }

    if(isLerDados) {

    isLerDados=0; if (ByteSpO2==0xFF && ByteBPM==0xFF) { // SEM PULSO NORMAL

    dispararAlarme=0; // desliga o alarme caso BPM e SPO2 ==255

    if (isAlarmeAuto) { // desliga o alarme automtico ao retirar sensor

    alternarAlarmeAuto(); isAlarmeAuto=0;

    }

    //limpa a area, caso no haja pulso

    T6963C_sprite(0, 9, vazio , 20, 20) ; T6963C_sprite(21, 9, vazio ,