Professional Documents
Culture Documents
CAMPUS DE NATAL
DEPARTAMENTO DE INFORMTICA
CURSO DE CINCIA DA COMPUTAO
NATAL
2014
NATAL
2014
CDD 004.6
Aprovado em ____/____/_____.
Banca Examinadora
_________________________________________
Rosiery da Silva Maia
(Universidade do Estado do Rio Grande do Norte)
_________________________________________
Anderson Abner de Santana Souza
(Universidade do Estado do Rio Grande do Norte)
_________________________________________
Bruno Cruz de Oliveira
(Universidade do Estado do Rio Grande do Norte)
_________________________________________
Felipe Denis Mendona de Oliveira
(Universidade do Estado do Rio Grande do Norte)
RESUMO
ABSTRACT
Access control is a common problem in many types of environments, they can be residential or
business, public or private. There are many commercial solutions that implement this function,
from simple locks to more elaborate systems that use biometric conference, but they present
high costs. The access control to the Laboratrio de Aprendizagem Robtica (LAR) of the State
University of Rio Grande do Norte (UERN) is held through a manual door lock with key. This
system presents some problems towards the management and portability of keys used by users.
This work presents an alternative system capable of solving these problems. The mentioned
project is a system of access control micro-controlled by an Arduino board, which is based
on the identification of cards or RFID tags to actuate a magnetic lock, releasing the users
entry to this restrict environment. Being idealized as a control system, this system has as
security feature the records of all activities, both allowed access or not. This work presents
different aspects referred to the process of the system development, experiments to validate its
operation and a cost estimation with all the material used in this prototype, related to a
commercial lock.
LISTA DE FIGURAS
LISTA DE QUADROS
LISTA DE ABREVIAES
AC
Alternating current
CPU
DC
Direct current
DIP
EEPROM
FAT
FIFO
I/O
Input/output
IC
Inter-Integrated Circuit
ICSP
IDE
LAR
LCD
LED
MISO
MOSI
MSB
PCB
PIC
PWM
Pulse-Width Modulation
RFID
Radio-Frequency IDentification
ROM
RAM
RTC
SCK
Serial Clock
SCL
SD
Secure Digital
SDA
SoC
System on Chip
SPI
SRAM
SS
Slave Select
TWI
UART
UERN
UPS
USB
SUMRIO
1.
INTRODUO ......................................................................................................... 13
1.2.
JUSTIFICATIVA ........................................................................................................ 14
1.3.
OBJETIVOS................................................................................................................ 15
1.3.1.
1.3.2.
Objetivos Especficos................................................................................................. 16
1.4.
METODOLOGIA ....................................................................................................... 16
1.5.
ESTRUTURA ............................................................................................................. 17
2.
3.
3.1.
3.2.
MICROCONTROLADORES ..................................................................................... 23
3.3.
3.3.1.
O Hardware ................................................................................................................ 28
O Software .................................................................................................................. 33
3.4.1.
3.4.3.
3.4.5.
3.4.6.
3.4.7.
4.
4.1.
4.2.
4.2.1.
5.
EXPERIMENTOS .................................................................................................... 63
5.1.
5.1.1.
5.1.2.
5.1.3.
5.1.4.
5.1.5.
5.2.
5.2.1.
5.2.2.
5.2.3.
Testes com o Display LCD, Shield RFID, Shield RTC e Shield Rel juntos ......... 74
5.3.
5.4.
6.
6.1.
CONCLUSO ............................................................................................................ 83
6.2.
REFERNCIAS ..................................................................................................................... 86
13
1. INTRODUO
14
conceito aumentar as formas de interao fsica entre pessoas e computadores (BANZI, 2008).
Por se tratar de um padro com especificaes livres de patentes e software de cdigo aberto
(Open Source), existem vrios fabricantes independentes de Arduino ao redor do mundo,
incluindo o Brasil, pois diversos distribuidores, alm de venderem as placas originais, tambm
fabricam suas prprias verses.
Essa fechadura eletrnica dever ser validada e experimentada para uma posterior
instalao no Laboratrio de Aprendizagem Robtica (LAR) da Universidade do Estado do Rio
Grande do Norte (UERN), Campus de Natal. O objetivo dessa aplicao fsica permitir acesso
ao laboratrio LAR apenas s pessoas que possurem um carto ou tag de identificao por
radiofrequncia ou RFID (do ingls Radio-Frequency IDentification), que dever ser
aproximado ao leitor RFID, possibilitando assim, que o fecho magntico seja acionado,
permitindo que a porta seja aberta.
1.2.
JUSTIFICATIVA
15
Nesse caso, o segurana anota, em uma ficha de controle, o nome do aluno, a data e o horrio
de entrada. Ao sair da sala, o aluno solicita que o segurana anote seu horrio de sada
devolvendo a chave. Ocorre que, enquanto um aluno est utilizando o ambiente, outro aluno ou
professor tambm pode adentrar ao recinto sem mesmo ter avisado ao segurana, o que
demonstra uma fragilidade no controle das pessoas que acessam este local.
Devido a esses fatores, para poder usufruir de um melhor controle de acesso ao LAR,
faz-se necessrio adquirir algum equipamento para esse fim.
Atualmente, diversas organizaes e empresas utilizam, em suas reas importantes,
fechaduras eletrnicas para manter a segurana e o controle de acesso. Elas so mtodos
avanados e seguros de travamento por acionamento eletroeletrnico, atuando como alternativa
s travas mecnicas (MANUTENO & SUPRIMENTOS, 2014). No entanto, as solues
atuais disponveis no mercado demandam um alto custo para sua implantao, requerendo um
gasto de recursos muitas vezes no disponveis em instituies pblicas.
Como uma alternativa para a necessidade de um sistema de controle de acesso de baixo
custo, este trabalho busca construir um modelo de fechadura eletrnica utilizando a plataforma
microcontroladora Arduino, onde todo seu projeto eletrnico, incluindo a plataforma para o
desenvolvimento dos programas, de acesso pblico e gratuito (SOUZA, 2011).
1.3.
OBJETIVOS
16
Para alcanar o objetivo geral descrito acima, alguns objetivos especficos precisaram
ser atingidos:
1.4.
METODOLOGIA
A primeira etapa deste projeto envolve a pesquisa em material escrito (em stios
eletrnicos de indexao de artigos de congressos e peridicos, alm de livros impressos
disponveis) para coleta e seleo de material pertinente ao escopo do trabalho, bem como uma
pesquisa bibliogrfica do tema.
17
1.5.
ESTRUTURA
18
19
2. TRABALHOS RELACIONADOS
20
Neste sistema utilizado somente uma senha para todos os usurios. No h qualquer
tipo de interface visual com o usurio, alm de LEDs, informando quando a senha , ou no,
digitada corretamente. Tambm no possui maneira alguma de gravar registros sobre seu
acionamento.
Coelho & Maia (2007) fazem uso de um microcontrolador PIC para criao de um
sistema de segurana de baixo custo. Possui como interface com o usurio um LCD e um
teclado. As senhas utilizadas para destrancar a trava magntica so constitudas de seis dgitos
compostos por nmeros de zero nove. O projeto permite at trs tentativas para destrancar a
porta, caso a ltima tentativa falhe, um alarme sonoro disparado. Apesar de haver uma
interface visual com o usurio atravs de um LCD, e tambm a opo atravs de uma senha de
administrador, de cadastrar usurios e senhas diversas, no h um modo de registrar, atravs de
data e hora, quando a tranca acionada.
O trabalho de Ibiapina et. al (2011), consiste em um simulador para um sistema de
controle de acesso que compara a digital de um funcionrio com as digitais contidas num banco
de dados, liberando, ou no, o acesso destes a determinado local da empresa. O sensor
biomtrico utilizado conectado ao computador via porta USB, onde est em execuo o
software de registro e acesso. No utilizado nenhum sistema mecnico, como fechos
magnticos. utilizado apenas uma placa Arduino como simulador desse sistema mecnico,
onde h um LED verde que acende no caso de liberao e outro vermelho, no caso de bloqueio
de acesso.
Silva (2013) apresenta um dispositivo de controle de acesso em uma porta, baseando-se
nos intervalos dos sons de batida na porta. O projeto integra uma placa Arduino com o
microcontrolador ATmega328, um fecho magntico, um rel para acionar o fecho e um boto
responsvel pela mudana das batidas sem ter que alterar o sketch. Apesar de ser uma ideia a
se considerar, esse sistema no possui nenhum tipo de interface com o usurio, alm de um jogo
de luzes produzido por um LED e um boto que deve ser pressionado caso o usurio deseje
gravar uma nova batida no sistema. Esse sistema possui somente um tipo de batida (senha) para
qualquer usurio que queira acionar o sistema para liberar a porta. No h como algum tipo de
administrador ter um controle sobre as pessoas que tiveram acesso ao ambiente protegido por
esse sistema, pois no possui nenhum dispositivo para armazenar essas informaes, como
usurio, data e hora em que tiveram acesso.
21
22
no necessita conexo com um computador para funcionar e que ir realizar a validao dos
cartes ou tags RFID atravs de um mdulo leitor/gravador de cartes de memria Secure
Digital Card, ou SD Card, que contm um arquivo, de extenso TXT, com uma lista dos cartes
que possuem permisso de acesso. Alm disso, realiza a gravao de um registro contendo as
seguintes informaes: identificao do carto ou tag RFID, data e horrio da liberao, ou no,
do acesso ao ambiente. Esse registro feito no mesmo carto de memria que est contido no
mdulo leitor/gravador de cartes anteriormente mencionado, e utiliza as informaes (data e
hora) disponibilizadas pelo mdulo RTC (sigla em ingls para Real Time Clock).
23
3. FUNDAMENTAO TERICA
3.1.
3.2.
MICROCONTROLADORES
24
25
digital, controla o rel que liga ou desliga o funcionamento do aparelho. Pode-se observar a sua
funcionalidade quando aplicado ao controle de motores de carros, onde, dependendo da
localizao e clima, podem funcionar a temperaturas de -34C at 49C. Se for considerado o
calor gerado pelo prprio motor, as temperaturas podem subir at 80C, sem que o controlador
pare de funcionar ou perca suas capacidades (GROOVER, 1987).
Muitos componentes foram lanados no mercado com essas caractersticas. Com a
evoluo da microeletrnica, empresas como a Atmel, Intel, Microchip, Hitachi, Texas so
alguns dos principais fornecedores de microcontroladores.
O modelo utilizado nesse trabalho o ATmega328, componente da placa Arduino Uno
em sua Reviso 3, devido a sua quantidade de pinos I/O digitais e analgicas e pela facilidade
na comunicao serial com o computador. Suas caractersticas so discutidas no tpico a seguir.
3.3.
PLATAFORMA ARDUINO
26
O uso de um Arduino pode ser estendido atravs do uso de placas de circuito perifricas
contendo outros dispositivos, como um leitor RFID a leitor/gravador de carto de memria. So
conhecidas por shields e so conectadas diretamente ao Arduino, utilizando as portas adequadas
(MCROBERTS, 2010).
Alm das vrias verses originais do Arduino (algumas na Figura 2), h inmeras cpias
fabricadas (chamadas de clones) que so quase ou totalmente compatveis com o hardware
daquelas, quando com o software do original. Incluindo, serem capazes de aceitarem shields
derivadas do mesmo. J outras, so compatveis com o software do Arduino, mas no aceitam
shields. Alguns produtos compatveis no oficiais (Figura 3) que obtiveram xito em
lanamentos, possuem a terminao duino, ou no, como forma de se referenciar ao dispositivo
da qual derivam (FREEDUINO, 2014).
27
O Arduino, foi escolhido para este trabalho pela facilidade e agilidade que a plataforma
oferece para o desenvolvimento das aplicaes. Por possibilitar a programao de circuitos em
um nvel mais alto, o Arduino faz a computao fsica ficar mais semelhante ao
desenvolvimento de softwares aplicativos, que est mais presente no nosso dia a dia. O modelo
UNO R3 (Figura 4), utilizado neste projeto, a verso mais indicada para aqueles que esto
iniciando.
Sua plataforma composta essencialmente de duas partes: O Hardware e o Software.
28
3.3.1. O Hardware
ATmega328
Tenso operacional
5V
7 12 V / 6 20 V
40 mA
50 mA
Memria flash
SRAM
2 KB
EEPROM
1 KB
Frequncia de Clock
16 MHz
Fonte: ARDUINO (2014)
29
3.3.1.1.
Fonte de Alimentao
A placa pode ser alimentada atravs da conexo USB ou com uma fonte de alimentao
externa (selecionadas automaticamente). A fonte externa de energia (no USB) pode vir de um
adaptador AC-DC (converte corrente alternada em corrente contnua) ou de uma bateria. Alm
disso, a placa tambm pode ser alimentada atravs do pino VIN (7-12V). O fornecimento de
tenso, atravs dos pinos 5V ou 3.3V, embora possa ser feito, ignora o regulador e pode
danificar a placa.
A placa pode operar com um fornecimento externo entre 6 e 20 volts. No entanto, caso
seja fornecido menos de 7 volts, o pino de 5 volts pode fornecer uma tenso abaixo da
necessria, o que pode tornar a placa instvel. Em contra partida se for utilizado mais do que
12 volts, o regulador de voltagem pode superaquecer e danificar a placa. O intervalo
recomendado de 7 a 12 volts.
VIN A tenso de entrada para a placa Arduino quando se est usando uma
fonte de alimentao externa (ao contrrio dos 5 volts a partir da conexo USB
ou outra fonte de alimentao regulada). O usurio pode fornecer tenso por este
pino.
3V3 Uma fonte de 3,3 volts gerada atravs do regulador de tenso da placa.
Possui uma corrente mxima de 50mA.
30
3.3.1.2.
Ncleo CPU
31
3.3.1.3.
Entrada e Sada
Cada um dos 14 pinos digitais do Uno pode ser utilizado como uma entrada ou uma
sada, usando as funes pinMode(), digitalWrite(), e digitalRead(). Eles operam com 5 volts.
Cada pino pode fornecer ou receber uma corrente mxima de 40 mA e tem um resistor pull-up
interno (desconectado por padro) de 20-50 K para proteo contra sinais acima do esperado.
Alm disso, alguns pinos tm funes especializadas:
32
3.3.1.4.
Comunicao
O Arduino Uno tem uma srie de facilidades para se comunicar com um computador,
outro Arduino ou outros microcontroladores. O ATmega328 fornece comunicao serial
UART/TTL, que est disponvel nos pinos digitais 0 (RX) e 1 (TX). Um chip ATmega16U2
contido na placa prove uma comunicao serial atravs da porta USB do computador. A placa
Arduino reconhecida pelo mesmo como se fosse uma porta do tipo COM virtual, que a IDE
Arduino utiliza para receber e enviar informaes. O firmware do ATmega16U2 utiliza drivers
USB COM padres, o que dispensa drivers externos.
O software Arduino IDE inclui um monitor serial que permite que dados simples de
texto sejam enviados entre o computador e a placa Arduino. Os LEDs RX e TX na placa piscam
quando os dados esto sendo transmitidos atravs do chip USB-serial (ATmega16U2) e a
conexo USB do computador. A utilizao da biblioteca SoftwareSerial.h permite comunicao
serial em qualquer um dos pinos digitais do UNO (ARDUINO, 2014).
O ATmega328 tambm suporta comunicao IC (TWI) e SPI. O software Arduino
inclui uma biblioteca chamada Wire.h para simplificar o uso do barramento IC e uma
biblioteca chamada SPI.h para a utilizao do barramento SPI.
3.3.1.5.
Caractersticas fsicas
33
3.3.2. O Software
34
setup() Inserida no incio do cdigo, na qual pode ser utilizada para iniciar
configurao; e
Dentro do Arduino IDE existe um compilador que realiza as analises (lxica, sinttica e
semntica) no cdigo digitado e sinaliza, caso exista, os possveis erros. Esses arquivos de
cdigo gerados pelo Arduino (sketchs) devem ser carregados para o microcontrolador na placa
Arduino. Durante esse processo o compilador converte os sketchs em arquivos assembly e o
transfere via porta serial (SILVA; CNDIDO, 2011).
Para realizar o download do software, basta ir at a pgina oficial do Arduino, escolher
a verso compatvel com o sistema operacional (Windows, Mac ou Linux) e baix-lo.
35
3.3.2.1.
Linguagem de referncia
bom citar que a IDE do Arduino j prov vrias funes e constantes para facilitar a
programao. Tais como:
setup();
loop();
36
3.3.2.2.
Funes
Digital I/O
o pinMode() digitalWhite() digitalRead()
Analgico I/O
o analogReference() analogRead() analogWrite() PWM
Avanado I/O
o tone() noTone() shiftOut() pulseIn()
Tempo
o millis() micros() delay() delayMicroseconds()
Matemtica
o min() max() abs() constrain() map() pow()
Trigonomtrica
o sin() cos() tan()
Nmeros aleatrios
o randomSeed() random()
bits e Bytes
o lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit()
Interrupes externas
o attachInterrupt() detachInterrupt()
Interrupes internas
o interrupts() noInterrupts()
Comunicao Serial
o println()
37
3.3.2.3.
Bibliotecas
Ethernet Conexo com a uma rede Ethernet usando o Arduino Ethernet Shield;
O usurio tambm pode ter como referncia, o uso de bibliotecas mais especficas, de
extrema importncia, caso queira focar em uma determinada rea, como: Comunicao (redes
e protocolos), Sensoriamento, Gerao de Frequncia e de udio, Temporizao, entre
inmeras reas em que essa plataforma pode ser utilizada.
3.4.
38
dispositivo RFID comumente conhecido como carto, tag ou token RFID (Figura 9). Consiste
de um pequeno microchip construdo para transmisso de dados sem fio em resposta a interao
com um leitor RFID.
39
40
Os pinos presentes no shield, para conexo do MFRC522 com o Arduino so: Reset, SS
(sigla em ingls para Slave Select), MOSI (sigla em ingls para Master Output Slave Input),
MISO (sigla em ingls para Master Input Slave Output), SCK (sigla em ingls para Serial
Clock), GND (Aterramento) e 3,3V (Alimentao). E so ligados ao Arduino conforme mostra
a figura 12.
41
3.4.1.1.
Comunicao SPI
MISO (Master In Slave Out) A linha de escravo para o envio de dados para o
mestre;
MOSI (Master Out Slave In) A linha de mestre para o envio de dados para os
perifricos;
SS (Slave Select) O pino em cada dispositivo mestre pode usar para ativar e
desativar dispositivos especficos.
Quando um pino de um dispositivo Slave Select est baixo (LOW), ele se comunica com
o mestre. Quando est alto (HIGH), ele ignora o mestre. Isso permite que possa haver vrios
dispositivos SPI que compartilham os mesmos pinos MISO, MOSI, e CLK.
A comunicao SPI possui algumas caractersticas bsicas. Primeiramente, os sinais de
comunicao possuem uma direo fixa e definida. Essa caracterstica uma das grandes
diferenas entre outras comunicaes seriais como IC e OneWire, que possuem um mesmo
barramento de dados para os sinais de entrada e sada atravs do esquema de dreno aberto
(SACCO, 2014).
Apesar de utilizar dois sinais de comunicao de dados em vez de um, possvel atingir
velocidades maiores de comunicao. Isso porque h pouca deformao do sinal.
42
Outra caracterstica que toda troca de dados acontece sempre em ambas as direes.
Em outras palavras, cada bit trocado entre o mestre e um escravo traz um bit do escravo para o
mestre. Dessa forma, definimos que a comunicao full-duplex. Na Figura 13 pode ser visto
o esquema de ligao entre um dispositivo mestre e alguns dispositivos escravos.
O Shield SD, visto na Figura 14, uma soluo simples para a transferncia de dados
de e para um carto SD padro. A pinagem diretamente compatvel com o Arduino, mas
tambm pode ser usado com outros microcontroladores. Ele permite que seja possvel adicionar
armazenamento em massa e registro de dados ao projeto.
43
Como pode ser visto na Figura 14, este mdulo possui duas entradas de alimentao
eltrica, uma de 3,3 volts e outra de 5 volts. Uma delas pode ser utilizada, pois este mdulo
possui um regulador de tenso que permite o usurio escolher entre as duas tenses para
alimentao.
Este mdulo utiliza o mesmo tipo de comunicao com o Arduino utilizada pelo mdulo
RFID, a comunicao SPI. Sendo assim, ele compartilha os mesmos pinos MISO, MOSI e SCK
do Arduino, como visto na Figura 15. O pino CS utilizado para controle (ativao) do mdulo
quando do envio e recebimento de dados.
44
Este mdulo RTC (sigla em ingls para Real Time Clock) um sistema composto
normalmente por um circuito integrado, um cristal oscilador e uma fonte de energia (bateria),
visto abaixo na Figura 16. Este mdulo baseado no chip Maxim DS1307 (MAXIM
INTEGRATED, 2008a).
O RTC capaz de fornecer o tempo atual (computa segundos, minutos, horas, dias da
semana, dias do ms, meses e anos de 2000 at 2099) quando necessrio, pois o mesmo o
mantm sempre atualizado, possibilitando a implementao de funes como alarme e
calendrio.
A vantagem que os RTCs possuem sobre outros sistemas que desempenham a mesma
funo o seu baixo consumo de energia, consumindo menos de 500nA no modo bateria com
45
oscilador em funcionamento. Alm disso, possui 56 Bytes de SRAM que podem ser utilizadas
como RAM estendida do microcontrolador.
Este mdulo possui ainda, em sua placa um circuito que detecta falhas de energia,
acionando assim, automaticamente a bateria para evitar perda de dados. Funciona numa faixa
de temperatura entre -40 a +85 e faz a comunicao com o Arduino utilizando o barramento
IC (mais detalhes na seo 3.4.3.1) com apenas dois fios como pode ser visto na Figura 16 a
seguir.
3.4.3.1.
Comunicao IC
46
47
Como poder ser observado na Figura 19, no estado neutro do barramento (ocioso) so
mantidos o valor digital alto (HIGH) em ambas as linhas de comunicao (SDA e SCL). Deste
modo, uma comunicao ter incio quando ocorrer uma transio negativa na linha SDA, ou
seja, quando o dispositivo mestre mudar o nvel lgico da linha SDA de alto para baixo (LOW)
enquanto a linha SCL estiver em nvel lgico alto. Esta a chamada condio START sendo o
barramento considerado ocupado, pois uma transmisso de dados est em andamento.
Aps a condio START o sinal de clock ativado pelo dispositivo mestre. A partir desse
momento os bits vo sendo colocados, um a um, na linha SDA, comeando pelo bit mais
significativo (MSB, sigla em ingls para Most Significant Bit). O bit da vez deve assumir o
nvel lgico correto enquanto o sinal de clock estiver em nvel baixo. O receptor deve ler os bits
enquanto o sinal de clock estiver em nvel lgico alto, perodo em que o bit presente na linha
SDA deve ser manter obrigatoriamente estvel.
Sendo assim, logo aps SDA ser trazida para baixo, o mestre escreve o endereo do
dispositivo ao qual deseja se comunicar, por exemplo 0xC0, caso o dispositivo exista, ele
responder com um ACK, um pulso na linha SCL. Ento, comea a transferncia de dados, o
mestre escreve o endereo do registrador no escravo que ele deseja ler ou escrever (R/W) e
ento opera, em sequncia, podendo ler/escrever um ou mais registradores (CAMARA, 2013).
A sequncia de bits ser parecida com a da Figura 20.
48
possvel observar, na Figura 20, que a transmisso de dados iniciada com a condio
START e finalizada com uma condio STOP. Esta ltima acontece quando ocorre uma
transio positiva na linha SDA enquanto a linha SCL estiver em nvel lgico alto, ou seja,
quando a linha SDA passar de nvel lgico baixo para alto. Uma frao de segundo aps a
condio STOP o barramento considerado novamente ocioso, podendo uma nova transmisso
ser iniciada pelo dispositivo mestre se for gerada por ele uma nova condio START. Durante
uma transmisso a mudana no nvel lgico da linha SDA ocorre enquanto a linha SCL est em
nvel lgico baixo. Esta uma condio inegocivel no barramento IC (BYTE PARADIGM,
2014).
Esse protocolo de comunicao serial um dos mais prticos, simples e de baixo custo
disponveis no mercado. Excelente para projetos que utilizam microcontroladores de pequeno
porte e baixo custo, visto que possibilita uma modularidade de dispositivos, o que no s reflete
em menor custo, pois sistemas uma vez complexos, podem ser construdos atravs de sistemas
mais simples. Mas tambm ajuda na manuteno, j que cada dispositivo pode ser protegido
separadamente.
A tela de cristal lquido (LCD, sigla em ingls para Liquid Crystal Display) um
elemento fundamental para que os equipamentos eletrnicos tornem-se mais compactos,
49
interativos e de fcil operao, pois pode facilitar a forma de interao do usurio com o
equipamento e, consequentemente, aumentar o valor agregado a este. Existe uma variedade de
displays LCD no mercado (Figura 21), desde os LCDs capazes de exibir caracteres at LCDs
grficos, e nos mais variados tamanhos.
Os LCDs de caracteres so mais baratos e capazes de apresentar caracteres como letras,
nmeros e smbolos. Esses LCDs no funcionam adequadamente para a apresentao de
grficos, j que a sua tela dividida em linhas e colunas, e cada posio armazena um caractere.
J os LCDs grficos so mais caros e complexos de programar, mas podem apresentar
virtualmente qualquer tipo de informao na tela, inclusive grficos e fotos (PEREIRA, 2004).
A criao de projetos com base em displays LCD muito simples, graas a um conjunto
disponvel de bibliotecas de cdigo para LCDs, disponvel no site eletrnico oficial do Arduino.
O ambiente de desenvolvimento do Arduino contm a biblioteca LiquidCrystal.h, que possui
uma grande lista de recursos (MCROBERTS, 2011).
50
O LCD utilizado neste trabalho (Figura 22) possui 32 caracteres (2 linhas por 16
colunas), modelo LCM1602A (LONGTECH, 2009). Normalmente a comunicao utilizada
com o microcontrolador a paralela de 4 bits. Mas devido a necessidade de diminuir a
quantidade de vias utilizadas entre o LCD e o Arduino, foi utilizado uma placa que converte a
comunicao paralela num barramento IC (Figura 23). Sendo assim, deve ser utilizado uma
biblioteca especifica para essa comunicao, a LiquidCrystal_I2C.h.
Na Figura 24 pode ser visto como o shield LCD juntamente com a placa conversora so
conectados ao Arduino.
51
GND aterramento.
52
Servindo para ligar ou desligar dispositivos, normal o rel estar ligado a dois circuitos
eltricos, onde sua comutao realizada alimentando-se a bobina do mesmo. Quando uma
corrente originada no primeiro circuito passa pela bobina, um campo eletromagntico gerado,
acionando o rel e possibilitando o funcionamento do segundo circuito. Sendo assim, uma das
aplicabilidades do rel utilizar-se de baixas correntes para o comando no primeiro circuito,
protegendo o operador das possveis altas correntes que iro circular no segundo circuito
(MORIMOTO, 2005).
53
54
4. SISTEMA IMPLEMENTADO
4.1.
DESCRIO DO PROJETO
Data
Hora
XX XX XX XX
DD/MM/AAAA
HH:MM:SS
Mensagem
- - > Acesso Permitido! ou - - > Acesso Negado!
Esse carto ou tag RFID dever ser cadastrado atravs da insero de sua ID em um
arquivo, no formato TXT, contido no carto inserido no shield SD. O administrador do sistema
dever retirar o carto deste shield e, em um computador, abrir o arquivo CARDS.TXT e inserir
as IDs, cada uma, em sua linha distinta, como pode ser visto na Figura 28, logo abaixo.
Figura 28. Exemplo de registro das IDs de cartes RFID no arquivo CARDS.TXT.
55
Funo no sistema
Sistema controlador (controle dos componentes abaixo
relacionados)
Leitor RFID
Etiqueta RFID
Shield SD
Shield RTC
Shield Rel
Buzzer (campainha)
Fecho eletromagntico
56
4.2.
A conexo dos componentes foi feita, a princpio, utilizando-se uma placa de ensaio (ou
protoboard) para evitar a necessidade de soldas que seriam difceis de serem desfeitas no caso
de montagem incorreta. A ligao definitiva entre os componentes do sistema pode ser vista na
57
Figura 30 e o diagrama esquemtico da montagem na Figura 31. Por fim, esses componentes
sero montados dentro de uma caixa plstica para uso final.
58
59
Durante a aproximao do carto com o shield RFID haver uma transmisso de sinal
pela antena do carto, e recepo deste sinal pela antena do shield RFID. Como informado na
seo 3.4.1.1, a comunicao entre este shield e o Arduino realizada atravs do protocolo SPI.
atravs de um comando dentro da funo principal loop(), que o Arduino permanece
verificando se algum carto ou tag RFID foi aproximado ao sensor.
Ao receber o sinal analgico do shield RFID, o Arduino transforma essas informaes
contidas neste sinal em dados digitais capazes de serem manipulados atravs da aplicao
desenvolvida na IDE. Neste projeto, o Arduino ir receber do carto sua numerao de
identificao e ir armazen-la na memria (String) conforme diagrama da Figura 32.
Em seguida, conferida se essa ID est contida num arquivo que ser aberto atravs da
shield SD. A aplicao, ao abrir esse arquivo, confere linha por linha do arquivo, atravs da
funo verificaCarto(String card), verificando se alguma delas semelhante ao ID
60
Qualquer que seja o retorno da funo verificaCarto(String card) ser gravado uma
linha no arquivo LOGIN.TXT contido no carto SD.
Quando a funo retorna VERDADEIRO, exibido no display LCD uma mensagem
informando que o acesso foi liberado, o shield Rel acionado atravs da funo
61
62
qual dos shields ir efetuar a comunicao com o Arduino. Sendo assim, h duas funes no
cdigo com essa incumbncia, so elas: ativaSdCard() e desativaSdCard().
Quando da necessidade de comunicao entre o Arduino e o shield SD, deve ser
chamada a funo ativaSdCard(). Essa funo deve informar ao Arduino que o pino referente
ao seletor de chip (pino digital 8) do shield SD ter seu nvel de sinal alterado para baixo (LOW),
e que o pino do seletor de chip (pino digital 10) do shield RFID ter seu nvel de sinal alterado
para alto (HIGH). O que significa que esse dispositivo (shield SD) ser selecionado. Ao fim da
comunicao com este dispositivo, deve ser chamada a funo desativaSdCard(), que faz o
oposto: desativa o shield SD e ativa o shield RFID.
Devemos mencionar que as funes gravarLogSim() e gravarLogNao() utilizam os
dados retornados das funes dataCompleta() e horaCompleta() para vincular suas informaes
mensagem gravada no arquivo de registro.
atravs da biblioteca DS1307.h que possvel acessar as informaes de tempo
disponibilizadas pelo shield RTC. Essa biblioteca possui uma funo que retorna um vetor de
inteiros com sete elementos contendo todos os dados referentes a dia da semana, hora e data
completas, da seguinte forma:
int tempo[7] = {S, M, H, DS, D, M A}, onde:
63
5. EXPERIMENTOS
5.1.
TESTES INDEPENDENTES
Para esta parte, os testes foram realizados atravs de cinco cdigos-fonte (sketchs), em
que visam obter respostas de cada componente separadamente do conjunto completo.
Esse teste foi bem simples. Aps a conexo do display LCD placa Arduino, foi
executada a IDE do Arduino e transferido um pequeno cdigo padro da biblioteca
LiquidCrystal.h. A funo deste sketch exibir a mensagem hello, world na primeira linha
do display e uma sequncia de nmeros em contagem progressiva na segunda linha. Na Figura
35 possvel ver como so exibidos os caracteres no display.
64
Como pode ser visto, o tipo de comunicao padro entre o display LCD e o Arduino
demanda uma grande quantidade de conexes (fios) entre ambos. Alm da utilizao de um
potencimetro de 10k para ajustar o brilho da luz de fundo.
Com esse tipo de comunicao so necessrios a utilizao de seis pinos digitais do
Arduino, o que deixa restando oito dos catorze pinos de entrada/sada digitais, inviabilizando
projetos maiores que necessitariam utilizar mais pinos.
Sendo assim, houve a necessidade de utilizar um circuito eletrnico capaz de converter
esse tipo de comunicao paralela em uma comunicao serial que utiliza o protocolo IC. Na
Figura 36 mostrado o mesmo display LCD, executando o mesmo cdigo-fonte (utilizando-se
das bibliotecas LiquidCrystal_I2C.h e Wire.h) no experimento mostrado na Figura 35, mas
utilizando a interface de comunicao paralela/serial IC.
65
66
Figura 38. Captura de tela da IDE Arduino com monitor serial (teste Shield RTC).
67
Para testar esse shield, foram feitas as devidas conexes entre ele e a placa Arduino,
utilizando a protoboard. Aps isso, foram conectados ao computador para carregar um sketch
de exemplo padro de sua biblioteca (MFRC522.h). necessrio a utilizao da biblioteca
SPI.h, visto que esse dispositivo faz uso do protocolo de comunicao SPI (mencionado na
seo 3.4.1.1) para transferncia de dados entre ele e o Arduino. Na Figura 39 pode ser visto a
placa Arduino conectada ao shield RFID para teste. Na Figura 40 pode ser observado a captura
de tela da IDE do Arduino exibindo os dados de um carto capturado.
68
Figura 40. Captura de tela da IDE Arduino com monitor serial (teste Shield RFID).
69
aberto em modo de leitura e seu contedo apresentado no monitor serial da IDE Arduino.
Na Figura 41 pode ser visto o shield SD montado na protoboard juntamente com o Arduino e
suas conexes para o referido teste. J na Figura 42 pode ser visto a captura de tela da IDE do
Arduino com a janela do monitor serial mostrando os dados lidos do carto.
70
Figura 42. Captura de tela da IDE Arduino com monitor serial (teste Shield SD).
Para testar o Shield rel, foi conectado a ele o fecho magntico j que esses elementos
trabalharam juntos no sistema. atravs deste shield que o fecho magntico acionado.
Foi carregado um cdigo-fonte responsvel por enviar um sinal alto (HIGH) ao pino de
controle do shield rel para assim, fechar os contados do circuito de 12 volts, acionando e
abrindo o fecho magntico. Pode ser visto na Figura 43, como so feitas as conexes entre esses
dispositivos.
71
5.2.
TESTES INCREMENTAIS
Para esta parte, os testes foram realizados atravs de um nico cdigos-fonte (sketch),
que, foi acrescido, medida que os dispositivos (shields) iam sendo adicionados ao sistema.
Esse teste visa obter respostas dos componentes medida que mais componentes so
conectados ao conjunto.
Aps os testes realizados com o LCD, foi incrementado ao sistema o shield RFID. O
cdigo, que antes s apresentava instrues para o funcionamento do display LCD, foi
incrementado com novas linhas referentes a comunicao e funcionado do RFID. Como pode
72
ser observado na Figura 44 (diagrama), o display LCD exibe uma mensagem para que o usurio
aproxime seu carto ao leitor do RFID. Quando isso acontece, o leitor RFID captura sua ID e
envia para o computador para ser mostrada no monitor serial da IDE do Arduino. A Figura 45
mostra uma imagem do teste com esses dois componentes.
Figura 44. Diagrama de blocos para teste do Display LCD e Shield RFID.
73
Figura 46. Diagrama de blocos para teste do Display LCD e Shield RTC.
74
5.2.3. Testes com o Display LCD, Shield RFID, Shield RTC e Shield Rel juntos
Para os testes realizados com esses dispositivos juntos, mais uma vez o cdigo-fonte foi
incrementado. Nesse teste, o sketch solicita informaes de hora, dia da semana e data ao shield
RTC e as exibe no display LCD. Como pode ser notado no diagrama de blocos da Figura 48,
essas informaes so atualizadas a cada segundo.
Ao mesmo tempo, o leitor RFID aguarda que um carto ou tag RFID seja aproximado
ao sensor. Feito isso, a ID do carto capturada e verificada se idntica a ID contida no
cdigo. Caso seja idntica, exibida uma mensagem no display LCD (Acesso Liberado!) e
logo em seguida, acionado o shield rel. Caso contrrio, exibida uma mensagem no display
LCD (Acesso Negado!).
Na Figura 49, pode ser visto, na sequncia de imagens, as informaes de data e hora
sendo exibidas e atualizadas no display LCD, e tambm as mensagens de Acesso Liberado!
e Acesso Negado!.
75
Figura 48. Diagrama de blocos para teste do Display LCD, Shield RFID, Shield RTC e Shield Rel juntos.
76
77
5.3.
78
79
Figura 51. Captura de tela da IDE Arduino com monitor serial (mensagens de gravao de log).
80
81
82
5.4.
PROBLEMAS ENCONTRADOS
Inicialmente o projeto foi proposto para que a fecho magntico fosse acionado ao digitar
uma senha em um teclado matricial 4x3 (quatro linhas por trs colunas). Mas a medida que
foram sendo adicionados novos elementos ao sistema, alguns problemas foram surgindo.
Para o sistema proposto inicialmente, seria necessrio a utilizao de 8 pinos das
entradas/sadas digitais do Arduino, o que no problema, devido ao Arduino, utilizado nesse
projeto, possuir 14 deles. A ideia do teclado foi removida, e foram acrescentados os shields
RTC, RFID e SD, que juntamente com o display LCD, necessitam de 17 pinos.
Outra dificuldade encontrada foi a comunicao utilizada entre os shields RFID e SD,
pois os mesmos compartilham trs pinos (MISO, SCK e MOSI) do Arduino. Foi realmente
difcil conseguir com que esses dois dispositivos funcionassem em conjunto com o sistema.
Houve tambm uma grande dificuldade na manipulao dos dados recebidos do shield
SD, devido a funo da biblioteca utilizada s conseguir retornar um byte do arquivo por vez.
Tambm existiram dificuldade em manipular as informaes oriundas do shield RTC,
devido a biblioteca disponibilizada pelo seu fornecedor no ser compatvel. O que demandou
grande consumo de tempo no desenvolvimento, em fazer o dispositivo funcionar, e tambm em
busca da biblioteca ideal.
Com o intudo de diminuir a quantidade de pinos utilizada pelo display LCD, foi
adquirida uma placa com um circuito capaz de converter a comunicao paralela, entre o LCD
e a placa Arduino, em uma comunicao serial que utiliza o protocolo IC. O que acabou
causando outro problema, devido ao shield RTC tambm utilizar o mesmo tipo de comunicao
e compartilhar os mesmos pinos (SCL, SDA) do Arduino.
Por fim, houve dificuldades na alimentao do sistema devido a interferncia do shield
Rel, pois toda vez que o mesmo era acionado causava uma falha na alimentao de todo o
sistema. Sendo assim foi includo no prottipo um regulador de tenso, LM7805, para alimentar
este shield em separado.
83
6.1.
CONCLUSO
O controle de acesso um mecanismo que deve ser tratado com cuidado em qualquer
instituio, pblica ou privada, balanceando o custo de implantao com o benefcio de
assegurar o patrimnio institucional.
Nesse contexto, esse trabalho apresentou a elaborao de um prottipo de sistema para
controle de acesso aos ambientes restritos, utilizando a plataforma Arduino. Ele surgiu pela
necessidade de se adquirir uma fechadura eletrnica para instalao no laboratrio LAR da
Universidade do Estado do Rio Grande do Norte, visando aumentar sua segurana e o controle
dos usurios que podero ter acesso ao ambiente em questo.
Visto que, a despesa para se adquirir uma das solues disponveis atualmente no
mercado demanda um alto custo para a instituio de ensino em questo, foi proposto a
elaborao desse prottipo como alternativa de baixo custo. No Quadro 4 pode ser visualizado
uma lista com o material utilizado para a construo deste sistema e seus respectivos valores
(valores no mercado brasileiro).
VALORES
R$ 87,00
R$ 59,90
R$ 14,90
R$ 18,90
Shield Rel
R$ 13,50
Buzzer
R$ 2,00
R$ 3,00
R$ 15,00
Fecho eletromagntico
R$ 54,00
Total
R$ 268,20
84
Atualmente pode ser encontrado no mercado algumas fechaduras eletrnicas que custam
de R$ 600,00 at R$ 3.500,00. Desde fechaduras que permitem acesso ao ser digitado uma
senha em teclado numrico, outras que, como este trabalho, permitem acesso ao aproximar-se
um carto RFID, at as que funcionam mediante a leitura biomtrica do usurio. As fechaduras
mais baratas permitem armazenagem de poucos usurios, algo entre 100 e 300 usurios. J as
mais caras, alm de permitirem uma grande quantidade de usurios armazenados, tambm
realizam um registro de suas operaes em memria (AMERICANAS, 2014).
O sistema proposto neste trabalho se mostrou com custo acessvel devido o valor gasto
para sua implementao ter ficado entre 30% e 40% do valor de muitas fechaduras com o
mesmo propsito oferecidas no mercado. Alm disso, permite o armazenamento de inmeros
usurios, e tambm de inmeros registros de suas operaes, j que conta com um dispositivo
de armazenamento em massa (Carto SD).
Outra maneira de reduzir os custos a possibilidade da utilizao dos mesmos cartes
utilizados para pagamento de passagem nos nibus urbanos, pois empregam a mesma
tecnologia utilizada pelo leitor RFID deste sistema. O que, numa instituio de ensino que
possui muitos alunos, levaria a uma economia significativa, j que cada carto RFID custa em
torno de R$ 10,00.
A plataforma Arduino utilizada no sistema proposto totalmente Open Source tanto em
hardware, quanto em software para desenvolvimento dos algoritmos, o que garante um baixo
custo na aquisio do equipamento. Devido a estas caractersticas, possvel que novos
dispositivos sejam disponibilizados no mercado, contribuindo ainda mais para baixar o custo
do sistema.
O sistema tambm poderia ser utilizado, quando disposto na entrada de salas de aula,
para, por exemplo, controle de frequncia de alunos no decorrer do perodo letivo; como
alternativa para controle de emprstimos de livros na biblioteca; ou ainda para controle de
liberao de cancela na entrada de estacionamentos.
Apesar da dificuldade encontrada no desenvolvimento deste trabalho, pelo fato de
trabalhar com uma tecnologia at ento desconhecida para o autor deste trabalho, o que
necessitou um maior tempo de aprendizagem para desenvolver o sistema, alm de, em relao
a pesquisa, a tecnologia apresentar poucas referncias bibliogrficas, dificultando o
recolhimento de dados para a reviso de literatura; em contrapartida, a tecnologia oferece um
85
grande acervo de material como exemplo que pode ser utilizado como base para o
desenvolvimento das aplicaes.
Os testes realizados no prottipo mostraram que o sistema apresentou-se estvel,
tornando-se possvel a sua implementao no ambiente desejado.
6.2.
TRABALHOS FUTUROS
Como trabalhos futuros poderiam ser adicionados novas funes ao sistema, como a
insero de um carto administrador, habilitando funes para cadastrar/excluir usurios. Alm
de alguns botes necessrios para interagir com essas funes.
Outros meios de autenticao como, reconhecimento biomtrico ou reconhecimento de
voz, poderiam substituir o RFID atualmente utilizado. Ou mesmo, serem adicionados como um
complemento da autenticao. Alm de uma micro cmera para identificao de tentativas de
acesso no autorizados.
Outra ideia interessante seria a incluso de um Ethernet Shield, que permite ao Arduino
se conectar internet ou rede ethernet local, possibilitando assim a abertura da fechadura, ou
mesmo, a incluso/excluso de usurios remotamente.
A incluso de um sistema eletrnico capaz de manter o sistema energizado, caso falte
energia eltrica na rede de distribuio. O que, a princpio, pode ser feito ligando-se o sistema
a um mdulo UPS, ou no-break.
86
REFERNCIAS
87
88
89
90