Você está na página 1de 66

Universidade Estadual de Maring Universidade Estadual de Maring Universidade Estadual de Maring Universidade Estadual de Maring

Centro de Tecnologia Centro de Tecnologia Centro de Tecnologia Centro de Tecnologia


Departamento de Informtica Departamento de Informtica Departamento de Informtica Departamento de Informtica
Curso de Engenharia de Produo Curso de Engenharia de Produo Curso de Engenharia de Produo Curso 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 ITRODUO ............................................................................................................................................. 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 DESEVOLVIMETO .............................................................................................................................. 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 COCLUSO ............................................................................................................................................. 38
5 REFERCIAS .......................................................................................................................................... 40
AEXO A DOCUMETAO DO MDULO DE OXIMETRIA SPOX-410 ......................................... 42
AEXO B TELAS DO SOFTWARE PARA DESKTOP .............................................................................. 43
AEXO C CDIGO FOTE 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 PACIETE ............................................................................ 34
FIGURA 26 DIAGRAMA DE SEQNCIA: CRIAR EXAME ......................................................................................... 35
FIGURA 27 DIAGRAMA DE SEQNCIA: OBTER LEITURA ISTATEA ................................................................ 35
FIGURA 28 DIAGRAMA DE SEQNCIA: IICIAR MOITORAO COTUA .......................................................... 36
FIGURA 29 - DIAGRAMA DE SEQNCIA: SALVAR ESTADO PACIETE ...................................................................... 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 10
3

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 ITRODUO
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 SpO
2
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 de
Sequencia
Diagramas de
Colaborao
Diagrama de
interao
Diagrama de
transio de estados
Diagrama de
Atividades
Diagramas de
Componentes
Diagramas de
Implementao
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 DESEVOLVIMETO
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:

V V Tf 62 , 13 6 27 , 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:

) 4 3 (
3
R R
R Vbateria
Vdiv
+

= (2)

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

Vbateria Vdiv = 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 81
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 SpO
2
(saturao de oxignio) e BPM (batimentos
cardacos) em forma de variveis numrica;
MostradorCurva: componente responsvel por plotar no display os valores de SpO
2
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 SpO
2
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 USART Escalonador de Tarefas Sistema 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 = false Exibir 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 SpO
2
) 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 <<include>>.
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 COCLUSO
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 REFERCIAS
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
AEXO 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
AEXO 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
AEXO 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<150)) && isAlarmeGeral ) { // somente
alterna alarmTemp se AlarmeGeral on
alternarAlarmeTemp(); //quando um simples clique
}
tempoF2Press=0;
}

// BOTAO F3
if (BT_F3==0) {
tempoF3Press++;
// verifica se as 2 teclas esto sendo pressionadas
// para o ajuste do Contraste
if (BT_UP==0) {
incrementarContraste();
isContrasteAlterado=1;
} else if (BT_DOWN==0) {
decrementarContraste();
isContrasteAlterado=1;
}
} else {
if ( (tempoF3Press!=0) && ( ! isContrasteAlterado) ) { // 'release' do boto
alternarBeepBPM();
} else if (isContrasteAlterado) {
gravarContrasteEEPROM(valorContraste);
}
tempoF3Press=0;
isContrasteAlterado=0;
}

// BOTAO OK_AUTO
if (BT_OK_AUTO==0) {
tempoOKPress++;
if (tempoOKPress == 1) { // simples clique
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 , 20, 20) ;
T6963C_sprite(41, 9, vazio , 20, 20) ;
T6963C_sprite(0, 41, vazio , 20, 20) ;
T6963C_sprite(21, 41, vazio , 20, 20) ;
T6963C_sprite(41, 41, vazio , 20, 20) ;
} else {
exibeNumero(0,9,StrSpO2,isPiscarSpO2);
exibeNumero(0,41,StrBPM,isPiscarBPM);
verificarAlarmes(ByteSpO2,ByteBPM);
}
}

if ( isMenu ) {
inverterPanel();
if (panel == 1) { // saindo do menu..
exibirMenu();
inverterPanel();
xi=61; // redesenha a curva, do ponto inicial, invalidando a j existente
}
isMenu = 0;
}

// Verifica se o tempo do Alarme Temporario j estourou..
if (isAlarmeTemp) {
if (contadorAlarmeTemp > floor(tempoAlarmeTemp/tempoEstouro)) {
alternarAlarmeTemp();
}
}

} //while
}// main

void configPortas() {
// ADCON1 = 0x07; // PORTA digital
ADCON1 = 0b00001110;
TRISA = 0b10000000; // PORTA sada - RA0: entrada an. monitor bat
PORTA = 0;
TRISB = 1; // PORTB entrada
TRISC = 1; // necessrio para lanar as interrupes USART ao iniciar.
51
TRISE = 0; // saida Beeps
PORTE = 0; // Estado inicial PORTE
}

