protÓtipo de um sistema de monitoramento de salas...
TRANSCRIPT
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE CIÊNCIAS DA COMPUTAÇÃO – BACHARELADO
PROTÓTIPO DE UM SISTEMA DE MONITORAMENTO DE
SALAS DE AULA UTILIZANDO TCP/IP SOBRE REDES
ETHERNET (802.3)
RAFAEL CECHET
BLUMENAU 2006
2006/2-22
RAFAEL CECHET
PROTÓTIPO DE UM SISTEMA DE MONITORAMENTO DE
SALAS DE AULA UTILIZANDO TCP/IP SOBRE REDES
ETHERNET (802.3)
Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Ciências da Computação — Bacharelado.
Prof. Miguel Alexandre Wisintainer - Orientador
BLUMENAU 2006
2006/2-22
PROTÓTIPO DE UM SISTEMA DE MONITORAMENTO DE
SALAS DE AULA UTILIZANDO TCP/IP SOBRE REDES
ETHERNET (802.3)
Por
RAFAEL CECHET
Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:
______________________________________________________ Presidente: Prof. Miguel Alexandre Wisintainer – Orientador, FURB
______________________________________________________ Membro: Prof. Antonio Carlos Tavares – FURB
______________________________________________________ Membro: Prof. Francisco Adell Péricas, Mestre – FURB
Blumenau, 8 de dezembro de 2006
Dedico este trabalho aos meus pais que, em todos os momentos da minha vida, souberam me apoiar com sabedoria e que jamais desistiram de acreditar em meus sonhos.
AGRADECIMENTOS
Ao Grande Espírito pela sua iluminação em minha jornada.
Aos meus pais que tanto me incentivaram e ajudaram em meus estudos e minha vida.
Aos meus filhos por tantos ensinamentos.
A minha namorada que muitas vezes soube ter paciência nas horas que mais precisava
em realizar minhas atividades acadêmicas.
Ao meu orientador, Miguel Alexandre Wisintainer, pela sua dedicação, paciência e
tantas boas idéias.
Aos meus amigos que me incentivaram e souberam dar seu apoio no momento certo.
A todas as pessoas que estiveram envolvidas direta ou indiretamente em minha vida
que, de certa forma, contribuíram com a construção do meu caráter.
“Grandes realizações são possíveis quando se dá atenção aos pequenos começos.”
Lao Tse
RESUMO
Este trabalho tem por objetivo apresentar a implantação de um protótipo de monitoramento para salas de aula utilizando redes ethernet 802.3. A integração entre os transdutores de monitoramento e o software de monitoramento dar-se-á por um microcontrolador PIC16F877 e um módulo de conexão com redes chamado de uNetEthernet. O microcontrolador traduz os sinais eletrônicos vindo dos transdutores e da leitora de código de barras, que por sua vez os transmite pela rede ao software de monitoramento em um PC, implementado em Java, através do protocolo UDP.
Palavras-chave: Transdutores, Redes Ethernet (802.3), PIC16F877, Módulo uNetEthernet, Protocolos UDP.
ABSTRACT
This work’s objective is to present the implantation of a monitoring prototype for classrooms being used ethernet nets 802.3. The integration between the transductors monitoring and the software monitoring will give up for a microcontroller PIC16F877 and a connection module with nets called uNetEthernet. The microcontroller translates the transductors electronic signals and the barcode scanner, then transmits them for the net to the monitoring software in a PC, implemented in Java, through protocol UDP.
Key-words: Transductors, Ethernet nets (802.3), PIC16F877, uNetEthernet module, UDP protocols.
LISTA DE ILUSTRAÇÕES
Figura 1 – Arquitetura da rede Internet ....................................................................................15
Figura 2 – Diagrama de uma comunicação UDP .....................................................................15
Figura 3 - Microfone dinâmico.................................................................................................17
Quadro 1 - Comandos IR..........................................................................................................18
Figura 4 - Diagrama de blocos do módulo uNetEthernet.........................................................19
Figura 5 - Módulo uNetEthernet ..............................................................................................19
Figura 6 – Processo de leitura de um código de barras ............................................................21
Figura 7- Visor de cristal líquido de matriz passiva.................................................................22
Figura 8 - Leitora de código de barras Cash Way - CCD ........................................................26
Figura 9 - Diagrama de componentes do hardware..................................................................27
Quadro 2 - Diagrama de Classe do software servidor ..............................................................28
Quadro 3 -Diagrama de atividades do software servidor .........................................................28
Figura 10 - Circuito de comunicação serial do PC com o módulo uNetEthernet ....................30
Figura 11 - Testes de comunicação com o módulo uNetEthernet............................................31
Figura 12 - Ambiente do software Microcode Studio ..............................................................32
Figura 13 - Testes com Proteus Professional ...........................................................................33
Figura 14 - Proteus Professional em execução.........................................................................33
Figura 15 - Gravador de microcontroladores PIC ....................................................................34
Figura 16 - Software IC-Prog ...................................................................................................34
Figura 17 - Implementação do circuito eletrônico....................................................................35
Quadro 4 - Configuração dos pinos para o LCD......................................................................36
Quadro 5 - Configuração do conversor A/D ............................................................................36
Quadro 6 - Configuração da porta PORTA do microcontrolador ............................................36
Quadro 7 - Leitura analógica....................................................................................................37
Quadro 8 - Função para mostrar informações no LCD ............................................................37
Quadro 9 - Funções de envio/leitura de dados pela serial ........................................................38
Quadro 10 - Rotina principal do software embarcado..............................................................38
Quadro 11 - Leitura dos transdutores .......................................................................................39
Quadro 12 – Rotina de interrupção que realiza a leitura da leitora de código de barras..........40
Quadro 13 - Rotina de socket com o módulo uNetEthernet .....................................................40
Quadro 14 - Rotina de envio dos dados ao software servidor ..................................................41
Quadro 15 - Inicialização do pacote e do socket ......................................................................42
Quadro 16 - Rotina que envia pacotes UDP a cada 2 segundos...............................................42
Quadro 17 - Rotina de envio do pacote UDP ...........................................................................42
Quadro 18 - Rotina de recebimento de dados...........................................................................43
Figura 18 - Inicialização do protótipo ......................................................................................44
Figura 19 - Protótipo em funcionamento..................................................................................44
Figura 20 - Interrupção ativada para ler código de barras........................................................44
Figura 21 - Dados enviados com sucesso.................................................................................45
Figura 22 - Tela do software servidor ......................................................................................45
Figura 23 – Circuito eletrônico.................................................................................................51
Figura 24 - Reguladores de Tensão ..........................................................................................52
Figura 25 - Diagrama de atividade do software embarcado.....................................................53
SUMÁRIO
1 INTRODUÇÃO..................................................................................................................12
1.1 OBJETIVOS DO TRABALHO ........................................................................................12
1.2 ESTRUTURA DO TRABALHO......................................................................................13
2 FUNDAMENTAÇÃO TEÓRICA....................................................................................14
2.1 REDE TCP/IP....................................................................................................................14
2.1.1 Protocolo UDP ................................................................................................................15
2.1.2 Socket..............................................................................................................................16
2.2 TRANSDUTORES............................................................................................................16
2.3 MÓDULO UNETETHERNET .........................................................................................17
2.4 MICROCONTROLADORES...........................................................................................20
2.4.1 Linguagem PicBasic para microcontroladores................................................................20
2.5 LEITOR DE CÓDIGO DE BARRAS...............................................................................21
2.6 VISOR DE CRISTAL LÍQUIDO .....................................................................................22
2.7 APPLETS ..........................................................................................................................22
2.8 TRABALHOS CORRELATOS........................................................................................23
3 DESENVOLVIMENTO DO TRABALHO.....................................................................24
3.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO.......................24
3.2 ESPECIFICAÇÃO ............................................................................................................24
3.2.1 Especificação do hardware..............................................................................................25
3.2.2 Especificação do software embarcado ............................................................................27
3.2.3 Especificação do software servidor.................................................................................27
3.3 IMPLEMENTAÇÃO ........................................................................................................29
3.3.1 Componentes e ferramentas utilizadas............................................................................29
3.3.1.1 Módulo uNetEthernet ...................................................................................................29
3.3.1.2 Microcontrolador PIC16F877.......................................................................................31
3.3.1.3 Implementação do circuito eletrônico ..........................................................................34
3.3.1.4 Implementação do software embarcado .......................................................................36
3.3.1.5 Implementação do software servidor no PC.................................................................41
3.3.2 Operacionalidade da implementação ..............................................................................43
3.4 RESULTADOS E DISCUSSÃO ......................................................................................46
4 CONCLUSÕES..................................................................................................................48
4.1 EXTENSÕES ....................................................................................................................48
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................49
APÊNDICE A – Circuito Eletrônico ....................................................................................51
APÊNDICE B – Reguladores de tensão ...............................................................................52
APÊNDICE C – Especificação do software embarcado .....................................................53
12
1 INTRODUÇÃO
Com o passar dos anos, o ser humano vêm criando cada vez mais novos dispositivos
de controle, que têm o intuito de facilitar tarefas usuais que transcorrem no dia-a-dia. Caixas
de supermercado, postos de gasolina e até mesmo vídeo locadoras são exemplos práticos que
pode-se citar pelo seu grau de automação. Estes dispositivos possuem os mais diversos fins,
que vão desde o controle de identificação de mercadorias pelo processo de leitura de código
de barras, até identificadores de seres humanos através da leitura da íris ocular.
Com o avanço de tecnologias de redes de computadores, ficou mais viável criar
mecanismos de controle a distância que possam auxiliar a automação de determinadas tarefas,
tais como terminais de consulta de supermercados, onde o cliente passa o produto a ser
adquirido na frente da leitora do terminal e o mesmo repassa a informação do valor.
Fatos como esses serviram de referência para a abordagem deste trabalho - o
desenvolvimento de um dispositivo capaz de ser conectado a um ponto de rede e que possa
monitorar a sala de aula através de transdutores de temperatura, presença, luminosidade e
ruídos, como também auxiliar no controle de presença dos alunos através da leitura do cartão
da biblioteca. Essas informações são transmitidas a um Personal Computer (PC) através da
rede para que um software faça a interpretação destes dados disponibilizando-as em um
navegador de internet.
1.1 OBJETIVOS DO TRABALHO
O objetivo deste trabalho é desenvolver um hardware e um software capaz de
monitorar remotamente salas de aula através da interpretação de sinais dos transdutores
analógicos: temperatura, ruído, luminosidade e presença, como também auxiliar o controle de
presença de alunos em sala de aula através da utilização de uma leitora de código de barras.
Os objetivos específicos do trabalho são:
a) construir um hardware utilizando o módulo uNetEthernet juntamente com um
microcontrolador PIC16F877;
b) acoplar os transdutores de temperatura, ruído, luminosidade e presença ao
microcontrolador;
13
c) acoplar um visor de cristal líquido ao microcontrolador;
d) acoplar uma leitora de código de barras ao microcontrolador;
e) estabelecer comunicação entre o hardware e o software no PC através de rede
ethernet (802.3) sobre o protocolo UDP;
f) desenvolver um software para o PC a fim de realizar a troca de dados com o
hardware;
g) desenvolver um software para o PC que disponibilizará os dados lidos do hardware
em um navegador da internet.
1.2 ESTRUTURA DO TRABALHO
O capítulo 2 apresenta uma introdução sobre redes TCP/IP, protocolo UDP, sockets,
transdutores, módulo uNetEthernet, microcontroladores, Linguagem PicBasic para
microcontroladores, leitor de código de barras, visor de cristal líquido, applets e trabalhos
correlatos.
No capítulo 3 são apresentadas a especificação e a implementação do protótipo. E, por
fim, no capítulo 4, são apresentadas as considerações finais e as sugestões para extensão deste
trabalho.
14
2 FUNDAMENTAÇÃO TEÓRICA
Alguns conceitos fundamentais são apresentados neste capítulo onde são abordados os
tópicos que são de maior relevância, tais como: rede TCP/IP, protocolo UDP, sockets, módulo
uNetEthernet, transdutores, microcontroladores, leitor de código de barras, visor de cristal
líquido e applets. Na última seção tem-se o estudo de trabalhos correlatos.
2.1 REDE TCP/IP
Segundo Péricas (2003, p. 51), TCP/IP representa a arquitetura da rede internet
distribuída em cinco camadas distintas que contém finalidades específicas:
a) camada física: responsável pela transmissão de bits em um canal de comunicação;
b) camada de enlace: responsável pela padronização dos bits, transformando-os em
quadros livres de erros;
c) camada de rede: utilizada para realizar o envio dos pacotes para qualquer destino;
d) camada de transporte: responsável pela estabelecimento de um canal de
comunicação quando dois protocolos fim a fim forem definidos;
e) camada de aplicação: representa a utilização de protocolos de suporte às
aplicações.
Atualmente, o TCP/IP é responsável pela interligação de redes classificadas em função
de sua escala:
a) local area network (LAN): redes locais, com infra-estrutura pequena;
b) metropolitan area network (MAN): redes metropolitanas administradas por
terceiros e que interligam pequenos centros (bairros, cidades);
c) wide area network (WAN): redes geograficamente distantes, e que geralmente tem
por finalidade interligar as LANs.
O modelo de referência TCP/IP está representado na figura 1:
15
Fonte: Péricas (2003, p. 37).
Figura 1 – Arquitetura da rede Internet
2.1.1 Protocolo UDP
Segundo Péricas (2003, p. 90), o protocolo User Datagram Protocol (UDP) não é
orientado à conexão, permitindo que os pacotes IP brutos encapsulados sejam transmitidos ao
destinatário sem garantia de recebimento.
Os fatores que levam algumas aplicações a utilizar o protocolo UDP são devidos ao
tamanho de seu cabeçalho composto por 8 bytes, e por não ter controle de estado de conexão
tornando a comunicação entre dois pontos mais rápida.
Fonte: Péricas (2003, p. 94).
Figura 2 – Diagrama de uma comunicação UDP
16
2.1.2 Socket
De acordo com Scrimger et al. (2002, p. 154), um socket é um mecanismo de
comunicação entre processos. Esses processos podem estar em máquinas distantes ou até
mesmo na própria máquina.
Ainda Scrimger (2002), o socket é a combinação entre o endereço IP de um
determinado nó e o número da porta TCP, que é utilizado especificamente para estabelecer
conexões entre esses processos.
Pelo fato do socket ser um elemento de software, é possível realizar as seguintes
operações: estabelecer comunicação entre processos, enviar e receber dados, encerrar
conexões e esperar por conexões em uma porta específica.
2.2 TRANSDUTORES
Os transdutores, ou popularmente chamados de “sensores”, são dispositivos que
transformam energia não elétrica (temperatura, som, luz, etc.) em informação elétrica (tensão,
corrente, resistência) (TRANSDUTOR, 2006).
Os transdutores, de uma forma geral, funcionam de formas diferentes uns dos outros.
Através de efeitos físico-mecânicos ou efeitos químicos, os transdutores sofrem alterações em
suas propriedades conforme suas características.
Um exemplo comum de um transdutor é o microfone dinâmico, que ao ser submetido a
ação de ondas sonoras, a bobina interna movimenta-se dentro de um campo magnético,
fazendo com que os seus elementos constituintes gerem uma corrente elétrica proporcional a
mesma forma da onda.
17
Fonte: MICROFONES, 2006.
Figura 3 - Microfone dinâmico
2.3 MÓDULO UNETETHERNET
O módulo uNetEthernet é um coprocessador TCP/IP que conecta um microcontrolador
acoplado a ele à internet ou a uma rede ethernet (802.3) (NCHIP, 2006). Sua principal
funcionalidade é ser utilizada como interface entre outros dispositivos conectados através de
seu canal de comunicação serial e uma rede.
Uma das grandes facilidades em trabalhar com este módulo é que ele contém, em sua
arquitetura, um processador de comandos. Estes comandos são recebidos pelo canal serial de
comunicação e processados conforme sua programação. Os resultados deste processamento
são devolvidos para o canal serial.
O processador de comandos mencionado funciona por linha de comandos. Essas linhas
de comandos são da seguinte forma: <IR><commando>argumento.
O <IR> é uma instrução que sinaliza o processador. Essa instrução faz com que o
processador fique esperando um comando específico.
Esse <comando>, determinado por uma letra específica, contém uma determinada
função. Esta função pode vir acompanhada opcionalmente de um argumento.
Os comandos podem ser melhores exemplificados conforme quadro abaixo:
COMANDOARGUMENTO DESCRIÇÃO RESULTADO
IRD atualiza configuração de rede por DHCP OK[CR/LF]
FAIL[CR/LF]
IRN<nome> resolve um nome em um endereço IP
usando o protocolo DNS
Endereço IP[CR/LF]
FAIL DNS[CR/LF]
18
IRP<nome/IP> envia um ping (ICMP) e espera por uma
resposta
OK[xxx]ms[CRLF]
FAIL[CR/LF]
IRUB<porta> espera por um pacote UDP em uma porta
específica
ERROR[CR/LF]
OK[CR/LF]
IRUP[IP/nome]:[porta
destino]:[porta origem]
envia um pacote UDP para o IP:porta
destino de IP:porta origem
DNS FAIL[CR/LF]
ERROR[CR/LF]
OK[CR/LF]
IRUG recebe um pacote UDP NO DATA[CR/LF]
ou
Endereço IP do ponto da
rede que enviou o
pacote[CR/LF]
Porta do ponto da rede
que enviou o
pacote[CR/LF]
Tamanho do
pacote[CR/LF]
Dados do pacote[CR/LF]
IRUV pára de escutar uma porta específica OK[CR/LF]
IRT<socket><nome/IP>:<porta
destino>
conecta um socket TCP a um host remoto
em uma porta específica
FAIL DNS[CR/LF]
FAIL TCP[CR/LF]
ERROR[CR/LF]
IRR<socket> reconecta um socket TCP específico OK[CR/LF]
FAIL SOCKET
DOWN[CR/LF]
IRX<socket> fecha um socket TCP OK[CR/LF]
IRO desliga o processador de linhas de comando OK[CR/LF]
IRES salva as configurações na EEPROM OK[CR/LF]
IREL carrega as configurações previamente salvas
na EEPROM
OK[CR/LF]
IREI invalida a configuração da EEPROM OK[CR/LF]
IRE<endereço>[=valor] lê ou grava um valor em um endereço
específico da EEPROM
<valor>[CR/LF]
IRS<registrador>[=valor] lê ou grava um valor de um registrador <valor>[CR/LF]
Quadro 1 - Comandos IR
Para um maior entendimento sobre a estrutura do módulo, a figura 4 apresenta um
diagrama de blocos.
19
Fonte: NCHIP (2006, p. 9).
Figura 4 - Diagrama de blocos do módulo uNetEthernet
Outra vantagem em trabalhar com este módulo é que não existe a dificuldade em
trabalhar com alguns protocolos, pois os mais simples (Domain Name Server (DNS), Internet
Control Message Protocol (ICMP), User Datagram Protocol (UDP), Transfer Control
Protocol (TCP), Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) e
Hypertext Transfer Protocol (HTTP)), já estão implementados, podendo ainda ser atualizáveis
ou até implementados caso haja necessidade.
Fonte: BASIC4EVER, 2006.
Figura 5 - Módulo uNetEthernet
20
2.4 MICROCONTROLADORES
Os microcontroladores são computadores programáveis específicos para controlar
dispositivos eletrônicos e que incorporam em sua arquitetura todos os periféricos que a
maioria dos microprocessadores comuns possuem (SILVA JÚNIOR, 1997, p. 1).
Além de contarem com uma arquitetura simples, possuem: linguagem própria
(assembly), pequeno conjunto de instruções e grande quantidade de registradores. Utilizam
poucos ciclos de máquina para executarem instruções, tornando-os rápidos e eficientes.
A vantagem em se desenvolver projetos eletrônicos utilizando microcontroladores é de
que se torna mais prático e barato controlar outros periféricos, auxiliando geralmente o
trabalho de outros processadores maiores.
Um dos grandes recursos que geralmente os microcontroladores possuem é o
conversor analógico-digital, também conhecido como conversor A/D. Trata-se de um circuito
eletrônico capaz de transformar um sinal de grandeza analógica em uma representação digital
dispostos por uma seqüência binária. Pode-se representar um exemplo de conversão
analógico-digital de um conversor de 8 bits, supondo que os valores de 0 a 5 V (volts)
representem binariamente 00000000 a 11111111 (MALVINO, 1985, p. 509).
2.4.1 Linguagem PicBasic para microcontroladores
Segundo a microEngineering Labs (2005), por ser uma linguagem semelhante ao
inglês e mais fácil de ler e escrever do que a ardilosa linguagem assembly, da Microchip
Tecnology Inc. (MICROCHIP, 2004), o PicBasic é uma das linguagens mais rápidas e fáceis
de programar.
Para exemplificar a facilidade em programar com o PicBasic, podem-se citar algumas
instruções, tais como: SERIN e SEROUT – rotinas de leitura e escrita de comunicação serial,
LCDOUT – para mostrar uma informação em um visor de cristal líquido, ADCIN – conversor
analógico-digital, GOSUB – instruções de salto para sub-rotinas, etc.
21
2.5 LEITOR DE CÓDIGO DE BARRAS
Segundo Zyngier e Grossmann (1991, p. 11), o sistema de código de barras é um
símbolo composto de barras paralelas de larguras e espaçamentos variados que representam
uma determinada informação.
Atualmente é a tecnologia mais utilizada no mundo para realizar identificação
automática de qualquer objeto e tem sido usada com sucesso em quase todo o mundo há mais
de 30 anos (ERDEI, 1994).
Conforme Zyngier e Grossmann (1991, p. 12), o procedimento de leitura é feito ao
cruzar um ponto de luz por todas as barras no sentido longitudinal (da esquerda para a direita
ou vice-versa). As barras são as regiões que não refletem a luz vermelha ao equipamento
leitor, e o fundo (espaços) a que reflete. Dessa maneira, o equipamento leitor verifica a
proporção das larguras pela medida do tempo de reflexão ou de sua ausência. As regiões que
não refletem representam o bit “zero”, e as que refletem em bit “um”. Com a seqüência
ordenada destes bits tem-se a representação da informação, conforme figura abaixo:
Fonte: Zyngier e Grossmann (1991, p. 13).
Figura 6 – Processo de leitura de um código de barras
As leitoras de código de barras atualmente estão apresentando interfaces de vários
tipos, sendo as mais comuns: PS/2, seriais e também USB.
22
2.6 VISOR DE CRISTAL LÍQUIDO
Também conhecidos como Liquid Crystal Display (LCD), os visores de cristal líquido
são dispositivos eletrônicos de espessura fina, de baixo consumo, onde as pequenas moléculas
de cristal líquido são perfeitamente arranjadas formando uma matriz de pontos que constituem
o visor.
Cada ponto do visor denomina-se de pixel, que consiste em uma coluna de moléculas
de cristal líquido suspensa por dois eletrodos transparentes e dois filtros polarizados
perpendiculares entre si.
Aplicando uma pequena carga elétrica sobre os eletrodos, as moléculas de cristal
líquido que possuem carga elétrica, mudam as suas forças eletrostáticas. Esta mudança faz
com que a luz atravesse as moléculas variando ou bloqueando a passagem de luz pelos filtros
polarizados (ECRÃ DE CRISTAIS LÍQUIDOS, 2006).
Fonte: LIQUID CRYSTAL DISPLAY, 2006.
Figura 7- Visor de cristal líquido de matriz passiva
2.7 APPLETS
Os Applets são aplicativos que utilizam o Java Virtual Machine (JVM) para serem
executados em um computador (APPLET, 2006).
Segundo Newman et al. (1997, p. 273), as aplicações Java agora podem ser executadas
em qualquer navegador que ofereça compatibilidade com applet e em qualquer tipo de
sistema operacional. Desta forma, as páginas web podem exibir programas complexos sem
exigir instalações prévias de bibliotecas e outros programas que venham o auxiliar.
23
2.8 TRABALHOS CORRELATOS
O trabalho desenvolvido por Vasques (2003) consiste em um protótipo de um sistema
que envia dados por uma rede TCP/IP através da leitura de um teclado, utilizando um
microcontrolador. Neste trabalho, pode-se notar a facilidade em utilizar microcontroladores
para executar determinadas tarefas, visto que se trata de um hardware que possui uma
arquitetura simples e um conjunto de instruções reduzido, tornando simples a sua utilização.
O sistema para automação e controle residencial desenvolvido por Censi (2001),
consiste em um sistema que executa comandos através do recebimento de e-mails. Com este
sistema pode-se perceber a facilidade em desenvolver softwares embarcados, utilizando-se os
protocolos TCP/IP.
O protótipo de controle de acesso para academias de ginástica desenvolvido por Carmo
(2005), realiza transmissão de dados por canais seriais do microcontrolador PIC. Neste
trabalho pode-se verificar a facilidade em trabalhar com as instruções de leitura/envio de
dados pela serial do microcontrolador.
O protótipo de monitoramento desenvolvido por Montibeller Júnior (2005), assemelha-
se muito com este trabalho, pois também se trata de um protótipo de sistema de
monitoramento que também utiliza a rede para enviar os dados monitorados, e que serviu de
referência para pesquisa do presente trabalho.
24
3 DESENVOLVIMENTO DO TRABALHO
Neste capítulo são abordadas a especificação e a implementação do hardware e do
software do protótipo através de diagramas específicos de cada tópico como também trechos
do código fonte utilizado em seu desenvolvimento.
3.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO
O trabalho contém partes de hardware e software, que estão detalhados separadamente
e dispostos em requisitos funcionais (RF) e requisitos não funcionais (RNF).
O hardware deve:
a) coletar os sinais analógicos dos transdutores (RF);
b) estabelecer comunicação com o visor de cristal líquido (RF);
c) estabelecer comunicação com a leitora de código de barras (RF);
d) estabelecer comunicação com o módulo uNetEthernet (RF);
e) estabelecer comunicação com o software no PC (RF);
f) enviar os dados para o software no PC sempre que receber uma requisição (RF);
g) enviar os dados da leitora de código de barras para o software no PC (RF);
h) ser implementado em linguagem PicBasic para microcontroladores (RNF).
O software deve:
a) estabelecer comunicação com o hardware (RF);
b) coletar os dados do hardware através da rede (RF);
c) disponibilizar os dados lidos em ambiente gráfico (RNF);
d) ser implementado em JavaApplet (RNF).
3.2 ESPECIFICAÇÃO
O protótipo divide-se da seguinte forma: um hardware que faz a leitura dos
transdutores e da leitora do código de barras, o software embarcado e um software servidor
25
que será executado em um PC.
Para a especificação do hardware é utilizada a ferramenta Proteus Professional
(LABCENTER ELECTRONICS, 2006).
O software embarcado é especificado pelo diagrama de atividades utilizando UML. A
ferramenta utilizada é a Enterprise Architect 6.0 (SPARX, 2006).
O software servidor que é executado no PC é especificado pelo diagrama de classes e
de atividades utilizando UML. Para este diagrama será utilizada a ferramenta Enterprise
Architect 6.0 (SPARX, 2006).
3.2.1 Especificação do hardware
O circuito eletrônico do hardware está especificado no apêndice A. A ferramenta
utilizada para o desenvolvimento deste tópico foi o Proteus Professional. Neste apêndice,
pode-se notar os sub-circuitos necessários para captar os sinais dos transdutores.
No detalhe A (sub-circuito de controle temperatura), é utilizado um transdutor de
temperatura descrito pelo componente U1 (LM35D). A voltagem de saída do transdutor é
linearmente proporcional a sua temperatura, ou seja, cada 10mV corresponde a 1 ºC.
Pode-se notar que a saída do transdutor de temperatura está ligado a entrada do pino 2
do componente U2, que refere-se ao microcontrolador PIC16F877. Este pino 2 está
programado como conversor analógico-digital.
No detalhe B (sub-circuito de controle luminosidade), é utilizado um Light Dependent
Resistor (LDR). A resistência do LDR é proporcional a sua luminosidade, ou seja, quando a
luminosidade é baixa, a resistência é bem alta, chegando em torno de 1MΩ, e quando sua
luminosidade é alta, sua resistência fica em torno de 10KΩ. Devido a essa característica, fez-
se necessário o uso de um transistor Q1 (BC548) para amplificar o sinal do LDR.
A saída do detalhe B está ligada ao pino 3 do componente U2 que está programado
como conversor analógico digital.
No detalhe C (sub-circuito de controle de ruídos), é utilizado um microfone de eletreto
e um circuito comparador de tensão, determinado pelo amplificador operacional U4 (LM748),
utilizado para amplificar o sinal do microfone. Como este componente possui um ganho
muito elevado (50.000 vezes o valor de entrada), o sinal do microfone, que é muito baixo (em
torno de 20mV), é levado à entrada inversora do componente U4. Os resistores variáveis RV2
e RV3 são utilizados para calibrar o nível de sensibilidade do ruído (alto ou baixo). Uma vez
26
ajustada a sensibilidade do microfone, leva-se o sinal de saída do componente U4, no pino 6,
ao componente U2, no pino 4. O pino 4 do componente U2 está programado como conversor
analógico-digital.
No detalhe D (sub-circuito de controle de presença), é utilizado um transdutor de
presença Advanced da Freelux, que possui um alcance máximo de 10 metros, com ângulo de
captação de 83º horizontal. Quando o transdutor de presença atua, é fornecido uma tensão
igual ao da tensão elétrica que o alimenta. Dessa forma, para que o microcontrolador pudesse
ler esse sinal, foi utilizado um circuito retificador que transforma a tensão alternada de 220V
para a tensão contínua de 4,3V, tornando possível a leitura deste sinal no pino 5, que apenas
verifica se o sinal está superior a 2,0V.
Para que o microcontrolador pudesse ler o sinal da leitora de código de barras,
conforme detalhe E, foi necessário converter o sinal vindo da leitora padrão RS-232 para
Transistor-Transistor Logic (TTL), utilizando-se o componente U3 (MAX232).
No detalhe F, é utilizado uma chave tipo push-button para ativar a interrupção do
microcontrolador para que ocorra a leitura da leitora do código de barras.
A leitora de código de barras utilizada no projeto é do tipo charge-coupled device
(CCD), modelo Cash Way - CCD com interface RS-232 (CASHWAY, 2005), conforme
figura 8.
Fonte: CASHWAY, 2005.
Figura 8 - Leitora de código de barras Cash Way - CCD
No apêndice B consta os reguladores de tensão necessários para suprir energia ao
microcontolador, aos sub-circuitos dos transdutores e ao módulo uNetEthernet.
Os sub-circuitos e o microcontrolador são alimentados por uma tensão de 5V e foi
utilizado o componente U1 (7805). Já o módulo uNetEthernet, que trabalha com tensão de
3,3V, foi utilizado o componente U2 (LM317) com resistores de referências.
O diagrama de componentes do hardware é melhor apresentado pela figura 9.
27
Figura 9 - Diagrama de componentes do hardware
3.2.2 Especificação do software embarcado
A especificação do software embarcado é encontrada no apêndice C, e em seu
desenvolvimento foi utilizado a UML através do diagrama de atividades. A ferramenta
utilizada para o desenvolvimento deste tópico foi a Enterprise Architect.
3.2.3 Especificação do software servidor
A especificação do software servidor é mostrado nos quadros 2 e 3, utlizando-se a
UML no desenvolvimento através dos diagramas de classes e atividades respectivamente. A
ferramenta utilizada para o desenvolvimento deste tópico foi a Enterprise Architect.
28
Quadro 2 - Diagrama de Classe do software servidor
Quadro 3 -Diagrama de atividades do software servidor
29
3.3 IMPLEMENTAÇÃO
Neste capítulo são abordados os componentes, as ferramentas necessárias para o
desenvolvimento, a forma como foi implementada e os resultados deste trabalho.
3.3.1 Componentes e ferramentas utilizadas
Nesta seção são apresentados os componentes e as ferramentas utilizadas para a
construção do protótipo.
3.3.1.1 Módulo uNetEthernet
O primeiro passo no desenvolvimento deste protótipo foi conhecer o módulo
uNetEthernet.
Para conhecer as características e as funcionalidades do módulo, foi necessário criar
um circuito eletrônico montado em um protoboard, utilizando os canais de comunicação serial
que o módulo possui, conforme figura 10.
30
Figura 10 - Circuito de comunicação serial do PC com o módulo uNetEthernet
Para realizar os testes, foi utilizado o aplicativo Hyperterminal do Windows XP,
conforme figura 11.
31
Figura 11 - Testes de comunicação com o módulo uNetEthernet
No topo da figura 11 consta a mensagem inicial do módulo, chamado de boot banner.
Esta mensagem foi exemplificada neste trabalho a fim de apenas mostrar sua funcionalidade,
pois, durante a implementação, foi necessário omiti-la, pois não havia necessidade em realizar
esta leitura e também para simplificar a programação do software do microcontrolador.
Logo abaixo da mensagem inicial, constam alguns comandos para exemplificar sua
funcionalidade, tais como: IR – para checar se o módulo responde, IRS6 – para ler o IP do
módulo, IRS5 – para ler o endereço Media Access Control (MAC) e IRS2D – para checar se o
DHCP está habilitado.
3.3.1.2 Microcontrolador PIC16F877
O segundo passo no desenvolvimento deste trabalho foi conhecer e explorar os
recursos do microcontrolador PIC16F877.
Para a realização dos testes com o microcontrolador antes de sua implementação em
um protoboard, foi utilizado o software Proteus Professional.
Paralelo aos testes acima mencionados, fez-se o uso do software Microcode Studio
(MECANIQUE, 2004) para desenvolver os programas do microcontrolador.
O Microcode Studio é um ambiente de desenvolvimento de programação da linguagem
32
PicBasic. Todo programa compilado por essa ferramenta, gera um arquivo com extensão
“hex”, que é posteriormente utilizado para gravar na memória do microcontrolador.
Para exemplificar o procedimento de compilação e testes, seguem as seguintes figuras:
a) a figura 12 mostra o ambiente de desenvolvimento do Microcode Studio. O
ambiente é prático de usar e conta com uma ferramenta de ajuda para o
desenvolvimento;
Figura 12 - Ambiente do software Microcode Studio
b) após a geração do arquivo “hex” pelo Microcode Studio, faz-se necessário utilizar
o arquivo no software Proteus Professional, que é apresentado na figura 13. O
software Proteus foi muito importante neste ponto do projeto, pois permitiu a
realização de simulações de circuitos eletrônicos antes de colocá-lo em prática em
um protoboard;
33
Figura 13 - Testes com Proteus Professional
c) Na figura 14 é mostrado o software Proteus Professional em execução.
Figura 14 - Proteus Professional em execução
O próximo passo após os testes realizados nos softwares Microcode Studio e Proteus
34
Professional, foi gravar o código “hex” no microcontrolador. Nesta etapa foi montado um
gravador de microcontroladores PIC, para que fosse possível realizar esta operação, conforme
figura 15.
Fonte: MAT’S ELECTRONIC CORNER, 2006.
Figura 15 - Gravador de microcontroladores PIC
O software IC-Prog (IC-PROG, 2000), transfere o conteúdo do arquivo “hex” para o
gravador através da serial do computador, conforme mostrado na figura 16.
Figura 16 - Software IC-Prog
3.3.1.3 Implementação do circuito eletrônico
A implementação do circuito eletrônico do protótipo foi realizada em um protoboard,
35
devido a facilidade na substituição de componentes no desenvolvimento desta fase.
A implementação do circuito pode ser divida em 6 etapas:
a) construção dos circuitos reguladores de tensão;
b) acoplamento do visor de cristal líquido;
c) construção dos sub-circuito dos transdutores;
d) acoplamento dos sub-circuitos dos transdutores ao microcontrolador;
e) estabelecimento de comunicação entre leitora de código de barras e
microcontrolador;
f) estabelecimento de comunicação entre microcontrolador e módulo
uNetEthernet.
A implementação do circuito eletrônico é mostrado conforme figura 17.
Figura 17 - Implementação do circuito eletrônico
36
3.3.1.4 Implementação do software embarcado
Conforme especificação da seção 3.2.2, o software embarcado foi implementado
utilizando-se a linguagem PicBasic para microcontroladores, desenvolvido pela empresa
MICROENGENEERING LABS, INC (MICROENGENEERING LABS, 2005).
O software tem por finalidade mostrar informações no visor de cristal líquido, ler os
sinais dos transdutores, ler os dados da leitora de código de barras e comandar o módulo
uNetEthernet.
Para mostrar os dados no visor do cristal líquido, primeiramente definem-se os pinos
do microcontrolador, conforme o quadro 4.
Quadro 4 - Configuração dos pinos para o LCD
Para ler os sinais dos transdutores, primeiramente definem-se as configurações do
conversor A/D e os pinos de entrada analógica do microcontrolador, conforme quadros 5 e 6.
Quadro 5 - Configuração do conversor A/D
Quadro 6 - Configuração da porta PORTA do microcontrolador
Após definidas as entradas analógicas, utiliza-se o comando ADCIN do PicBasic para
realizar a leitura do sinal conforme quadro 5.
Foi necessário realizar um cálculo para se ter a leitura correta da temperatura, pois o
comando ADCIN retorna um valor decimal da entrada analógica, ou seja, se o conversor foi
configurado para converter valores analógicos em 10 bits, ou seja, 1.024 incrementos. Cada
37
incremento convertido equivale a um valor de tensão correspondido pelo valor de tensão de
referência (Vref) do microcontrolador, que é de 5V, ou seja, 1 incremento equivale a 0,00488V
ou 4,88 mV.
No quadro 5 apresenta-se o seguinte cálculo: o transdutor de temperatura (LM35D),
mencionado na seção 3.2.1, varia 10mV para cada 1º C. Se cada incremento equivale a 4,88
mV, para se obter o valor decimal da leitura basta seguir a fórmula: (Vdecimal = VLM35D / (Vref /
1024) ), aonde VLM35D = temperatura ºC * 0,01V.
Aplicando-se a fórmula, tem-se: Vdecimal = 0,25V / (5V / 1024) => 51,2. Se cada
incremento equivale a 4,88mV, então se multiplicarmos pelo Vref, tem-se a tensão de 256 mV
no transdutor. Por analogia, temperatura = VLM35D / 0,01V => 0,256 / 0,01 => 25,6ºC. Como
não há necessidade de precisão na leitura, optou-se por utilizar valores inteiros na
programação.
Quadro 7 - Leitura analógica
Este procedimento é usual para as rotinas de leitura analógica e faz-se sempre
necessário realizar cálculos dessa ordem para se obter o resultado desejado.
Para mostrar informações em um LCD, o PicBasic possui uma função chamada
LCDOUT, conforme quadro 8.
Quadro 8 - Função para mostrar informações no LCD
Uma das principais funções do microcontrolador é comandar o módulo uNetEthernet.
Essa comunicação se dá pela leitura e envio de um conjunto de bytes através do canal serial
que o microcontrolador e o módulo possuem.
Os comandos são SERIN2 para leitura da serial e o SEROUT2 para enviar o conjunto
de bytes pela serial do microcontrolador. Estes comandos são exemplificados conforme
quadro 9.
38
Quadro 9 - Funções de envio/leitura de dados pela serial
A configuração de comunicação da serial, no quadro acima, se dá pela variável baud,
que está programada neste trabalho para trabalhar com velocidade de 9600bps, 8 bits, 1 stop
bit e sem paridade. Os pinos do microcontrolador necessários para realizar comunicação serial
são definidos pela porta PORTC, que é um registrador de 8 bits. Cada bit do registrador é uma
porta de entrada e saída de dados. O bit 0 do registrador é utilizado para entrada (PORTC.0) e
o bit 1 é utilizado para saída (PORTC.1).
A rotina principal do programa, conforme apêndice C, é mostrado no quadro 10.
Quadro 10 - Rotina principal do software embarcado
A rotina principal de envio dos dados ao software no PC está divida em 4 partes:
a) coletar os dados dos transdutores, definido no programa pelo label get_data,
conforme quadro 11. Neste quadro pode-se notar a importância do comando
39
ADCIN que realiza a leitura analógica convertendo-a em digital, através do
registrador PORTA. Cada bit deste registrador está configurado para receber o
sinal analógico de cada transdutor. Nota-se ainda que cada transdutor possui uma
rotina de cálculo necessária a fim de apresentar o valor desejado para transmitir
posteriormente ao software servidor;
Quadro 11 - Leitura dos transdutores
b) ler dados da leitora de código de barras, definido no programa pela interrupção do
pino RB0 do microcontrolador, conforme quadro 12. Quando o pino RB0 do
microcontrolador é aterrado (0 Volts), ocorre a interrupção e o programa desvia a
execução normal do programa para a rotina do quadro 12. Logo no começo da
rotina, a interrupção é desabilitada para que ocorra a leitura do código de barras
através da leitura serial do registrador RC7 (PORTC.7).
40
Quadro 12 – Rotina de interrupção que realiza a leitura da leitora de código de barras
c) abrir um socket UDP na porta 1024 do módulo uNetEthernet, através do comando
IRUP (quadro 1) conforme apresentado no quadro 13. O comando SEROUT2
envia um conjunto de bytes pela serial do microcontrolador ao módulo
uNetEthernet a fim de abrir o socket e o comando SERIN2 faz a leitura serial dos
dados do módulo, a fim de verificar se o comando foi realizado com sucesso;
Quadro 13 - Rotina de socket com o módulo uNetEthernet
d) envio dos dados ao software servidor mostrado no quadro 14. Todos os bytes ou
conjunto de caracteres que são transmitidos ao módulo uNetEthernet, após a rotina
de socket, são transmitidos ao software servidor pela rede, através do comando
SEROUT2.
41
Quadro 14 - Rotina de envio dos dados ao software servidor
3.3.1.5 Implementação do software servidor no PC
Conforme especificação da seção 3.2.3, o software servidor foi implementado
utilizando-se a linguagem Java que estende funcionalidades da classe applet que implementa
runnable.
O software servidor tem duas finalidades distintas:
a) enviar pacotes broadcast UDP pela porta 8888 na rede ethernet (802.3) com a
intenção de informar ao hardware o seu endereço na rede. Desta forma, o hardware
sempre enviará os dados para o destino corretamente;
b) receber os dados do hardware pelo protocolo UDP e mostrá-los na tela do
computador.
Para que fosse possível a execução de duas rotinas no mesmo software, foi utilizado
um recurso da linguagem Java, chamada Thread. Cada Thread é executada separadamente
dentro do mesmo programa e funcionam de formas independentes.
Conforme quadro 15, segue a implementação da rotina que envia os pacotes UDP para
toda a rede.
Inicialmente é estipulado o endereço de broadcast (255.255.255.255) da rede para a
42
realização de envio dos pacotes de controle. Estes pacotes de controle são montados conforme
a classe DatagramPacket e é incluído uma palavra de controle (“#@MONITOR@#”) nesse
datagrama. Posteriormente são encapsuladas em um socket definido pela classe
DatagramSocket e finalmente transmitidas a rede pelo método send desta mesma classe.
Quadro 15 - Inicialização do pacote e do socket
Após a inicialização, conforme quadro 15 acima, a Thread é iniciada pelo método
start. Ao iniciá-la, a rotina entra no loop infinito, enviando os pacotes UDP a cada 2 segundos
conforme quadro 16.
Quadro 16 - Rotina que envia pacotes UDP a cada 2 segundos
No quadro 17 segue a rotina que efetivamente envia o pacote.
Quadro 17 - Rotina de envio do pacote UDP
43
A segunda Thread iniciada realiza o recebimento dos pacotes UDP vindos do
hardware, conforme quadro 18. Nota-se que a porta definida para receber os pacotes difere da
porta de envio.
Quadro 18 - Rotina de recebimento de dados
3.3.2 Operacionalidade da implementação
A operacionalidade do hardware resume-se em ligar a fonte de alimentação e conectar
o cabo de rede no módulo uNetEthernet.
Durante a inicialização do protótipo, são mostradas algumas mensagens no visor de
cristal líquido, informando procedimentos de inicialização, conforme apêndice C.
44
Figura 18 - Inicialização do protótipo
Na figura 19, é mostrado o protótipo monitorando através dos sinais dos transdutores
de temperatura (T), luminosidade (L), ruído (R) e presença (P).
Figura 19 - Protótipo em funcionamento
Para realizar a leitura do código de barras, faz-se necessário apertar o botão push-
button do protótipo, conforme apêndice A, detalhe F. Em seguida a interrupção é ativada e o
microcontrolador pára a execução do programa para realizar a leitura da leitora de código de
barras, conforme mostra a figura 20.
Figura 20 - Interrupção ativada para ler código de barras
45
Quando o protótipo envia os dados ao software servidor no PC, é mostrada uma
mensagem de confirmação no LCD, conforme figura 21.
Figura 21 - Dados enviados com sucesso
Já o software servidor é executado utilizando-se o appletviewer, conforme figura 22.
Figura 22 - Tela do software servidor
As colunas da figura 21 representam, respectivamente:
a) coluna 1: data/hora do monitoramento;
b) coluna 2: a sala onde está instalado o protótipo e o seu endereço IP entre
parênteses;
c) coluna 3: temperatura em graus celsius do ambiente;
d) coluna 4: luminosidade em escala de 0 a 100%
e) coluna 5: ruído sonoro em escala de 0 a 100%
f) coluna 6: presença, que pode assumir os valores SIM e NÃO;
g) coluna 7: código do cartão do aluno lido pela leitora de código de barras.
46
3.4 RESULTADOS E DISCUSSÃO
Os objetivos propostos no desenvolvimento deste trabalho foram alcançados. Porém,
vale salientar alguns desafios e problemas que foram encontrados durante o desenvolvimento,
tais como:
a) estabelecimento de comunicação entre o microcontrolador e o módulo
uNetEthernet – o cristal oscilador de 4 Mhz do microcontrolador era impróprio
para realizar a comunicação pois, segundo o manual, com essa freqüência, não era
possível utilizar velocidade de 9.600 bps. Posteriormente adotou-se um cristal de
20Mhz, conforme indicado na documentação;
b) acoplamento dos transdutores – que envolveu muita pesquisa, simulações e testes
até atingir o resultado desejado;
c) transdutor de ruído – no início do projeto foi utilizado um transistor para
amplificar o sinal do microfone de eletreto. Este, porém, não foi suficiente para
amplificar o sinal, pois o ganho do transistor era muito baixo, tornando este
circuito pouco “sensível” a ruídos (baixa variação). Posteriormente foi utilizado o
amplificador operacional que demonstrou maior eficácia na amplificação do sinal;
d) o acoplamento da leitora de código de barras ao microcontrolador – devido a
escassez do mercado no fornecimento de leitoras seriais, foi realizado muitos
testes de comunicação com leitoras que utilizam o protocolo PS/2, porém sem
sucesso. Posteriormente, foi encontrada e adquirida uma leitora serial;
e) leitora de código de barras – infelizmente a leitora adquirida para este projeto não
foi capaz de ler o código de barras do cartão da biblioteca, devido a superfície de
fundo do código de barras do cartão não ser branca;
f) ambiente de desenvolvimento Java – utilização do software Eclipse, que se tornou
ambiente de desenvolvimento do software servidor.
No decorrer do trabalho, optou-se em adotar o protocolo UDP devido ao módulo
uNetEthernet oferecer mais recursos para este protocolo. Por ser um protocolo não orientado a
conexão, durante a fase de testes, o mesmo respondeu a todas as requisições e os pacotes
foram enviados pela rede sem maiores problemas.
O protótipo de controle de acesso para academias de ginástica, desenvolvido por
Carmo (2005), foi utilizado como referência de estudos no processo de leitura de código de
barras. A partir desta referência, foram realizadas várias tentativas em utilizar o recurso de
47
interrupção serial, porém não se obteve o sucesso desejado pelo motivo do item d acima.
No trabalho desenvolvido por Montibeller Júnior (2005), nota-se que o
microcontrolador e o módulo uNetEthernet praticamente substituem os vários itens que o
módulo TCP/IP do protótipo por ele desenvolvido possui. Porém, o microcontrolador
utilizado não possui memória suficiente para realizar tarefas mais complexas, como por
exemplo, a digitalização de voz ou mesmo a captura de imagens através de câmeras digitais.
48
4 CONCLUSÕES
Foram realizados estudos do microcontrolador PIC16F877, linguagem PicBasic para
microcontroladores, que tornou prática o desenvolvimento do software embarcado, os sub-
circuitos dos transdutores que envolveram muita pesquisa em eletrônica, a utilização de
sockets na programação do protocolo UDP para comunicação, o módulo uNetEthernet, que
apesar de ser um chip pouco difundido, oferece bons recursos para comunicação em redes
ethernet (802.3) e a poderosa linguagem Java de programação, que oferece uma vasta
documentação na internet para a realização de pesquisas.
Uma das principais virtudes deste trabalho foi utilizar o protocolo UDP devido a sua
estrutura ser pequena, permitindo uma maior velocidade dos pacotes trafegando na rede.
Pode-se verificar também, no desenvolvimento deste trabalho, a facilidade em criar
dispositivos de monitoramento remoto utilizando-se componentes comerciais de baixo custo e
fáceis de encontrar no mercado de venda de componentes eletrônicos. Dentre esses
componentes utilizados, destaca-se o módulo uNetEthernet entre os demais devido à
facilidade em transmitir e receber pacotes pela rede, e por permitir troca de informações pelo
seu canal de comunicação serial. Já o microcontrolador PIC16F877, pelo seu baixo custo e
pelo bom conjunto de recursos que tornou prática sua implementação.
4.1 EXTENSÕES
Fica como sugestão para o aprimoramento deste trabalho os seguintes itens:
a) utilizar controle de recebimento dos dados pelo hardware a fim de identificar a
palavra de controle emitida pelo software servidor;
b) criptografar a troca de mensagens entre software servidor e o hardware;
c) utilizar a interface PS/2 para realizar leitura dos dados das leitoras de código de
barras mais novas;
d) utilizar outro microcontrolador que tenha mais memória a fim de tornar o protótipo
mais sofisticado;
e) acoplar teclado numérico para digitação de senha;
f) utilizar leitores biométricos.
49
REFERÊNCIAS BIBLIOGRÁFICAS
APPLET. In: WIKIPÉDIA, a enciclopédia livre. [S.l]: Wikimedia Foundation, 2006. Disponível em: <http://pt.wikipedia.org/wiki/Applet>. Acesso em 15 set. 2006.
BASIC4EVER. Basic para sempre. Disponível em: <http://www.basic4ever.com/tcpipchipeth.shtml>. Acesso em: 13 dez. 2006
CARMO, Vilson do. Protótipo de controle de acesso para academias de ginástica utilizando microcontrolador PIC e o padrão RS485. 2005. 61 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
CASHWAY. Soluções em automação. Brasil, 2005. Disponível em: <http://www.cashway.com.br/index.asp>. Acesso em: 12 nov. 2006.
CENSI, Angela. Sistema para automação e controle residencial via e-mail. 2001. 60 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
ECRÃ DE CRISTAIS LÍQUIDOS. In: WIKIPÉDIA, a enciclopédia livre. [S.l.]: Wikimedia Foundation, 2006. Disponível em: <http://pt.wikipedia.org/wiki/LCD>. Acesso em: 14 abr. 2006.
ERDEI, Guillermo E. Código de barras: desenvolvimento, impressão e controle da qualidade. São Paulo: Makron Books, 1994.
IC-PROG. Prototype programmer. [S.l], [2000?]. Disponível em: <http://www.ic-prog.com>. Acesso em: 3 set. 2006.
LABCENTER ELECTRONICS. Proteus. Inglaterra, 2006. Disponível em: <http://www.labcenter.co.uk/index_uk.htm>. Acesso em: 15 abr. 2006.
LIQUID CRYSTAL DISPLAY. In: WIKIPEDIA, the free encyclopedia. [S.l.]: Wikimedia Foundation, 2006. Disponível em: <http://en.wikipedia.org/wiki/LCD>. Acesso em: 13 dez. 2006.
MALVINO, Albert P. Microcomputadores e microprocessadores. Tradução Anatólio Laschuk. São Paulo: McGraw-Hill do Brasil, 1985.
MAT’S ELECTRONIC CORNER. Pic programmer. [S.l], [2006?]. Disponível em: < http://matmart0.tripod.com/picspic.htm>. Acesso em: 13 dez. 2006.
50
MECANIQUE. Microcode studio. [S.l], [2004?]. Disponível em: <http://www.mecanique.co.uk/code-studio/index.html>. Acesso em: 14 dez. 2006.
MICROCHIP. A leading provider of microcontroller & analog semiconductors. Massachusetts, 2004. Disponível em: <http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf >. Acesso em: 12 ago. 2006.
MICROENGENEERING LABS, INC. Colorado Springs, 2005. Disponível em: <http://www.melabs.com>. Acesso em: 12 ago. 2006.
MICROFONES. Noções e aplicações – parte 1. Disponível em: <http://www.music-center.com.br/mic_akg1.htm>. Acesso em: 13 dez. 2006.
MONTIBELLER JÚNIOR, Ariberto. Protótipo de sistema de monitoramento remoto utilizando TCP/IP sobre ethernet (802.3). 2005. 66 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
NCHIP. nChip – embedded internet. [S.l], [2005?]. Disponível em: <http://www.nchip.com>. Acesso em: 3 jun. 2006.
PÉRICAS, Francisco A. Redes de computadores: conceitos e a arquitetura internet. Blumenau: EdiFURB, 2003.
SCRIMGER, Rob et al. TCP/IP, a bíblia. Tradução Edson Furmankievicz, DocWare Traduções Técnicas. Rio de Janeiro: Elsevier, 2002
SILVA JÚNIOR, Vidal P. Microcontroladores PIC: teoria e prática. São Paulo, 1997.
SYMPHONY ROBÓTICA EDUCACIONAL. PicBasic pro. [São Paulo], [2006?]. Disponível em: <http://www.picbasic.com.br>. Acesso em: 27 maio 2006.
TRANSDUTOR. In: WIKIPÉDIA, a enciclopédia livre. [S.l.]: Wikimedia Foundation, 2006. Disponível em: <http://pt.wikipedia.org/wiki/Transdutor>. Acesso em: 14 abr. 2006.
VASQUES, Anderson L. Protótipo de um sistema coletor de dados microcontrolado conectado a uma rede TCP/IP. 2003. 69 f. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Telecomunicações) – Centro de Ciências Tecnológicas, Universidade Regional de Blumenau, Blumenau.
ZYNGIER, Mauro L.; GROSSMANN, Fábio. Código de barras: da teoria à prática. São Paulo: Nobel, 1991.
51
APÊNDICE A – Circuito Eletrônico
O diagrama do circuito eletrônico representado pela figura 23, está dividido em blocos
para representar os sub-circuitos dos transdutores presentes do projeto.
Figura 23 – Circuito eletrônico
52
APÊNDICE B – Reguladores de tensão
Na figura 24, consta os reguladores de tensão necessários para o fornecimento de
energia ao protótipo. O componente U1 (7805), responsável por regular a tensão em 5V,
fornece energia para todo o circuito, com exceção do módulo uNetEthernet, que é alimentado
pelo componente U2 (LM317L), que fornece tensão de 3,3V.
Figura 24 - Reguladores de Tensão
53
APÊNDICE C – Especificação do software embarcado
Diagrama de atividades do software embarcado.
ad ad Software EmbarcadoEA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version EA 5.1 Unregistered Trial Version
Início
Inicialização variáv eis,LCD, Conversor A/D,Comunicação Serial
Atualiza DHCP
Get IP
MódulouNet OK?MódulouNet OK?
Habi litar DHCP?Habi litar DHCP?
Set Port UDP -> 8888
RespostaServidor OK?
RespostaServidor OK?
Espera RespostaServ idor
Env iar Dados p/Serv idor
Ler Transdutores Ler Leitora Código deBarras
TX OK?TX OK?
Habilitar Interrupção
Esperar 5 segundos
Sim
Sim
Não
Não
Aguarda
Sim
Sim Não
Não
Figura 25 - Diagrama de atividade do software embarcado