U T I L I Z A N D O A P O R T A P A R A L E L A P A R A C O N T R O L E R E -M O T O D E U -M D I S P O S I T I V O
R i c a r d o A . M . Valenti m 1 I v a n i l d o A . N o g u e i r a2 A l u í z i o F. R o c h a N e t o3
Resumo
Este artigo descreve como as portas de entrada e saída de da-dos podem ser manipuladas de forma a estabelecer uma interatividade e usabilidade ainda maior para o computador, tornando estas portas mecanismos de interação com outros objetos externos ao computador Através de um dispositivo emissor de ondas de rádio, gerenciado pelo computador via porta paralela, aciona-se e controla-se o movimento de um pequeno carro.
Palavras-chave: Porta paralela; sistema operacional;
interação; wireless.
1 INTRODUÇÃO
N a a t u a l i d a d e , m u i t o se discute a q u e s t ã o da c o m u n i c a ç ã o e i n t e r a ç ã o h o m e m - m á q u i n a . C l a r o q u e esta interatividade se d á p o r q u e os c o m p u t a d o r e s4 e s t ã o se a p e r f e i ç o a n d o a c a d a dia, na intenção de se tornar u m e q u i p a m e n t o c a d a vez m a i s a m i g á v e l . M u i t o da interatividad e h o m e m m á q u i n a iniciouse no d e s e n v o l v i m e n t o de s i s t e m a s o p e r a c i o n a i s q u e fossem c a p a z e s d e g e r e n c i a r d i s p o -sitivos d e e n t r a d a e saída d e d a d o s , além de p r o m o v e r u m a m b i e n t e gráfico m a i s a m i g á v e l c intuitivo.
A c o m u n i c a ç ã o através de portas de e n t r a d a e saída d e d a d o s (E/S) é tra-tada n e s t e t r a b a l h o c o m o u m a forma alternativa de oferecer m a i s a p l i c a b i l i d a d e ao u s o d o c o m p u t a d o r . F u n d a m e n t a l m e n t e , a i m p l e m e n t a ç ã o de u m projeto d e c o m u n i c a ç ã o c o m portas de entrada e saída necessita da construção de u m software que p o s s a e s t a b e l e c e r a c o m u n i c a ç ã o c o m o s i s t e m a o p e r a c i o n a l de f o r ma correta e precisa , p o i s esta c o m u n i c a ç ã o irá ocorrer através das c h a m a d a s de s i s t e m a de b a i x o nível.
1
Discente do Curso de Bacharelado em Sistemas de Informação da FARN. E-mail: ricardo@farn.br :
Discente do Curso de Bacharelado em Sistemas de Informação da FARN. 3
Docente do Departamento de Informática da FARN. E-mail: aluizio@farn.br 4
Termo que inclui, além do hardware, o sistema operacional que é o maior responsável pela comunicação com os dispositivos de hardware ( T A N E N B A U M . 2000).
A c o m u n i c a ç ã o d o software c o m o s i s t e m a o p e r a c i o n al tornará possível o e n v i o de q u a i s q u e r c o m a n d o s ao dispositiv o q u e se deseja controlar. A o se p r o g r a m a r as portas d e e n t r a d a e saída, n ã o se estará a c e s s a n d o d i r e t a m e n t e o d i s p o -sitivo c o n t r o l a d o , m a s s i m o S i s t e m a O p e r a c i o n a l , q u e por sua vez, através d e sua m a n i p u l a ç ã o c o m o h a r d w a r e p r o m o v e r á o acesso ao dispositiv o d e s e j a d o .
O s i s t e m a o p e r a c i o n a l d e v e p r o p o r c i o n a r u m a interface entre a E/S e m nível físico e e m nível d e u s u á r i o ou lógica, pois a E/S é bastante c o m p l e x a em m u i t o s c a s o s . E l a n ã o e n v o l v e a p e n a s a m o v i m e n t a ç ã o d e d a d o s de um lugar para outro; ela r e q u e r a c o m u n i c a ç ã o entre dois dispositivos eletrônicos c o m p l e t a -m e n t e diferentes (SHAY, 1996).
O b s e r v a s e e n t ã o q u e atravé s desse tipo de c o m u n i c a ç ã o é possível m a n i -pular q u a s e t o d o s os e q u i p a m e n t o s . Tais dispositivo s p o d e m ser eletrônicos ou até m e s m o m e c â n i c o s . P a r a tanto, é i m p o r t a n t e o d e s e n v o l v i m e n t o de softwares q u e p o s s i b i l i t e m o g e r e n c i a m e n t o d e objetos externo s ao P C ( C o m p u t a d o r e s Pes-soais), o q u a l é o o b j e t i v o d e s t e trabalho .
O software d e s e n v o l v i d o neste trabalho é o r e s p o n s á v el direto pela c o m u -nicação fim-a-fim c o m os objetos e x t e r n o s . Todo o p r o c e s s o de interação entre o software c o d i s p o s i t i v o e x t e r i or ocorr e em t e m p o real via porta paralela. S e n d o assim, o s i s t e m a d e s e n v o l v i d o , q u e se d e n o m i n a S i s t e m a de G e r e n c i a m e n t o d e Objetos ( S G O ) , c o n s o l i d a d e f o r ma consistente a integração entre h a r d w a r e e software, o q u e n e m s e m p r e é trivial.
S e g u n d o o professor de E n g e n h a r i a da C o m p u t a ç ã o Dr. Roger S. Pressman, a m o n t a g e m de u m s i s t e m a d e t e m p o real faz com q u e o e n g e n h e i r o de s i s t e m a s se defronte c o m difíceis d e c i s õ e s referentes a h a r d w a r e c software ( P R E S S M A N , 1995).
O foco dest a p e s q u i s a é enfatizar a i m p l e m e n t a ç ã o de um s i s t e m a total-m e n t e d e d i c a d o , no qual o c o n t r o l e d o aplicativo d e s e n v o l v i d o c o total-m o objeto g e r e n c i a d o o c o r r e r e m o t a m e n t e .
2 A PORTA PARALELA
U m m i c r o c o m p u t a d o r n ã o teria m u i t a i m p o r t â n c i a se não p u d e s s e entrar c o m d a d o s e x t e r n o s p a r a o p r o c e s s a m e n t o , nem c o m o exteriorizar os d a d o s re-sultantes de a l g u m p r o c e s s a m e n t o ( T O R R E S . 2 0 0 1 ) .
Para q u e o m i c r o p o s s a estabelecer uma c o m u n i c a ç ã o c o m periféricos deve
existir u m a e s p é c i e d e p o r t a , a qual p e r m i t e a e n t r a d a e saída d e d a d o s . E s t a s portas p o d e m ser: a p o r t a p a r a l e l a, a serial e a U S B (Universal Serial Bus) q u e e s t ã o i n t e g r a d a s à p l a c a - m ã e d o m i c r o c o m p u t a d o r . N e s t e projeto é descrito su-c i n t a m e n t e o f u n su-c i o n a m e n t o d a porta paralela, pois essa interfasu-ce foi objeto d e e s t u d o d e s t e t r a b a l h o .
A t u a l m e n t e , j á há u m a g r a n d e v a r i e d a d e d e periféricos q u e utilizam a por-ta paralela, p o p u l a r m e n t e c o n h e c i d a c o m o porta de impressora. Tais periféricos i n c l u e m zip drives, g r a v a d o r e s de eds e x t e r n o s , scanners, entre o u t r o s . T u d o isso só é p o s s í v e l p o r q u e a interface p a r a l e l a t o r n o u s e b i d i r e c i o n a l, d e v i d o à e v o l u -ç ã o d o P C . Isto é, p o d e e n v i a r e r e c e b e r d a d o s ' s i m u l t a n e a m e n t e ' . N e s t e sentido , a p r o p o s t a d e s t e t r a b a l h o é m o s t r a r q u e , a l é m d e s s e s periféricos j á c o n h e c i d o s , p o d e - s e d a r m a i s u s a b i l i d a d e à p o r t a p a r a l e l a e s t a b e l e c e n d o u m a c o m u n i c a ç ã o d e s t a interface c o m q u a l q u e r o b j e t o q u e p o s s a ser c o n t r o l a d o . A p l i c a n d o as técni-cas c o r r e t a s , q u a l q u e r interface d e E / S p o d e ser u s a d a p a r a m a n i p u l a r objetos e x t e r n o s . A interface p a r a l e l a é u m a b o a a l t e r n a t i v a pela b a i x a c o m p l e x i d a d e .
A b i d i r e c i o n a l i d a d e d a interface p a r a l e l a m o s t r o u - s e b a s t a n t e r e l e v a n t e , pois, através d e s s e r e c u r s o , p o d e - s e obter u m alto d e s e m p e n h o no q u e s i t o taxa de t r a n s m i s s ã o . O s m o d o s d e o p e r a ç ã o d a interface paralel a e s t ã o b a s i c a m e n t e restritos a S S P5
, E P P6 c E C P7
, c a d a u m a c o m s u a taxa d e transferência distinta. O m o d o q u e t e m u m a m e l h o r t a x a d e transferência é o E C P . E s s e m o d o de opera-ç ã o é u m a v a n opera-ç o s o b r e o m o d o EPP , a u m e n t a n d o s i g n i f i c a t i v a m e n te a taxa de t r a n s f e r ê n c i a d a p o r t a p a r a l e l a , ( T O R R E S , 2 0 0 1 ) . O m o d o u t i l i z a d o p a r a i m p l e m e n t a ç ã o d o projeto foi o EPP.
A identificação das portas paralelas é feita c o m a sigla L P T (Une Printer-I m p r e s s o r a de linha), s e n d o q u e , p a r a c a d a port a é a c r e s c e n t a d o um n ú m e r o que s e g u e u m a o r d e n a ç ã o , ou seja, o p r i m e i r o e n d e r e ç o de c o n e x ã o c o m a interface paralela g a n h a u m r ó t u l o de L P T 1 , o s e g u n d o d e L P T 2 e assim por diante. N a prática, esses r ó t u l o s têm a p e n a s u m a s i m b o l o g i a figurativa para facilitar a identi-ficação, p o i s o q u e o c o r r e r e a l m e n t e é q u e o s i s t e m a o p e r a c i o n a l atribui a c a d a interface e n d e r e ç o s d e m e m ó r i a . A s s i m , o softwar e d e s e n v o l v i d o realiza a transm i s s ã o e r e c e p ç ã o d e d a d o s a t r a v é s d e escrita e leitura n e s s e s e n d e r e ç o s , r e s p e c -t i v a m e n -t e .
D e v e - s e ter a t e n ç ã o p a r a o fato d e q u e a m e s m a interface, no c a s o L P T 1 , 5
SSP {Standard Parallel Pari) é o modo de operação padrão, unidirecional e com taxa de transferência máxima de 150KB/s ( T O R R E S, 2001).
fl EPP (Enhanced Parallel Port) este modo de operação existe em todos os micros atuais. Traz duas novas caracte-rísticas à porta paralela padrão: modo bidirecional e aumento da taxa de transferência (TORRES, 2001). 7
ECP (Extended Capabilites Port) esse modo de operação é um avanço sobre o modo EPP, aumentando significa-tivamente a taxa de transmissão da porta paralela (TORRES, 2001).
tem dois e n d e r e ç o s distintos, um p a r a e s c r e v e r e o u t r o p a r a ler d a d o s . P o d e m o s o b s e r v a r o e n d e r e ç o d o d i s p o s i t i v o d e e n t r a d a e s a í d a c o n f i g u r a d o através d a B I O S (Basic Input/Output System) d o P C ou no g e r e n c i a d o r de d i s p o s i t i v o s do W i n d o w s .
Por p a d r ã o , o e n d e r e ç o e m h e x a d e c i m a l 3 7 8 h é o utilizad o para a L P T 1 . Isso não significa q u e esse e n d e r e ç o seja estático. Ele p o d e ser m u d a d o a qual-q u e r m o m e n t o , d e s d e qual-q u e se tenha n o ç ã o do qual-q u e se esteja f a z e n d o , pois qual-q u a l qual-q u e r p r o c e d i m e n t o e r r a d o p o d e r á gerar conflitos c o periférico ficar i n o p e r a n t e . D e s t a forma, na i m p l e m e n t a ç ã o do projeto o b s e r v o u - s e c u i d a d o s a m e n t e o t r a t a m e n t o deste e n d e r e ç o , ou seja, o software realiza todas as s u a s a t i v i d a d e s s e m c a u s a r d a n o s às c o n f i g u r a ç õ e s j á p r o p o s t a s p e l o s i s t e m a o p e r a c i o n a l . N o s Q u a d r o s 1 e 2, é m o s t r a d o o e n d e r e ç a m e n t o das L P T s .
Q u a d r o 1: E n d e r e ç o s d e E s c r i t a d a P o r t a P a r a l e l a
Nome da Porta Endereço de memória Endereço da Porta Descrição
LPT1 0000:0408 378 hexadecimal 888 decimal Endereço base
LPT2 0000:040A 278 hexadecimal 632 decimal Endereço base
Q u a d r o 2: E n d e r e ç o s de L e i t u r a da Porta P a r a l e la
Nome da Porta Endereço de memória Endereço da Porta Descrição
LPT1 0000:0408 378 hexadecimal 888 decimal Endereço base
LPT2 ()()00:04()A 278 hexadecimal 632 decimal Endereço base
2 O PROJETO
O projeto foi d e s e n v o l v i d o no a m b i e n t e W i n d o w s . Foi utilizada, c o m o a m b i e n t e d e p r o g r a m a ç ã o , a p l a t a f o r m a d e d e s e n v o l v i m e n t o Borland Delphi 5.0. E s s a ferramenta foi e s c o l h i d a p o r q u e c o m ela é p o s s í v e l realizar r a p i d a m e n t e a c o n s t r u ç ã o d e u m a interface gráfica b a s t a n t e a m i g á v e l para o S G O .
O S G O tem p o r finalidade g e r e n c i a r os m o v i m e n t o s de um p r o t ó t i p o (peq u e n o carro), sem a utilização de fio, isto é, u t i l i z a n d o s e do s i s t e m a d e c o m u n i -c a ç ã o wireless. E m linhas gerais, o s i s t e m a p r o m o v e u m a c o n e x ã o entre dois objetos, t r a n s m i s s o r e receptor, u t i l i z a n do a e m i s s ã o de o n d a s e l e t r o m a g n é t i c a s e m freqüência s de rádio e sinais l u m i n o s o s na faixa d e i n f r a v e r m e l h o , utilizand o c o m o m e i o de t r a n s m i s s ã o o ar.
A s s i m , o S G O é u m sistema c o m p u t a c i o n a l q u e e s t a b e l e c e a c o m u n i c a ç ã o e n t r e d i s p o s i t i v o s c o m arquiteturas b a s t a n t e d i v e r s i f i c a d a s . P a r a isso, o s i s t e m a d e s e n v o l v i d o utilizou vários r e c u r s os d e p r o g r a m a ç ã o i m p l e m e n t a d o s e m c i m a d a i n t e r f a c e p a r a l e l a , c o m o p o r e x e m p l o , a i m p l e m e n t a ç ã o d e m u l t i t a r e f a (multithreading), s e m a qual n ã o seria p o s s í v e l o b t e r as i n f o r m a ç õ e s e m t e m p o real. F o i através d e s s a s técnicas i m p l e m e n t a d a s q u e a interface p a r a l e la serviu c o m o m e i o p a r a q u e o S G O p u d e s s e e n v i a r sinais digitais p a r a a c o n v e r s ã o e m sinais d e r á d i o freqüência.
É p o r m e i o d e s s a m a n i p u l a ç ã o de sinais q u e o S G O c o n s e g u e obter do objeto a l g u m a s i n f o r m a ç õ e s , tais c o m o : d i s t â n c i a p e r c o r r i d a p e l o c a r r i n h o, a v e l o c i d a d e q u e o c a r r i n h o está a t u a l m e n t e , v e l o c i d a d e m é d i a e p e r c e p ç ã o da exis-tência d e a l g u m o b s t á c u l o q u e p o d e r á o c a s i o n a r u m a c o l i s ã o . P a r a este ú l t i m o caso, o s i s t e m a r e c e b e u m e s t í m u l o e n v i a d o p o r u m s e n s o r q u e está a c o p l a d o na frente do e x p e r i m e n t o . A p ó s receber este e s t í m u l o , o S G O e n v i a u m c o m a n d o que leva à a c e l e r a ç ã o d o c a r r i n h o a 0 (zero), f a z e n d o c o m q u e o carro pare, e v i t a n d o a c o l i s ã o .
O b s e r v a n d o t o d o o c o n j u n t o d e h a r d w a r e e s o f t w a r e u t i l i z a d o s na i m p l e m e n t a ç ã o deste projeto, p o d e m - s e d e s t a c a r três e n t i d a d e s :
C e n t r o d e c o n t r o l e é a parte d o s i s t e m a q u e d á f u n c i o n a l i d a de ao projeto, ou melhor, é o conjunto de c ó d i g o s d e p r o g r a m a ç ã o q u e é a c i o n a d o toda vez que se t e m a n e c e s s i d a d e d e e n v i a r ou r e c e b e r u m d a d o . E i m p l e m e n t a d o pelo S G O . O m e s m o p o d e gerar a ç õ e s q u e serão e n v i a d a s na f o r m a d e c o m a n d o s ao objeto g e r e n c i a d o e, a partir d e i n f o r m a ç õ e s q u e c h e g a m , estas são interpretadas de a c o r d o c o m a s i t u a ç ã o q u e está o c o r r e n d o n a q u e l e m o m e n t o c o m o objeto g e r e n c i a d o , g e r a n d o n o v a s a ç õ e s . S e n d o a s s i m, o c e n t r o d e c o n t r o l e é c o n s i d e r a-d o c o m o s e n a-d o o " c é r e b r o " a-d o sistema.
O b j e t o p a s s i v o c a parte d o s i s t e ma q u e a g u a r d a c o m a n d o s a c i o n a d o s pelo c e n t r o d e c o n t r o l e . A o entrar e m a ç ã o , e s t e gera i n f o r m a ç õ e s q u e são passa-das ao c e n t r o de c o n t r o l e a fim de q u e o m e s m o as g e r e n c i e d a f o r m a q u e lhe convier. N e s t e projeto, é i m p l e m e n t a d o pelo c a r r i n h o .
S i s t e m a d e c o m u n i c a ç ã o é o elo e n t r e o c e n t r o d e c o n t r o l e e o objeto p a s s i v o , ou seja, e n g l o b a t o d o s os d i s p o s i t i v o s d e c o m u n i c a ç ã o entre estas d u as e n t i d a d e s . E i m p l e m e n t a d a p e l o S i s t e m a O p e r a c i o n a l , a interface paralela c o s i s t e m a de t r a n s m i s s ã o por rádio freqüência.
P a r a o b s e r v a r o f u n c i o n a m e n t o d e s t e s i s t e m a , c o n s t r u i u - s e u m fluxo d e
i n f o r m a ç õ e s q u e p o d e ser o b s e r v a d o n a F i g u r a 1.
Sistema Operacional
(S.O.)
Transmissor
1 5
Objeto Pas:
Figura 1: Arquitetura da Solução
N o Q u a d r o 3 h á u m a i d e n t i f i c a ç ã o d o s fluxos d e i n f o r m a ç õ e s . E a t r a v é s
d e s t e s f l u x o s d e s i n a i s q u e o S G O o b t é m u m a p e r c e p ç ã o d o m u n d o exterior .
Q u a d r o 3 : F l u x o d e I n f o r m a ç ã o e n t r e os C o m p o n e n t e s
Fluxo N°Origem Destino Objetivo
01 SGO S.O. Enviar comando para o objeto gerenciado
02 S.O. LPT Escrever a seqüência de bits na porta paralela
03 LPT Transmissor Os bits são transformados em pulsos elétricos
04 Transmissor Objeto
Os pulsos elétricos são transformados em sinais de rádio freqüência (RF), que são captados pela antena do objeto
05 Objeto Transmissor
O objeto envia informação através de difusão de rádio freqüência, que são captados pela antena no Transmissor
06 Transmissor LPT Os sinais de RF viram pulsos elétricos na
interface paralela
07 LPT S.O. O S.O. lê o dado que acaba de chegar na LPT
08 S.O. SGO
O SGO recebe o dado que o S.O. acaba de receber, verifica a informação e imediatamente envia um novo comando se for necessário
3 O PROTÓTIPO
O c a r r i n h o q u e faz p a r t e d a i m p l e m e n t a ç ã o deste t r a b a l h o foi a d q u i r i d o t o t a l m e n t e p r o n t o , m o s t r a n d o q u e r e a l m e n t e é possível m a n i p u l a r m u i t o s objetos e x t e r n o s ao P C , s e m se p r e o c u p a r c o m o eles f u n c i o n a m , e sim c o m a m a n e i r a c o m o se d e v e c o m u n i c a r c o m e l e s. E s t e c a r r i n h o era t o t a l m e n t e alheio ao P C e a g o r a faz p a r te d e u m s i s t e m a q u e d e p e n d e d e s t e m e s m o P C p a r a q u e se p o s s a entrar e m f u n c i o n a m e n t o . A l é m d o c a r r i n h o faz parte d o p r o t ó t i p o u m circuito e l e t r ô n i c o r e s p o n s á v e l p o r r e c e b e r o s s i n a i s e l é t r i c o s e n v i a d o s p e l o S G O e c o n v e r t ê - l o s e m sinais d e r á d i o freqüência. O S G O , q u e é o ' c é r e b r o ' d o sistema, é d e t a l h a d o a seguir. U m p o n t o r e l e v a n t e no c a r r i n h o é um s e n s or infravermelho* p o s t o na c a i x a d e r e d u ç ã o , este s e n s o r e n v i a u m sinal c a d a vez q u e a roda c o m -pleta u m giro d e 3 6 0 ° g r a u s , c o m isso p o d e m o s calcular a distância percorrida, c o m esta g r a n d e z a é p o s s í v e l d e s c o b r i r o u t r a s , c o m o v e l o c i d a d e , v e l o c i d a d e m é -dia e a c e l e r a ç ã o .
3.1 O ALGORITMO
O S G O é c o m p o s t o b a s i c a m e n t e d e d u a s funções. U m a r e s p o n s á v e l por e n v i a r d a d o s e o u t r a r e s p o n s á v e l p o r c h e c a r se há a l g u m d a d o na porta paralela, t u d o isso o c o r r e n d o s i m u l t a n e a m e n t e e e m t e m p o real. Este p a r a l e l i s m o , c o m o j á foi dito, é t r a t a d o p e l o S G O através d o r e c u r s o d e multitarefa oferecido pelo s i s t e m a o p e r a c i o n a l , ou seja, e n q u a n t o o s i s t e m a está r e c e b e n d o e e x e c u t a n d o c o m a n d o s a partir d e sua interface c o m o u s u á r i o , o m e s m o , está r e a l i z a n d o um s e r v i ç o d e c h e c a g e m d e d a d o s na L P T l ( 3 7 9 h ) .
Q u a d r o 4 - 0 A l g o r i t m o do S G O
Programa SGO;
{Módulos responsáveis por ler e enviar dados na interface paralela.) Constantes
LPT1 = 378h; // Endereço da porta paralela para escrita; LPTR = 379h; // Endereço da porta paralela para leitura;
// Módulo de Escrita de dados.
Procedimento enviabyte(bit: inteiro); // Acessar a porta paralela; Início
x
O sensor usado foi o mesmo encontrado em impressoras para indicar que acabou o papel.
{Código escrito em assembly para enviar dados para porta paralela:}
asm // diretiva usada para escrever códigos em assembly.
mov dx, LPT1 //move o valor 378h para o registrador de dados dx. mov al, bit //move o valor de bit para registrador al(8 bits),
out dx, al // Escreve no endereço 378h o valor que tem em bit. Fim asm;
Final Procedimento;
{
// Módulo Leitura de dados
Função recebebyte(end: inteiro):inteiro; // Escrever na LPT; Var
ret: byte;
Início
{Código escrito cm assembly para ler dados na porta paralela:}
asm
mov dx, LPTR // move o valor $379 para registrador de dados dx. in al, dx // lê o valor que está em dx e armazena o valor encontrado no registrador al.
mov ret, al // move o valor lido na paralela para variável ret.
Final asm;
recebyte ? ret; {retorna o dado que está na porta paralela)
Final função;
// implementação do sistema ou inicialização do programa.
Início Var
ValorPorta, ValorEntrada, Conta360 : Inteiro; Sair: Caractere;
I
{Este bloco de comandos é responsável por enviar dados}
IniciaMultitarefa;
ValorEntrada ? 0; {Garante que a variável será iniciada com zero}
Repita
Mensagem ('Menu');
Mensagem ('128 - Para Frente, 64 - Para Traz, 32 - Direita, 16 - Esquerda' );
Leia (ValorPorta); Enviabyte (ValorPorta);
Mensagem ('Deseja encerrar o programa (s/n)?'); Leia (sair);
Até que (sair = V ou sair= ' S ' ) ;
Multitarefa
Enquanto verdade Faça Início
Tempo(lO); // O processo entra em espera por dez milésimos de // segundo evitando o loop infinito
Se recebebyte(0x379) = 120 Então // Sinal proveniente do sensor // de presença de obstáculos
enviabyte(O);
Se recebebyte(0x379) = 8 Então // Sinal proveniente do // sensor de giro da roda.
Conta360 ? Conta360 + 1; // Incrementa o n° de giros Fim enquanto;
Fim.
N o Delphi n ã o existe função p a r a acessar d i r e t a m e n t e um d i s p o s i t i v o d e h a r d w a r e . P a r a isso, foi utilizad o o r e c u r s o de e m b u t i r c ó d i g o Assembly p a r a instruções de b a i x o nível, ou melhor, r e c o r r e m o s a diretiva " A S M " que no Delphi significa q u e d a q u e l e p o n t o até o p r ó x i m o end as linhas de c o m a n d o s serão escri-tas e m Assembly. A l é m disso, o Delphi oferece u m a classe TThread q u e facilita b a s t a n t e a q u e s t ã o da multitarefa, pois é através desta classe q u e o S G O realiza a verificação dos d a d o s na interface paralela. C l a r o que t o d o o c ó d i g o do s i s t e m a não se r e s u m e a este a l g o r i t m o ; c o l o c o u - s e este para dar u m a n o ç ã o da lógica e m p r e g a d a no sistema. A v e l o c i d a d e e a distância a p r o x i m a d a p e r c o r r i d a pelo c a r r i n h o são obtida s através de cálculo s a partir da variável C o n t a 3 6 0 . O s cálcu-los seriam os s e g u i n t e s : P a r a calcula r a distância, f a z e m o s :
D i s t â n c i a = ( D i â m e t r o _ d a _ R o d a * C o n t a 3 6 0 ) ;
P a r a c a l c u l ar a v e l o c i d a d e , t e m o s :
D i s t â n c i a / T e m p o , e m q u e T e m p o é o instante e m q u e o c a r r i n h o p a r o u s u b t r a í d o d o instant e e m q u e ele partiu. E s t a s g r a n d e z a s m e d i d a s p e l o S G O são a p e n a s valores a p r o x i m a d o s , u m a v e z q u e o e q u i p a m e n t o utilizado não p r o v e i n f o r m a ç õ e s m a i s p r e c i s a s .
3.2 O CIRCUITO ELÉTRICO DO TRANSMISSOR
D e s c r e v e m o s o t r a n s m i s s o r d e f o r m a ilustrativa, m o s t r a d o na F i g u r a 2, no intuito de fornecer u m a idéia b á s i ca de c o m o sc p r o c e s s a a t r a n s m i s s ã o dos d a d o s sem fio.
4 METODOLOGIA APLICADA
A t r a v é s d e p e s q u i s a s na Internet s o b r e c o m o utilizar a porta paralela p a r a acessar c/ou c o n t r o l a r objetos do m u n d o real. foi e n c o n t r a d a u m a infinidade de
n o v a s t e c n o l o g i a s q u e j á f a z e m u s o d e s t e s r e c u r s o s d e h a r d w a r e . P a r t i n d o daí, o b s e r v o u - s e a e s t r u t u r a e m p r e g a d a e d e s c o b r i u - s e o p r o c e s s o d e c o m u n i c a ç ã o e n t r e a interfac e p a r a l e l a e os o b j e t os g e r e n c i a d o s . A s s i m , foram d e s e n v o l v i d a s t é c n i c a s q u e n o s a j u d a r a m a t o r n a r p o s s í v e l o e n v i o e r e c e b i m e n t o d e d a d o s c o m objetos e x t e r n o s ao P C .
E m u m s e g u n d o m o m e n t o , p r o c u r o u s e f u n d a m e n t a r t e o r i c a m e n t e a n o s -sa p e s q u i s a a fim d e q u e ela o b t i v e s s e u m c a r á t e r m a i s científico. R e c o r r e u - s e a autores c o m o G a b r i e l Torres q u e , a t r a v é s d e s u a s o b r a s , nos p e r m i t i u e s m i u ç a r a interface p a r a l e l a , q u e foi o p r i n c i p a l objeto d e e s t u d o . P e s q u i s o u - s e t a m b é m autores q u e d e s c r e v e s s e m o sistema operacional c o m o recurso de comunicabilidade s o f t w a r e - h a r d w a r e . D e s t a m a n e i r a , c o n s e g u i u - s e ter u m e n t e n d i m e n t o m a i s a p r o f u n d a d o d e i m p l e m e n t a ç ã o d o projeto . Foi f u n d a m e n t a l nesta p e s q u i s a c o n h e c e r b e m a f u n c i o n a l i d a de d o s sistema s o p e r a c i o n a i s , no q u e t a n g e a c o m u n i c a -ç ã o c o m d i s p o s i t i v o s d e e n t r a d a e s a í d a d e d a d o s .
5 RESULTADOS
O s i s t e m a d e s e n v o l v i d o t e m u m g r a u d e c o m p l e x i d a d e r e l a t i v a m e n t e m é dio, u m a vez q u e teve q u e se definir regras de m a n i p u l a ç ã o d o dispositivo c o n t r o lado. S e g u n d o Willian Shay, p r o f e s s o r d o D e p a r t a m e n t o de C i ê n c i a s da C o m p u -t a ç ã o d a U n i v e r s i d a d e d e W i s c o n s i n - G r e e Bay, e s c r e v e r u m sof-tware para controlar u m d i s p o s i t i v o r e q u e r m u i t a a t e n ç ã o a d e t a l h e s . O p r o g r a m a d o r d e v e c o -n h e c e r as e s p e c i f i c a ç õ e s t é c -n i c a s d o h a r d w a r e , o q u e e m geral requer um cuida-d o s o e s t u cuida-d o cuida-d o s m a n u a i s t é c n i c o s (SHAY, 1996).
O p r o j e t o c o n c e d e c o n h e c i m e n t o t e ó r i c o e e m p í r i c o no que diz respeito a t o d o o p r o c e s s o e n v o l v i d o no seu d e s e n v o l v i m e n t o , p r o p i c i a n d o s e g u r a n ç a no d e s e n v o l v i m e n t o d e s i s t e m a s q u e m a n i p u l e m objeto s e x t e r n o s ao c o m p u t a d o r , a t r a v é s d a s interfaces d e e n t r a d a e saída. O s i s t e m a p r o p o s t o a l c a n ç o u os resulta-dos d e s e j a d o s , p o i s a l é m d e c o n s e g u i r e n v i a r d a d o s a t r a v é s d a port a paralela, t a m b é m foi p o s s í v e l r e c e b e r d a d o s d o d i s p o s i t i v o c o n t r o l a d o , de m o d o q u e o software d e s e n v o l v i d o i n t e r a g i u c o m o m e i o e x t e r i o r s e m a i n t e r v e n ç ã o h u m a n a .
C o m isso, os r e s u l t a d o s o b t i d o s c o m este projeto são bastante satisfatórios, u m a v e z q u e o m e s m o serviu c o m o p o n t o de partid a p a r a projetos ainda m a i o r e s e m a i s o u s a d o s .
6 CONSIDERAÇÕES FINAIS
A i n f o r m á t i c a t e m a n d a d o a p a s s o s largos. C o n t u d o , ainda existe u m a infin i d a d e de p o s s i b i l i d a d e s a s e r e m i m p l e m e infin t a d a s . Est e projeto de p e s q u i s a p e r m i
tiu b u s c ar a i n d a m a i s i n f o r m a ç õ e s no intuito de p o d e r a m p l i á - l o para u m tipo d e sistema inteligente. S e n d o assim , p e r c e b e - s e o q u a n t o é i m p o r t a n t e d e s e n v o l v e r s i s t e m a s q u e p o s s a m p r o v e r a a u t o m a ç ã o d e objetos u s a d o s nas e m p r e s a s , nas residências, nos v e í c u l o s , enfim, e m t u d o q u e faça p a r t e d o c o t i d i a n o d a s p e s s o a s e das c o r p o r a ç õ e s .
D o m i n a r este tipo d e técnica ou ao m e n o s ter c o n h e c i m e n t o d e suas p o s -sibilidades é d e s u m a i m p o r t â n c i a , u m a vez q u e a s o c i e d a d e m o d e r n a e x i g e sistem a s c a d a vez sistem a i s c o sistem p l e t o s a fisistem d e r e s o l v e r p r o b l e sistem a s c a d a vez sistem a i s c o sistem p l e -xos. E m princípio, a g r a n d e v a n t a g e m destes s i s t e m a s q u e r e s o l v e m p r o b l e m a s c o m p l e x o s é q u e os m e s m o s a g r e g a m m u i t o m a i s valor às s o l u ç õ e s .
REFERÊNCIAS
P R E S S M A N , R. S. E n g e n h a r i a d e s o f t w a r e . S ã o P a u l o : M a k r o n B o o k s , 1995.
SHAY, W. A . S i s t e m a s o p e r a c i o n a i s . S ã o P a u l o : M a k r o n B o o k s , 1996.
T A N E N B A U M , A. S.; W O O D H U L L , A. S. S i s t e m a s o p e r a c i o n a i s . 2. ed. P o r to A l e g r e : B o o k m a n , 2 0 0 0 .
T O R R E S , G. H a r d w a r e c o m p l e t o . 4. ed. R i o d e J a n e i r o : A x c e l B o o k s , 2 0 0 1 .
Abstract
This paper shows how the input and outpiitports can be handled to even greater computer inter-operability and iisability when they become Interactive mechanisms wit/i other computer ex-ternai objects. By means ofa radio wave transmission device managed by a parallel port, a small car engine is started and its movements controlled controlled.
Key words: parallel port; operational system; interaction; wire-less.