void configInterrupt() {
// T0CON = 0x82; // 0b10000010 16bit PS 1:8, estouro: = 0.0524 seg
T0CON = 0b10000000 ; // 0b10000000 16bit PS 1:2, estouro: = 0.0131 seg
tempoEstouro = 0.0131;
PIE1.RCIE = 1 ;
INTCON.GIE = 1 ;
INTCON.PEIE = 1 ;
INTCON.TMR0IE = 1 ; // interrupo TMR0
INTCON.INT0IE = 1 ; // interrupo RB0
}

void configPWM() {
TRISC.F2=0;
PWM_Init(20000); // frequencia
PWM_Start();
valorContraste=0;
PWM_Change_Duty(valorContraste);
}

void incrementarContraste() {
if (valorContraste < 255) {
valorContraste++;
PWM_Change_Duty(valorContraste);
// gravarContrasteEEPROM(valorContraste);
}
}

void decrementarContraste() {
if (valorContraste > 140) {
valorContraste--;
PWM_Change_Duty(valorContraste);
// gravarContrasteEEPROM(valorContraste);
}
}

unsigned short lerContraste() {
return Eeprom_Read(4);
}

void gravarContrasteEEPROM(unsigned short valorContraste) {
Eeprom_Write(4,valorContraste);
Delay_ms(20);
}

void inverterPanel() {
panel++; // inverte o panel
panel &= 1;
T6963C_setGrPanel(panel);
T6963C_setTxtPanel(panel);
T6963C_displayGrPanel(panel);
T6963C_displayTxtPanel(panel);
}

void verificarAlarmes(unsigned short Sp02,unsigned short Bpm) { // retorna 0 se OK, 1 BPM,
unsigned short BPMdisparado, SpO2disparado;

if ( (Bpm > valorAlarme[2]) || (Bpm < valorAlarme[3])) {
BPMdisparado=1;
if (isAlarmeGeral) { // pisca somente se o alarmeGeral estiver ativo
isPiscarBPM=~isPiscarBPM;
} else {
isPiscarBPM=0;
}
} else {
BPMdisparado=0;
52
isPiscarBPM=0;
}

if ( (Sp02 > valorAlarme[0]) || (Sp02 < valorAlarme[1]) ) {
SpO2disparado=1;
if (isAlarmeGeral) {
isPiscarSpO2=~isPiscarSpO2;
} else {
isPiscarSpO2=0;
}
} else {
SpO2disparado=0;
isPiscarSpO2=0;
}

if ( BPMdisparado || SpO2disparado ) {
dispararAlarme=1;
} else {
dispararAlarme=0;
isPiscarSpO2=0;
isPiscarBPM=0;
}

}

void alternarAlarmeGeral() {
if(isAlarmeGeral) {
T6963C_sprite(216,0,icone_vazio,12,12);
isAlarmeGeral=0;
} else {
T6963C_sprite(216,0,icone_sino,12,12);
isAlarmeGeral=1;
}
}

void alternarAlarmeTemp(){
if(isAlarmeTemp) {
T6963C_sprite(204,0,icone_vazio,12,12);
isAlarmeTemp=0;
} else {
T6963C_sprite(204,0,icone_relogio,12,12);
isAlarmeTemp=1;
}
}

void alternarBeepBPM() {
if(isBeep) {
T6963C_sprite(228,0,icone_beep_off,12,12);
isBeep=0;
TRISE.F0 = 1; //torna a porta como ENTRADA, desabilitando o alarme
} else {
T6963C_sprite(228,0,icone_beep_on,12,12);
isBeep=1;
TRISE.F0 = 0; // torna novamente como saida
}
}

void alternarAlarmeAuto() {
unsigned short offsetSpO2, offsetBPM;
offsetSpO2 = 5;
offsetBPM = 5;

if(isAlarmeAuto) {
T6963C_sprite(174,0,icone_vazio30,30,12);
// configAlarmePadrao(); // volta as configuraes padro de alarme
isAlarmeAuto=0;
} else if (ByteSpO2 != 0xFF) { // no permite setar alarme automtico com ausencia de pulso
T6963C_sprite(174,0,icone_alarme_auto,30,12);
isAlarmeAuto=1;
53
valorAlarme[0] = (ByteSpO2 < (100-offsetSpO2) ) ? ByteSpO2+offsetSpO2 : 100; //SpO2Alto
valorAlarme[1] = ByteSpO2-offsetSpO2; //SpO2Baixo
valorAlarme[2] = ByteBPM+offsetBPM; //BPMAlto
valorAlarme[3] = ByteBPM-offsetBPM; //BPMBaixo
}
}

//Configuraes de alarme e valores padro
void configAlarmePadrao() {
valorAlarme[0] = 100; // Sp02 alto
Delay_ms(20);
valorAlarme[1] = 85; // Sp02 baixo
Delay_ms(20);
valorAlarme[2] = 150; // BPM alto
Delay_ms(20);
valorAlarme[3] = 40; // BPM baixo
Delay_ms(20);
}

54
GLOSSRIO

Capacitncia a grandeza eltrica de um capacitor, determinada pela quantidade de
energia eltrica que pode ser armazenada.
Capacitor um componente que armazena energia num campo eltrico, construdos
com placas condutoras separadas por elementos isolantes.
Chip Dispositivo microeletrnico que consiste de muitos componentes
interligados capazes de desempenhar muitas funes. Suas dimenses so
extremamente reduzidas. Tambm conhecido como Circuito Integrado.
Curva
Pletismogrfica
um grfico que ilustra os batimentos cardacos (sstole e distole).
Datasheet Documento relativo a um componente eletrnico, representando uma Folha
de Dados com especificaes e dados tcnicos.
Diodo um dispositivo ou componente eletrnico composto de cristal
semicondutor de silcio ou germnio numa pelcula cristalina cujas faces
opostas so dopadas por diferentes gases durante sua formao.
Display Dispositivo para apresentar informaes, de modo visual, cuja entrada
fornecida por sinais eltricos.
Feedback o procedimento que consiste no provimento de informao a uma pessoa
sobre o desempenho, conduta ou eventualidade executada por ela, e objetiva
reorientar e/ou estimular aes determinadas, executadas anteriormente.
Fios Ideais uma representao hipottica de um fio que no apresenta resistncia
eltrica.
Fotodiodo Componente eletrnico sensvel luz.
Hardware Conjunto de componentes eletrnicos, circuitos integrados e placas.
Hemoglobina uma substncia que circula no sangue dentro dos glbulos vermelhos.
Lei Beer-Lambert uma relao emprica que, na ptica, relaciona a absoro de luz com as
propriedades do material atravessado por esta.
Multmetro
Destinado a medir e avaliar grandezas eltricas, um instrumento que pode
ter mostrador analgico (de ponteiro) ou digital.
Onda Em fsica, uma onda uma perturbao oscilante de alguma grandeza fsica
no espao e peridica no tempo um pulso energtico.
Osciloscpio
um instrumento de medida eletrnico que cria um grfico bi-dimensional
visvel de uma ou mais diferenas de potencial.

Placa de Circuito
Consiste de uma placa de fenolite, fibra de vidro, fibra de polister, filmes
especficos base de diversos polmeros, etc., que possuem a superfcie
coberta numa ou nas duas faces por uma pelcula de cobre, prata, ou ligas
55
Impresso base de ouro, nquel entre outras, nas quais so desenhadas pistas
condutoras que representam o circuito onde sero fixados os componentes
eletrnicos.

Portas Lgicas So dispositivos, ou circuitos lgicos, que operam um ou mais sinais lgicos
de entrada para produzir uma e somente uma sada, dependente da funo
implementada no circuito. So geralmente usadas em circuitos eletrnicos,
baseadas na Lgica Matemtica ou Lgica de Boole.
Probe Compartimento que abriga o sensor utilizado no Oxmetro de Pulso.
Protoboard uma placa que forma uma matriz de contatos, com milhares de furos e
conexes condutoras de corrente eltrica, utilizada para montagem de
circuitos eltricos experimentais.
Prottipo um produto que ainda no foi comercializado, mas est em fase de testes
ou de planejamento.
Resistncia
a capacidade de um corpo qualquer se opor passagem de corrente
eltrica pelo mesmo, quando existe uma diferena de potencial aplicada.
Resistor Dispositivo eltrico muito utilizado em eletrnica, com a finalidade de
transformar energia eltrica em energia trmica, a partir do material
empregado, que pode ser carbono.
Sensor Dispositivo que recebe e responde a um estmulo ou um sinal.
Software Programa de Computador, seqncias de instrues a serem executadas por
um computador ou mquina semelhante.
Soluo uma mistura de compostos que se apresenta de forma homognea.
Soluto a substncia de minoritria numa soluo ou, em geral, a substncia de
interesse.
Terminal (pino) Pequeno pino de metal condutor eltrico, que prov conexo aos circuitos
integrados aos outros componentes de um circuito.
Transformador Dispositivo destinado a transmitir energia eltrica ou potncia eltrica de
um circuito a outro, transformando tenses, correntes. Operam sobre o
princpio da induo eletromagntica.
Unidade
Computadorizada
um dispositivo, uma mquina ou um produto dotado de um
microprocessador e outros componentes, capaz de realizar clculos e
executar operaes pr-programadas.
Valor de SpO2 a percentagem de saturao de oxignio no sangue.
Workflow o Fluxo de Trabalho, ou seja, a seqncia de passos necessrios para que
se possa atingir a automao de um processo.
56





















































Universidade Estadual de Maring
Departamento de Informtica
Curso de Engenharia de Produo
Av. Colombo 5790, Maring-PR
CEP 87020-900
Tel: (044) 3261-4196 / Fax: (044) 3261-5874

Você também pode gostar