Você está na página 1de 92

UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE

CAMPUS DE NATAL
DEPARTAMENTO DE INFORMTICA
CURSO DE CINCIA DA COMPUTAO

GETULIO PAULINO DE MORAIS SILVA

SISTEMA DE CONTROLE DE ACESSO UTILIZANDO ARDUINO

NATAL
2014

GETULIO PAULINO DE MORAIS SILVA

SISTEMA DE CONTROLE DE ACESSO UTILIZANDO ARDUINO

Monografia apresentada Universidade do Estado


do Rio Grande do Norte UERN como requisito
obrigatrio para obteno do ttulo de Bacharel em
Cincia da Computao.

ORIENTADORES: Rosiery da Silva Maia


Anderson Abner de S. Souza

NATAL
2014

Catalogao da Publicao na Fonte.


Universidade do Estado do Rio Grande do Norte.
Silva, Getlio Paulino de Morais
Sistema de Controle De Acesso Utilizando Arduino / Getlio Paulino de Morais
Silva Natal, RN, 2014.
90 f.
Orientadores Prof. Rosiery da Silva Maia, Anderson Abner de S. Souza
Monografia (Bacharelado). Universidade do Estado do Rio Grande do Norte.
Campus de Natal. Curso de Cincia da Computao
1. Microcontrolador. 2. Controle de acesso. 3. RFID. I Maia, Rosiery da Silva. II.
Universidade do Estado do Rio Grande do Norte. III.Ttulo.
UERN/ BC

CDD 004.6

Bibliotecrio: Sebastio Lopes Galvo Neto CRB - 15/486

GETULIO PAULINO DE MORAIS SILVA

SISTEMA DE CONTROLE DE ACESSO UTILIZANDO ARDUINO

Monografia apresentada Universidade do Estado


do Rio Grande do Norte UERN como requisito
obrigatrio para obteno do ttulo de Bacharel em
Cincia da Computao.

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)

Aos meus pais.

RESUMO

Controle de acesso um problema comum em diversos tipos de ambientes, sejam eles


residenciais ou empresariais, pblicos ou privados. Existem diversas solues no mercado que
implementam esta funcionalidade, desde simples fechaduras at sistemas mais elaborados, que
utilizam conferncia biomtrica, mas apresentam um alto custo. O controle de acesso ao
Laboratrio de Aprendizagem Robtica (LAR) da Universidade do Estado do Rio Grande do
Norte (UERN) realizado atravs de claviculrio manual. Esse sistema apresenta alguns
problemas em relao ao gerenciamento e portabilidade das chaves utilizadas por seus usurios.
O trabalho aqui proposto visa apresentar um sistema alternativo capaz de sanar esses problemas.
O projeto descrito um sistema de controle de acesso microcontrolado por uma placa Arduino,
que se baseia na identificao de cartes ou tags RFID para acionar um fecho magntico,
liberando a entrada do usurio a esse ambiente restrito. Sendo idealizado como um sistema de
controle, possui como medida de segurana, o registro de todas as atividades, sejam acessos
permitidos ou no. Nesse trabalho, so apresentados aspectos referentes ao processo de
desenvolvimento do sistema, dos testes realizados para constatao de seu funcionamento e
uma estimativa de custos, em relao a uma fechadura oferecida comercialmente, de todo
material utilizado para o prottipo.

Palavras-chave: Controle de Acesso, Microcontrolador, Arduino, RFID.

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.

Keywords: access control, microcontroller, Arduino, RFID.

LISTA DE FIGURAS

Figura 1. Partes integrantes de um microprocessador genrico ............................................... 24


Figura 2. Algumas placas originais Arduino ............................................................................ 26
Figura 3. Algumas placas clones e compatveis com Arduino ................................................. 27
Figura 4. Arduino UNO R3. ..................................................................................................... 28
Figura 5. Pinos de alimentao do Arduino. ............................................................................ 29
Figura 6. Microcontrolador ATMega328. ................................................................................ 30
Figura 7. Leiaute da placa Arduino UNO R3. .......................................................................... 33
Figura 8. Ambiente de programao. ....................................................................................... 34
Figura 9. Cartes e tags RFID. ................................................................................................. 38
Figura 10. Mdulo leitor RFID. ............................................................................................... 39
Figura 11. Diagrama de blocos do MFRC522. ......................................................................... 40
Figura 12. Esquema de ligao do mdulo RFID com a placa Arduino. ................................. 40
Figura 13. Esquema de ligao para comunicao SPI. ........................................................... 42
Figura 14. Mdulo leitor/gravador de carto SD. ..................................................................... 43
Figura 15. Esquema de ligao do mdulo SD com a placa Arduino. ..................................... 43
Figura 16. Mdulo RTC (frente e verso) .................................................................................. 44
Figura 17. Esquema de ligao do mdulo RTC com a placa Arduino. .................................. 45
Figura 18. Esquema de ligao para comunicao IC............................................................. 46
Figura 19. Linhas de comunicao (SDA e SCL). ................................................................... 47
Figura 20. Sequncia de bits. .................................................................................................... 48
Figura 21. Variedade de LCDs. ................................................................................................ 49
Figura 22. Display LCD 16x2. ................................................................................................. 50
Figura 23. Placa conversora IC. .............................................................................................. 50
Figura 24. Esquema de ligao do mdulo LCD com a placa Arduino. .................................. 51
Figura 25. Mdulo Rel. ........................................................................................................... 52
Figura 26. Buzzer (campainha). ............................................................................................... 53
Figura 27. Fecho magntico Amelco FE61. ............................................................................. 53
Figura 28. Exemplo de registro das IDs de cartes RFID no arquivo CARDS.TXT. .............. 54
Figura 29. Diagrama de blocos do sistema proposto. ............................................................... 56
Figura 30. Ligao entre os componentes do sistema. ............................................................. 57
Figura 31. Diagrama esquemtico do sistema. ......................................................................... 58

Figura 32. Diagrama de captura da Shield RFID. .................................................................... 59


Figura 33. Fluxograma da Funo VerificaCarto(String Card). ............................................. 60
Figura 34. Alguns registros gravados no arquivo LOGIN.TXT .............................................. 61
Figura 35. Teste do display LCD (comunicao paralela). ...................................................... 64
Figura 36. Teste do display LCD (comunicao serial). .......................................................... 65
Figura 37. Teste do Shield RTC. .............................................................................................. 66
Figura 38. Captura de tela da IDE Arduino com monitor serial (teste Shield RTC). .............. 66
Figura 39. Teste do Shield RFID. ............................................................................................. 67
Figura 40. Captura de tela da IDE Arduino com monitor serial (teste Shield RFID). ............. 68
Figura 41. Teste do Shield SD. ................................................................................................. 69
Figura 42. Captura de tela da IDE Arduino com monitor serial (teste Shield SD). ................. 70
Figura 43. Teste do Shield Rel e Fecho magntico. ............................................................... 71
Figura 44. Diagrama de blocos para teste do Display LCD e Shield RFID. ............................ 72
Figura 45. Teste do display LCD com o Shield RFID ............................................................. 72
Figura 46. Diagrama de blocos para teste do Display LCD e Shield RTC. ............................. 73
Figura 47. Teste do display LCD com o Shield RTC. .............................................................. 74
Figura 48. Diagrama de blocos para teste do Display LCD, Shield RFID, Shield RTC e Shield
Rel juntos. ............................................................................................................................... 75
Figura 49. Sequncia de imagens do teste. ............................................................................... 76
Figura 50. Diagrama de blocos do sistema completo. .............................................................. 78
Figura 51. Captura de tela da IDE Arduino com monitor serial (mensagens de gravao de
log). ........................................................................................................................................... 79
Figura 52. Teste do prottipo completo. .................................................................................. 79
Figura 53. Sistema montado (parte externa) ............................................................................. 80
Figura 54. Sistema montado (parte interna) ............................................................................. 81

LISTA DE QUADROS

Quadro 1. Caractersticas bsicas do Arduino UNO ................................................................ 28


Quadro 2. Formato do registro feito pelo sistema .................................................................... 54
Quadro 3. Componentes utilizados no sistema e suas funes................................................. 55
Quadro 4. Lista de componentes utilizados .............................................................................. 83

LISTA DE ABREVIAES

AC

Alternating current

CPU

Central Processing Unit

DC

Direct current

DIP

Dual In-line Package

EEPROM

Electrically-Erasable Programmable Read-Only Memory

FAT

File Allocation Table

FIFO

First In, First Out

I/O

Input/output

IC

Inter-Integrated Circuit

ICSP

In Circuit Serial Programming

IDE

Integrated Development Environmet

LAR

Laboratrio de Aprendizagem Robtica

LCD

Liquid Crystal Display

LED

Light Emitting Diode

MISO

Master Input Slave Output

MOSI

Master Output Slave Input

MSB

Most Significant Bit

PCB

Printed Circuit Board

PIC

Peripherals Integrated Controller

PWM

Pulse-Width Modulation

RFID

Radio-Frequency IDentification

ROM

Read Only Memory

RAM

Random Access Memory

RTC

Real Time Clock

SCK

Serial Clock

SCL

Serial Clock Line

SD

Secure Digital

SDA

Serial Data Line

SoC

System on Chip

SPI

Serial Peripheral Interface

SRAM

Static Random Access Memory

SS

Slave Select

TWI

Two Wire Interface

UART

Universal Asynchronous Receiver/Transmitter

UERN

Universidade do Estado do Rio Grande do Norte

UPS

Uninterruptible Power Supply

USB

Universal Serial Bus

SUMRIO

1.

INTRODUO ......................................................................................................... 13

1.2.

JUSTIFICATIVA ........................................................................................................ 14

1.3.

OBJETIVOS................................................................................................................ 15

1.3.1.

Objetivo Geral ........................................................................................................... 15

1.3.2.

Objetivos Especficos................................................................................................. 16

1.4.

METODOLOGIA ....................................................................................................... 16

1.5.

ESTRUTURA ............................................................................................................. 17

2.

TRABALHOS RELACIONADOS .......................................................................... 19

3.

FUNDAMENTAO TERICA ........................................................................... 23

3.1.

SISTEMA DE CONTROLE DE ACESSO ................................................................ 23

3.2.

MICROCONTROLADORES ..................................................................................... 23

3.3.

PLATAFORMA ARDUINO ...................................................................................... 25

3.3.1.

O Hardware ................................................................................................................ 28

3.3.1.1. Fonte de Alimentao .................................................................................................. 29


3.3.1.2. Ncleo CPU................................................................................................................. 30
3.3.1.3. Entrada e Sada ............................................................................................................ 31
3.3.1.4. Comunicao ............................................................................................................... 32
3.3.1.5. Caractersticas fsicas .................................................................................................. 32
3.3.2.

O Software .................................................................................................................. 33

3.3.2.1. Linguagem de referncia ............................................................................................. 35


3.3.2.2. Funes ........................................................................................................................ 36
3.3.2.3. Bibliotecas ................................................................................................................... 37
3.4.

COMPLEMENTOS PLACA ARDUINO (SHIELDS) ........................................... 37

3.4.1.

Mdulo leitor RFID (Shield RFID) .......................................................................... 37

3.4.1.1. Comunicao SPI ........................................................................................................ 41


3.4.2.

Mdulo leitor/gravador de carto SD (Shield SD) ................................................. 42

3.4.3.

Mdulo RTC (Shield RTC)....................................................................................... 44

3.4.3.1. Comunicao IC ......................................................................................................... 45


3.4.4.

Mdulo Display LCD (Shield LCD) ......................................................................... 48

3.4.5.

Mdulo Rel (Shield Delay) ...................................................................................... 51

3.4.6.

Buzeer (Sirene) ........................................................................................................... 52

3.4.7.

Fecho eletromagntico .............................................................................................. 53

4.

SISTEMA IMPLEMENTADO ................................................................................ 54

4.1.

DESCRIO DO PROJETO ..................................................................................... 54

4.2.

MONTAGEM E FUNCIONAMENTO DO SISTEMA ............................................. 56

4.2.1.

Funcionamento do sistema ....................................................................................... 59

5.

EXPERIMENTOS .................................................................................................... 63

5.1.

TESTES INDEPENDENTES ..................................................................................... 63

5.1.1.

Teste do display LCD................................................................................................. 63

5.1.2.

Teste do Shield RTC .................................................................................................. 65

5.1.3.

Teste do Shield RFID ................................................................................................ 67

5.1.4.

Teste do Shield SD ..................................................................................................... 68

5.1.5.

Teste do Shield Rel e do Fecho magntico ............................................................. 70

5.2.

TESTES INCREMENTAIS ........................................................................................ 71

5.2.1.

Testes com o Display LCD e Shield RFID ............................................................... 71

5.2.2.

Testes com o Display LCD e o Shield RTC.............................................................. 73

5.2.3.

Testes com o Display LCD, Shield RFID, Shield RTC e Shield Rel juntos ......... 74

5.3.

TESTE DO PROTTIPO COMPLETO..................................................................... 77

5.4.

PROBLEMAS ENCONTRADOS .............................................................................. 82

6.

CONCLUSO E PERSPECTIVAS DE TRABALHOS FUTUROS ................... 83

6.1.

CONCLUSO ............................................................................................................ 83

6.2.

TRABALHOS FUTUROS .......................................................................................... 85

REFERNCIAS ..................................................................................................................... 86

13

1. INTRODUO

Com o advento de novas tecnologias, tanto de hardware como de software, a ideia de


ter uma casa automatizada se torna cada vez mais prxima da realidade, e diversos recursos
esperados (como gerenciar a abertura e fechamento de portas e/ou janelas e acionar uma
variedade de dispositivos) j esto disponveis no mercado. No entanto, essas tecnologias
possuem um elevado custo, alm de sua customizao para novas funcionalidades ser limitada
organizao proprietria da tecnologia (MIORANZA, 2013).
Cada vez mais, as pessoas esto investindo em equipamentos eletrnicos capazes de
proporcionar uma maior comodidade, satisfao e segurana. Neste ltimo caso, sem muito
esforo, pode-se perceber inmeros equipamentos eletrnicos desenvolvidos para esse fim,
tanto em empresas, quanto em residncias.
Proteger informaes e produtos pode ser de suma importncia para qualquer instituio
pblica ou privada. Para tal, a melhor forma de evitar fraudes utilizar fechaduras com senhas
ou algum tipo de dispositivo de acionamento. Uma fechadura eletrnica um equipamento de
extrema importncia para segurana do estabelecimento, pois ela que vai determinar se libera,
ou no, a entrada das pessoas atravs de senhas previamente cadastradas. O preo das
fechaduras eletrnicas ainda alto, por esta razo, seu uso no se expandiu em larga escala.
Todavia, este produto mais seguro, prtico e simples para utilizao em lugares onde h
grandes acessos.
Sendo assim, a finalidade deste trabalho desenvolver um sistema de controle de acesso
(fechadura eletrnica) utilizando a plataforma de hardware livre Arduino. Essa plataforma
oferece uma arquitetura composta por hardware e software, podendo manipular e obter
informaes de dispositivos, como por exemplo sensores, motores, telas de cristal lquido ou
LCD (do ingls Liquid Crystal Display), e placas Shields, que podem ser conectadas ao
Arduino, ampliando suas capacidades funcionais.
Arduino uma plataforma composta por duas partes: a placa Arduino, que o
componente fsico (hardware), e um ambiente integrado de desenvolvimento ou IDE (do ingls
Integrated Development Environmet) Arduino IDE, que o software utilizado no
computador para desenvolver os programas que sero executados na placa. O Arduino foi
criado em 2005, na Itlia, por Mximo Banzi, com o objetivo de fomentar a computao, cujo

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

Foradas principalmente devido aos avanos da criminalidade e sensao de falta de


proteo, diversas instituies pblicas e privadas vm, cada dia mais, procurando sistemas que
as deixem em maior segurana, investindo alto na proteo do seu patrimnio material e
tecnolgico. Grandes sistemas so construdos para autenticao, controle de acesso e
monitoramento. Desta forma, possvel perceber que os gastos relacionados segurana vm
cada vez mais se tornando parte dos oramentos destas instituies (BORGES, 2010).
A exemplo disso e considerando o contexto fsico da UERN, visto que o laboratrio
LAR utilizado por vrios alunos e professores da instituio. Nele encontram-se vrios
equipamentos de informtica e de robtica, que possuem elevado valor. Assim sendo, faz-se
necessrio manter a quantidade e a integridade dos computadores, dos equipamentos e das
ferramentas existentes, alm de mant-los organizados. Em decorrncia deste fator crucial
que este especfico ambiente esteja perfeitamente seguro e organizado, sendo frequentado
apenas pelos autorizados.
Atualmente o LAR possui uma fechadura padro como qualquer outra sala da
instituio. Os professores possuem suas prprias chaves, mas quando um aluno necessita
adentrar ao ambiente, deve pedir a chave a um dos seguranas que trabalham na instituio.

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

1.3.1. Objetivo Geral

Este trabalho tem como objetivo apresentar o desenvolvimento e implementao de um


modelo de sistema de controle de acesso, contendo uma fechadura eletrnica de baixo custo,
construda com base na plataforma Arduino. Esse sistema dever ser utilizado no laboratrio
LAR no interior as instalaes da UERN.

16

1.3.2. Objetivos Especficos

Para alcanar o objetivo geral descrito acima, alguns objetivos especficos precisaram
ser atingidos:

Pesquisar trabalhos relacionados a sistemas de controle de acesso que utilizam


microcontroladores;

Analisar esses trabalhos segundo caractersticas especficas apresentadas e custos de


aplicabilidade;

Estudar alguns conceitos de eletrnica para utilizao e montagem (prototipagem)


dos componentes utilizados para construo da fechadura eletrnica;

Adquirir o material necessrio para construo da fechadura eletrnica;

Montar um prottipo do sistema de acesso com o material adquirido;

Estudar o desenvolvimento de aplicaes na plataforma Arduino;

Configurar o ambiente de desenvolvimento utilizado para implementao do


sistema;

Estudar a linguagem utilizada para criao das unidades funcionais (tambm


conhecidas como programas, ou sketchs), que sero enviadas para a placa Arduino e
executadas nele;

1.4.

Criao dos sketchs especficos para cada funcionalidade do sistema;

Testar o sistema de controle de acesso com o prottipo final da fechadura eletrnica;

Validar o sistema de controle de acesso com o prottipo final da fechadura eletrnica;

Instalar o sistema de controle de acesso no laboratrio LAR da UERN.

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

Foi realizado um estudo de caso, utilizando o microcontrolador Arduino para construir


um tipo de fechadura eletrnica. O dispositivo ser instalado na sala reservada para o LAR,
visando o controle de acesso de cada usurio deste espao atravs de um carto ou tag RFID
previamente cadastrado.
Na segunda etapa, foi elaborado o planejamento do sistema a ser implantado, o qual
consistiu em fazer um levantamento do material eletrnico necessrio para o projeto, gerao e
desenvolvimento do cdigo-fonte na linguagem utilizada pela plataforma e construo do
prottipo. A estrutura bsica da linguagem de programao do Arduino bastante simples; ela
formada por dois blocos de funes que carregam outros blocos de funes escritas em
linguagem C/C++. O primeiro bloco de funes forma a funo setup( ); o segundo, a funo
loop( ) (SILVEIRA, 2012).
Foi executada a montagem dos itens de eletrnica necessrios protoboard que foi
interligada placa Arduino para possibilitar o seu funcionamento adequado ao projeto.
Na terceira etapa, foram executados e descritos os testes, os quais consistiram em
verificar o correto funcionamento do dispositivo conforme objetivo, que o acionamento do
fecho magntico a ser instalado na porta da sala do LAR, liberando sua abertura aps a
aproximao do carto ou tag RFID.

1.5.

ESTRUTURA

No prximo captulo so mencionados alguns trabalhos relacionados com o sistema


proposto. Onde realizado um comparativo com os trabalhos apresentados, destacando os
pontos que podem ser melhorados.
No captulo 3 so apresentados os conceitos relacionados ao desenvolvimento do
trabalho. nessa parte que se descreve os componentes de hardware e software do sistema, a
placa microcontroladora Arduino, bem como os dispositivos utilizados para estender suas
funcionalidades.
No captulo 4 sero descritos a forma de modelagem de conexo desses componentes e
o detalhamento de cada mdulo do sistema.

18

No captulo 5 so descritos os testes realizados no sistema e os problemas encontrados


no desenvolvimento deste sistema.
Por fim, no capitulo 6, so colocadas as consideraes finais a respeito do trabalho, e
mencionados os trabalhos futuros para a evoluo deste projeto.

19

2. TRABALHOS RELACIONADOS

Existem atualmente no mercado inmeros sistemas que possuem propsito semelhante


ao aqui apresentado. Mas, por se tratarem de sistemas proprietrios, por vezes patenteados, no
comum encontrar em seus documentos de especificaes tcnicas, descries detalhadas de
tais dispositivos.
As diferenas entre os sistemas de controle de acesso se do em vrios quesitos: na
complexidade do sistema, no propsito do mesmo, na estrutura de hardware e nos mecanismos
de identificao (PEIXOTO, 2013).
No trabalho de Oxer & Blemings (2009), captulo 14 RFID Access Control System,
demonstrado como se construir um sistema de controle de acesso utilizando a plataforma
Arduino juntamente com um leitor de cartes ou tags RFID. Nesse projeto so utilizados, alm
de uma placa Arduino e um leitor RFID, um fecho magntico juntamente com alguns
componentes eletrnicos para possibilitar a abertura de uma porta ao ser reconhecido a
identificao de um carto ou tag previamente cadastrados no sistema. uma aplicao bem
simples de controle de acesso uma porta.
Pode ser visto que os cdigos de identificao so inseridos dentro do sketch do
Arduino, o que impossibilita uma futura e fcil incluso de novos cdigos. necessrio que o
usurio desmonte o projeto para poder conectar a placa a um computador, sendo assim, possvel
atualizar o sketch com novos cdigos. Alm disso, no h qualquer tipo de interface com o
usurio ou modo de armazenar informaes acerca dos acessos autorizados ou tentativas de
acesso no permitidas pelo sistema.
Nas pesquisas feitas por Monk (2010), no captulo 9 Miscellaneous Projects, mais
precisamente no Projeto 27 Magnetic Door Lock, ele mostra como construir uma tranca
magntica para utilizao em qualquer tipo de porta. Nesse projeto utilizado como
componentes principais, uma placa Arduino, um teclado 4x3 (quatro linhas por trs colunas) e
um pequeno solenoide. cadastrada uma senha padro na memria EEPROM do Arduino,
havendo a possibilidade de mudar essa senha. Caso o usurio venha a esquecer seu cdigo
secreto, desligando e religando a energia do Arduino no ir redefini-lo para uma senha padro.
Dever conectar a placa ao computador para fazer o carregamento do sketch, e ento voltar a
utilizar a senha padro.

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

Peixoto (2013) props um sistema de controle de acesso capaz de sanar alguns


problemas no controle de acesso encontrados em sua instituio de ensino. Esse sistema
consiste em duas entidades principais: um middleware e um servidor de autenticao. O
middleware deve receber as informaes de um usurio passadas atravs de uma tag RFID,
montar uma mensagem de requisio e envi-la de maneira segura via rede ethernet para um
servidor de autenticao. Este, por sua vez, retorna uma mensagem ao middleware com a
resposta requisio. Esse sistema centralizado em rede, de maneira que todos os locais em
que o middleware for implementado fazem requisio ao mesmo servidor.
Diferente dos outros trabalhos aqui mencionados, utilizado nesse projeto um
microcontrolador mbed como principal componente de hardware. Conforme Holdings (2011),
ele pertence a uma srie de microcontroladores elaborados para prototipagem rpida e
projetado com encapsulamento dual in-line package (DIP) para montagem em placas de
circuito impresso (PCB) e/ou em protoboards (geralmente utilizadas na fase inicial do projeto
para realizao de testes).
Esse projeto possui uma parte semelhante ao proposto aqui, por trabalhar com leitores
de cartes ou tags RFIDs, para liberar o acesso ao ambiente protegido. Alm disso, a ideia de
utilizar uma fonte de alimentao ininterrupta, tambm conhecida pelo acrnimo UPS (sigla
em ingls para Uninterruptible Power Supply) ou no-break, para manter o sistema funcionando
no caso de falta de energia eltrica.
Decker & Dotto (2013) sugerem a confeco de um sistema de acesso microcontrolado,
baseado na leitura de cdigo de barras e senha para controlar o acesso a um laboratrio da
instituio de ensino em que estudam. Todo controle feito por um controlador integrado de
perifricos (PIC, sigla em ingls para Peripherals Integrated Controller) modelo 16F876-I/P.
Este microcontrolador comanda um LCD, um teclado matricial com 16 teclas (4x4), um rel,
dois LEDs, um buzzer (sirene) e dois pontos de comunicao: um com o leitor de cartes de
cdigo de barras e outro com o computador. Apesar de sugerir uma maior segurana, pois alm
do reconhecimento de um cdigo de barras, o usurio tambm deve possuir uma senha de quatro
dgitos, este projeto no implementa a incluso de algum tipo de registro de eventos relevantes
ao sistema, como um histrico dos usurios contento nome, data e horrio do acesso ao
ambiente.
Diferentemente do trabalho de Peixoto (2013) e de outros projetos anteriormente
mencionados, o enfoque deste trabalho se d na construo de um sistema independente, que

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.

SISTEMA DE CONTROLE DE ACESSO

Os sistemas de controle de acessos fsicos so os que utilizam obstculos fsicos e


mtodos de identificao e conferncia para as pessoas ou veculos que queiram ou necessitem
transpor esses obstculos. Servem para restringir o movimento de entrada e sada em ambientes,
os mais diversos. Estes sistemas so utilizados para o cadastro e controle de fluxo de visitantes,
prestadores de servio, funcionrios e veculos, e podem ser implantados em qualquer ambiente,
ou seja, qualquer local que se queira controlar o acesso, como salas, departamentos ou mesmo
estacionamentos (BECKER; DOTTO, 2013).
Para os sistemas de controle de acesso fsico existem muitas e variadas opes
disponveis no mercado. Esses sistemas envolvem quase sempre uma barreira fsica e alguns
dispositivos de entrada de dados, que permitem receber as informaes e liberam ou no, a
barreira fsica, permitindo ou no a entrada do indivduo ou veculo.
O sistema proposto neste trabalho se assemelha a muitos outros equipamentos
comerciais disponveis no mercado. A utilizao de um leitor de cartes ou tags RFID de
conhecimento de muitos, pois utilizado amplamente para disponibilizar acesso as catracas dos
nibus do transporte coletivo. Tambm pode ser aplicado em diversas situaes, como: controle
para ligar ou desligar equipamentos, para ligar a ignio de um veculo automotor, entre outros.

3.2.

MICROCONTROLADORES

Os avanos tecnolgicos atingidos com o desenvolvimento dos Circuitos Integrados


demandam cada vez mais dispositivos eletrnicos, e a cada dia so criados componentes mais
versteis e poderosos. Nesta categoria, encontram-se os microcontroladores, que proporcionam
uma excelente performance dentre vrios contextos. Permitem o projeto relativamente rpido e
simplificado de novos equipamentos, devido a sua facilidade de uso em ampla faixa de
aplicaes.

24

Um microcontrolador um dispositivo semicondutor em forma de Circuito Integrado,


que integra as partes bsicas de um microcomputador e um microprocessador, memrias no
volteis e volteis, alm de portas de entrada e sada. Por ser limitado em termos de quantidade
de memria, principalmente no que diz respeito memria de dados, utilizado em aplicaes
especficas, isto , naquelas que no necessitam armazenar grandes quantidades de dados
(GIMENEZ, 2005). Na Figura 1, pode ser visto um esquema das partes integrantes de um
microcontrolador genrico.
Alm de receber entradas do usurio, o microcontrolador tambm recebe informaes
do prprio produto no qual est embarcado, e controla o aparelho mandando sinais para diversos
componentes do mesmo. tambm, de certa forma, resistente, podendo ser aplicado em
condies mais extremas onde computadores normais no conseguiriam (GROOVER, 1987).

Figura 1. Partes integrantes de um microprocessador genrico

Fonte: SOARES (2002)

Microcontroladores so geralmente utilizados em automao e controle de produtos e


perifricos, como sistemas de controle de motores automotivos, controles remotos, mquinas
de escritrio e residenciais, brinquedos, sistemas de superviso, entre outros.
Um bom exemplo do funcionamento do microcontrolador seria observado em um
aparelho de micro-ondas. Alm de receber informaes das teclas e exibi-las no mostrador

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

Arduino uma plataforma de prototipagem eletrnica e de placa nica criada com o


objetivo de permitir o desenvolvimento de controle de sistemas interativos, de baixo custo e
acessvel a todos. Alm disso, todo material (hardware, software e bibliotecas) open-source,
ou seja, pode ser reproduzido e usado por todos sem a necessidade de pagamento de direitos
autorais.
Pode ser utilizada para desenvolver objetos que sejam independentes ou que podem ser
conectados a um computador, uma rede ou at mesmo Internet para recuperar e enviar dados.
O Arduino capaz de armazenar aplicaes criadas em seu ambiente de desenvolvimento
podendo assim, realizar as funes desejadas por conta prpria, sem a necessidade de um
computador (ARDUINO, 2014).
A plataforma projetada com um microcontrolador Atmel AVR, com suporte de
entrada/sada embutido, uma linguagem de programao padro, a qual tem origem em Wiring,
e essencialmente C/C++. O objetivo do projeto criar ferramentas que so acessveis, com
baixo custo, flexveis e fceis de se usar por artistas e amadores. Principalmente para aqueles
que no teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas
(ARDUINO, 2014).

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).

Figura 2. Algumas placas originais Arduino

Fonte: ARDUINO (2014)

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

Figura 3. Algumas placas clones e compatveis com Arduino

Fonte: Inserido na imagem.

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

Figura 4. Arduino UNO R3.

Fonte: ARDUINO (2014)

3.3.1. O Hardware

O Arduino Uno uma placa microcontroladora baseado no ATmega328. Possui 14


pinos digitais de entrada/sada, dos quais 6 podem ser usados como sadas com modulao por
largura de pulso, ou PWM (sigla em ingls para Pulse-Width Modulation), 6 entradas
analgicas, um oscilador de cristal de 16 MHz, uma conexo USB, um conector de alimentao,
conector ICSP (sigla em ingls para In Circuit Serial Programming), e um boto de reset
(Quadro 1). Ele contm todo o necessrio para suportar o microcontrolador; basta conect-lo a
um computador atravs de um cabo USB ou lig-lo a um adaptador conversor de tenso ACDC ou bateria para iniciar a execuo da funo programada.

Quadro 1. Caractersticas bsicas do Arduino UNO


Microcontrolador

ATmega328

Tenso operacional

5V

Tenso de alimentao (recomendada) / (limites)

7 12 V / 6 20 V

Pinos de I/O digitais

14 (dos quais 6 podem ser sadas PWM)

Pinos de entrada analgica

Corrente continua por pino de I/O

40 mA

Corrente continua para o pino 3.3 V

50 mA

Memria flash

32 KB (0,5 KB usados para o bootloader)

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.

Figura 5. Pinos de alimentao do Arduino.

Fonte: ARDUINO (2014)

Os pinos de energia so os seguintes (Figura 5):

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.

5V Este pino fornece 5 volts atravs do regulador de tenso.

3V3 Uma fonte de 3,3 volts gerada atravs do regulador de tenso da placa.
Possui uma corrente mxima de 50mA.

GND Pinos Terra. H vrios desses pinos na placa.

30

IOREF Fornece referncia de tenso com a qual o microcontrolador trabalha.


Um shield configurado corretamente pode ler a tenso deste pino e selecionar a
fonte de alimentao adequada ou habilitar tradutores de tenso nas sadas para
trabalhar com 5 ou 3,3 volts.

3.3.1.2.

Ncleo CPU

O ncleo de processamento de uma placa Arduino um microcontrolador, uma CPU,


um computador completo, com memria RAM, memria de programa (ROM), uma unidade de
processamento de aritmtica e os dispositivos de entrada e sada. Tudo em um chip s. E esse
chip que possui todo hardware para obter dados externos, processar esses dados e devolver para
o mundo externo.
Os desenvolvedores do Arduino optaram em usar a linha de micro controladores da
empresa Atmel. A linha utilizada a ATMega. Existem placas Arduino oficiais com diversos
modelos desta linha, mas os mais comuns so as placas com os chips ATMega8, ATMega162
e ATMega328. Esses modelos diferem na quantidade de memria de programa (ROM) e na
configurao dos mdulos de entrada e sada disponveis.

Figura 6. Microcontrolador ATMega328.

Fonte: ATMEL (2014)

O ATmega328 (Figura 6) utilizado no modelo UNO R3 possui 32 KB de memria (com


0,5 KB utilizadas para o bootloader). Ele tambm possui 2 KB de SRAM e 1 KB de EEPROM,
que pode ser lido e escrito utilizando a biblioteca EEPROM.h.

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:

Serial: 0 (RX) e 1 (TX) Usados para recepo (RX) e transmisso (TX) de


dados seriais TTL.

Interrupes externas: 2 e 3 Estes pinos podem ser configurados para


disparar uma interrupo por um valor baixo, uma borda de subida ou queda, ou
uma mudana de valor.

PWM: 3, 5, 6, 9, 10, 11 Fornecem a sada PWM de 8 bits com a funo


analogWrite(). Tratado como sada analgica, na verdade uma sada digital
que gera um sinal alternado (0 e 1) onde o tempo que o pino fica em nvel 1
(ligado) controlado. usado para controlar velocidade de motores, ou gerar
tenses com valores controlados pelo programa.

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) um padro de comunicao


serial sncrono, bem mais rpido que a UART. Estes pinos suportam
comunicao SPI utilizando a biblioteca SPI.h.

LED: 13 H um LED soldado na placa e conectado ao pino digital 13. Quando


o valor do pino estiver em HIGH, o LED acende, quando o pino estiver com
valor LOW, ele estar apagado.

Entradas analgicas: A0 a A5 Cada um dos quais com 10 bits de resoluo


(1024 valores diferentes). Por padro elas medem at 5 volts, embora seja
possvel mudar o limite superior de sua faixa usando o pino AREF e a funo
analogReference().

TWI: A4 ou pino SDA e A5 ou pino SCL Suporte a comunicao IC (TWI)


usando a biblioteca Wire.h.

AREF Tenso de referncia para as entradas analgicas. Usado com a funo


analogReference().

32

Reset Reinicia o microcontrolador. Tipicamente usado para adicionar um


boto de reset para shields, ou mesmo para o prprio Arduino no caso de falha
no funcionamento em execuo (por exemplo, travar). No sendo necessrio,
por exemplo, que o usurio tenha que abrir o invlucro onde a placa do Arduino
esteja montada, s para apertar o boto Reset da mesma.

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

Como podemos conferir na Figura 7, o comprimento e largura mximos do PCB Uno


so de 68 e 53 milmetros, respectivamente, com o conector USB e o conector de alimentao
que se estende alm das dimenses. Quatro furos para parafusos permitem que a placa possa
ser afixada a uma superfcie ou caixa.

33

Figura 7. Leiaute da placa Arduino UNO R3.

Fonte: LENZ (2013)

3.3.2. O Software

Quando se trata de software na plataforma Arduino, refere-se IDE e o cdigo fonte


(sketch) desenvolvido pelo usurio enviado para a placa Arduino.
O Arduino IDE (Figura 8) trata-se de uma aplicao multiplataforma escrita em Java
derivada dos projetos Processing e Wiring (NUNES, 2012). esquematizado para introduzir a
programao a pessoas no familiarizadas com o desenvolvimento de software. Inclui um editor
de cdigo com recursos de realce de sintaxe, parmetros correspondentes e identao
automtica, sendo capaz de compilar e carregar programas para a placa com um nico clique
(ARDUINO, 2014).

34

Utilizando uma biblioteca chamada Wiring, ele possui a capacidade de programar em


C/C++, permitindo a criao de muitas operaes de entrada e sada. Devem ser definidas
apenas duas funes para fazer um programa funcional:

setup() Inserida no incio do cdigo, na qual pode ser utilizada para iniciar
configurao; e

loop() chamada para repetir um bloco de comandos ou esperar at que seja


desligada.

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.

Figura 8. Ambiente de programao.

Fonte: ARDUINO (2014)

35

3.3.2.1.

Linguagem de referncia

Como j foi mencionado anteriormente, os programas para Arduino so implementados


tendo como referncia a linguagem C/C++. Preservando sua sintaxe clssica na declarao de
variveis, nos operadores, nos ponteiros, nos vetores, nas estruturas e em muitas outras
caractersticas da linguagem. Com isso, temos as referncias da linguagem. Essas podem ser
divididas em trs partes principais: as estruturas, os valores (variveis e constantes) e as
funes.
As estruturas de referncia so as seguintes:

Estruturas de controle (if, else, break, ...);

Sintaxe bsica (#define, #include, ; , ...);

Operadores aritmticos e de comparao (+, -, =, ==, !=, ...);

Operadores booleanos (&&, ||, !);

Acesso a ponteiros (*, &);

Operadores compostos (++, --, +=, ...);

Operadores de bits (|, >>, ...);

Os valores de referncias so:

Tipos de dados (byte, array, int, char, ...);

Converses (char(), byte(), int(), ...);

Varivel de escopo e de qualificao (variable scope, static, ...);

bom citar que a IDE do Arduino j prov vrias funes e constantes para facilitar a
programao. Tais como:

setup();

loop();

Constantes (HIGH | LOW, INPUT | OUTPUT);

Bibliotecas (Serial, Servo, Tone, entre outras).

36

3.3.2.2.

Funes

As funes so referncias essenciais para o desenvolvimento de um projeto usando o


Arduino, principalmente para os iniciantes no assunto. Essas funes j implementadas e
disponveis em bibliotecas direcionam e exemplificam as funcionalidades bsicas do
microcontrolador. Temos como funes bsicas e de referncia as seguintes 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

O uso de bibliotecas nos proporciona um horizonte de programao mais amplo e


diverso quando comparado a utilizao apenas de estruturas, valores e funes. Isso
perceptvel quando analisamos os assuntos que so abordados por cada biblioteca em
especifico. Lembrando sempre que, para se fazer uso de uma biblioteca, esta j deve estar
instalada e disponvel na sua mquina (RENNA et al, 2013). Temos as seguintes bibliotecas de
referncia:

EEPROM Reprograma a memria de armazenamento permanente;

Ethernet Conexo com a uma rede Ethernet usando o Arduino Ethernet Shield;

Firmata Comunicao com os aplicativos no computador usando o protocolo


Firmata;

LiquidCrystal Controle de telas de cristal lquido;

Servo Controle de servomotores;

SPI Comunicao com dispositivos a comunicao SPI;

SoftwareSerial Comunicao serial em qualquer dos pinos digitais;

Stepper Controle de motores de passo;

Wire Comunicao com dispositivos a comunicao IC (TWI).

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.

COMPLEMENTOS PLACA ARDUINO (SHIELDS)

3.4.1. Mdulo leitor RFID (Shield RFID)

A identificao por radiofrequncia (RFID, sigla em ingls para Radio-Frequency


IDentification) uma tecnologia para identificao automtica de objetos e pessoas. Um

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.

Figura 9. Cartes e tags RFID.

Fonte: MORAES (2013)

O shield utilizado (Figura 10) consistem em um microcontrolador MFRC522 com


antena integrada da NXP Semicondutores. Possui pinagem correta para conexo ao Arduino
via protocolo SPI. O circuito integrado MFRC522 um leitor/gravador altamente integrado
para comunicao sem fio por ondas de rdio na frequncia de 13,56 MHz. O transmissor
interno do MFRC522 capaz de energizar uma antena de leitura/gravao desenvolvida para
comunicar-se com etiquetas RFID padro ISO/IEC 14443 A/MIFARE sem a necessidade de
circuitos ativos adicionais (NXP, 2014).

39

Figura 10. Mdulo leitor RFID.

Fonte: CHIOSZ ROBOTS (2014)

O mdulo receptor do MRFRC522 fornece uma implementao robusta e eficiente para


demodulao e decodificao de sinais das etiquetas RFID compatveis. A distncia de
operao normal em modo de leitura/gravao de at 50mm, dependendo do tamanho da
antena e ajuste. O MFRC522 oferece os protocolos de comunicao seriais SPI (sigla em ingls
para, Serial Peripheral Interface), UART e IC. Para o projeto em questo, o protocolo utilizado
foi o SPI (mais detalhes na seo 3.4.1.1) atravs da biblioteca SPI.h juntamente com a
biblioteca MFRC522.h para facilitar a comunicao entre este mdulo e o Arduino.
Na Figura 11 possvel observar um diagrama de blocos para o MFRC522, a antena
recebe o sinal analgico e o repassa para a interface analgica, que responsvel pela
modulao e demodulao destes sinais. O mdulo UART (sigla em ingls para Universal
Asynchronous Receiver/Transmitter) sem contato gerencia os requerimentos padres para os
protocolos de comunicao com o hospedeiro, no caso, o Arduino. O buffer FIFO (sigla em
ingls para First In, First Out) garante a transferncia de dados rpida e conveniente para o/do
hospedeiro e do mdulo UART e vice-versa, atravs do protocolo de conexo escolhido (NXP,
2014).

40

Figura 11. Diagrama de blocos do MFRC522.

Fonte: NXP (2014) modifica

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.

Figura 12. Esquema de ligao do mdulo RFID com a placa Arduino.

41

3.4.1.1.

Comunicao SPI

O protocolo SPI um protocolo de dados serial sncrono, utilizado por


microcontroladores para se comunicarem com um ou mais dispositivos perifricos rapidamente
em curtas distancias, ou para comunicao entre dois microcontroladores, no caso, o
microcontrolador presente no Arduino e o microcontrolador presente no mdulo leitor RFID
(ARDUINO, 2014).
Em uma conexo SPI existe sempre um dispositivo que controla outros dispositivos
perifricos chamado mestre, que neste projeto o Arduino. O shield RFID um dispositivo
escravo. Normalmente existem trs linhas comuns a todos os dispositivos:

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;

SCK (Serial Clock) - Os pulsos de clock que sincronizam a transmisso de dados


gerado pelo mestre;

e uma linha especfica para cada dispositivo:

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.

Figura 13. Esquema de ligao para comunicao SPI.

Fonte: LABORATRIO DE GARAGEM (2012)

3.4.2. Mdulo leitor/gravador de carto SD (Shield SD)

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

Figura 14. Mdulo leitor/gravador de carto SD.

Fonte: GETECH (2014)

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.

Figura 15. Esquema de ligao do mdulo SD com a placa Arduino.

44

Alm da biblioteca SPI.h para comunicao com o Arduino, utilizada a biblioteca


SD.h. Essa biblioteca permite a leitura e gravao em cartes SD e SDHC, alm de possuir
suporte aos sistemas de arquivo FAT16 e FAT32, utilizando o sistema curto 8.3 para nomear
arquivos. Nesse sistema, um arquivo dever possuir at oito caracteres para o nome e trs
caracteres para a extenso.

3.4.3. Mdulo RTC (Shield RTC)

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).

Figura 16. Mdulo RTC (frente e verso)

Fonte: CORE ELECTRONICS (2014)

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.

Figura 17. Esquema de ligao do mdulo RTC com a placa Arduino.

Utiliza as bibliotecas Wire.h fornecida pelo Arduino e DS1307.h fornecida pelo


fabricante do mdulo. Uma outra caracterstica desse mdulo que pode ser utilizado um sensor
de temperatura DS18B20 (MAXIM INTEGRATED, 2008b) no incluso, e ler suas informaes
a partir do pino DS do mdulo.

3.4.3.1.

Comunicao IC

O protocolo IC (sigla em ingls para Inter-Integrated Circuit) descreve o


funcionamento de um barramento de comunicao serial que utiliza apenas dois fios. Inventado
pela Philips no incio da dcada de 90, este protocolo muito utilizado para conectar perifricos
de baixa velocidade a placas-me, microcontroladores e afins (NXP, 2014).

46

Tanto a unidade de controle quanto os perifricos devem possuir implementao IC,


seja via hardware no prprio SoC (sigla em ingls para System on Chip) ou utilizando circuitos
integrados, como o SC16IS750 (NXP, 2011).
O barramento IC composto de dois fios. SDA (sigla em ingls para Serial Data line)
responsvel pela transmisso de dados e endereos, e SCL (sigla em ingls para Serial Clock
line) onde aplicado o sinal de clock que ir sincronizar a transmisso, alm da alimentao
(VDD) tipicamente de 3,3 ou 5 volts como pode ser visto na Figura 18 logo abaixo. Tambm
possvel perceber que os fios de comunicao possuem resistncias pull-ups.

Figura 18. Esquema de ligao para comunicao IC.

Fonte: TOTALPHASE (2014) com modificaes

O nmero de dispositivos em um nico barramento limitado, tanto pelo tamanho do


endereo, que pode ser de 7, 10 e at 16 bits; como por restrio de espao, por no poder
ultrapassar alguns poucos metros de fio. Quando alm da capacitncia mxima, em torno de
400pf, impede o funcionamento correto do barramento (embora existam chips reforadores de
sinal IC, como o Philips P82B715, que permite uma distncia de at 50 metros) (NXP, 2009).
Como visto na Figura 18, o protocolo da comunicao IC possui apenas dois tipos de
dispositivos: Master e Slave. O dispositivo Master (mestre em ingls) a unidade de controle
responsvel por coordenar todos os dispositivos Slave (escravo em ingls).

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.

Figura 19. Linhas de comunicao (SDA e SCL).

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

Figura 20. Sequncia de bits.

Fonte: ROBOT ELECTRONICS (2014)

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.

3.4.4. Mdulo Display LCD (Shield LCD)

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).

Figura 21. Variedade de LCDs.

Fonte: TRASTEJANT (2014)

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

Figura 22. Display LCD 16x2.

Fonte: MINIINTHEBOX (2014)

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.

Figura 23. Placa conversora IC.

Fonte: NEWEGG (2014)

Na Figura 24 pode ser visto como o shield LCD juntamente com a placa conversora so
conectados ao Arduino.

51

Figura 24. Esquema de ligao do mdulo LCD com a placa Arduino.

3.4.5. Mdulo Rel (Shield Relay)

O rel um interruptor eletromecnico. O que determina seu emprego numa aplicao


prtica so suas propriedades. O entendimento dessas caractersticas fundamental para a
escolha do tipo ideal de rel. Sua bobina enrolada com um fio esmaltado cuja espessura e
nmero de voltas determinado pelas condies em que se deseja fazer sua ativao. A
intensidade do campo magntico produzido e, portanto, a fora com que a armadura atrada
depende tanto da intensidade da corrente que circula pela bobina como do nmero de voltas
que ela possui (BECKER; DOTTO, 2013).
O nmero de contatos e sua disposio vo depender das aplicaes a que se destinam
os rels. O mdulo rel utilizado neste trabalho (Figura 25) possui os seguintes contatos:

NA Normalmente aberto: so os que esto abertos enquanto a bobina no


est energizada e que fecham, quando a bobina recebe corrente;

C Contato central: Alimentado, geralmente por uma tenso mais alta, de


corrente continua ou alternada;

NF Normalmente fechado: abrem-se quando a bobina recebe corrente, ao


contrrio do NA;

VCC Alimentado por corrente continua 5 volts;

IN Pino de controle via Arduino;

GND aterramento.

52

Figura 25. Mdulo Rel.

Fonte: LABORATRIO DE GARAGEM (2014b)

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).

3.4.6. Buzeer (Sirene)

Um buzzer (campainha em ingls) um dispositivo sonoro de sinalizao, que pode ser


mecnico, eletromecnico, ou piezeltrico. Usos tpicos de campainhas e apitos incluem
dispositivos de alarme, temporizadores e confirmao da entrada do usurio, como um clique
do mouse ou tecla. Na Figura 26 pode ser visto o buzzer utilizado neste projeto. Ele alimentado
por uma tenso de 5 volts.

53

Figura 26. Buzzer (campainha).

Fonte: WEBTRONICO (2014)

3.4.7. Fecho eletromagntico

O fecho magntico utilizado neste trabalho o mostrado na Figura 27. Da marca


Amelco, este fecho (modelo FE61) foi desenvolvido para funcionamento com baixa voltagem
atravs de dispositivos acionador com sada entre 12 a 18 volts em corrente continua ou
alternada.
Este fecho possui um dispositivo de memria que sai de fbrica instalado. Quando opera
com este dispositivo, o fecho libera a porta a partir do momento do acionamento, permitindo
uma nica abertura aps o acionamento. Caso a operao do fecho seja sem a memria, o fecho
libera a porta apenas durante o acionamento.
Ele pode ser instalado, embutido no batente da porta, para funcionamento junto a
fechaduras mecnicas, do tipo que movimenta a lingueta atravs de maaneta pelo lado interno
e de chave pelo externo. O espelho do fecho reversvel, permitindo o uso em portas que abrem
tanto direita quanto esquerda.
Figura 27. Fecho magntico Amelco FE61.

Fonte: AMELCO (2014)

54

4. SISTEMA IMPLEMENTADO

4.1.

DESCRIO DO PROJETO

O projeto consiste em um sistema de fechadura eletrnica que controla o acesso a um


ambiente especfico, onde s tero acesso os usurios que possurem um carto ou tag RFID.
Esses cartes possuem uma identificao nica e devem ser cadastrados previamente no
sistema. Alm disso, feito um registro (em arquivo) dos acessos permitidos, ou no. Registro
este, que contm a identificao do carto ou tag RFID, hora e data da tentativa de acesso
(atravs do uso de um shield RTC no sistema), seguido de uma mensagem, como apresentada
no Quadro 2:

Quadro 2. Formato do registro feito pelo sistema


ID

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

Para a concepo do prottipo, os componentes utilizados, e sua funo no sistema,


esto descritos no Quadro 3, logo abaixo:

Quadro 3. Componentes utilizados no sistema e suas funes.


Componente
Arduino UNO R3

Funo no sistema
Sistema controlador (controle dos componentes abaixo
relacionados)

Shield RFID MFRC522

Leitor RFID

Cartes ou tags RFID

Etiqueta RFID

Shield LCD com conversor de


comunicao paralela/serial IC.

Exibir mensagens para os usurios do sistema.

Shield SD

Contm dados dos cartes ou tags permitidos.


Registro dos acessos permitidos, ou no.

Shield RTC

Prover hora e data completos para utilizao no registro.

Shield Rel

Acionamento, mediante comando, do fecho magntico.

Buzzer (campainha)

Sinalizao sonora quando do acionamento do fecho magntico.

Fecho eletromagntico

Permitir abertura da porta.

No diagrama de blocos da Figura 29 possvel observar de maneira simplificada a


comunicao entre estes componentes no sistema. Tambm possvel visualizar os protocolos
utilizados para os dispositivos se comunicarem com a placa Arduino. Lembrando que os
dispositivos que utilizam o mesmo protocolo de comunicao, SPI para os shields RFID e SD,
e IC para os shields Display LCD e RTC, compartilham os mesmos canais de comunicao
(ou seja, os mesmos pinos).
A diferena entre os modos de acesso do Arduino a esses shields que na comunicao
via SPI (pinos 11, 12 e 13) os dispositivos possuem um pino distinto para seleo do chip (pino
10 para RFID e pino 8 para do SD) a ser utilizado. J na comunicao via IC, utilizado um
endereo para distinguir os shields (0x68 para o RTC e 0x20 para o display LCD).

56

Figura 29. Diagrama de blocos do sistema proposto.

4.2.

MONTAGEM E FUNCIONAMENTO DO SISTEMA

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.

Figura 30. Ligao entre os componentes do sistema.

58

Figura 31. Diagrama esquemtico do sistema.

59

4.2.1. Funcionamento do sistema

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.

Figura 32. Diagrama de captura da Shield RFID.

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

armazenado na memria, conforme fluxograma da Figura 33. Essa funo retorna


VERDADEIRO, caso o arquivo contenha um registro idntico String enviada como
parmetro, ou FALSO, caso contrrio.

Figura 33. Fluxograma da Funo VerificaCarto(String Card).

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

abrirFechadura() e por fim, gravado um registro em arquivo atravs da funo


gravarLogSim().
Quando a funo retorna FALSO, exibido no display LCD uma mensagem informando
que o acesso foi negado e, tambm gravado um registro em arquivo atravs da funo
gravarLogNao().
Torna-se importante a funo gravarLogNao() para verificar tentativas de acesso no
autorizados, seja por cartes desautorizados ou por qualquer outro carto que utilize a mesma
frequncia reconhecida pelo sistema. Na Figura 34 poder ser visto o contedo do arquivo
LOGIN.TXT, onde h alguns registros de acesso permitido e tambm de acessos negados.

Figura 34. Alguns registros gravados no arquivo LOGIN.TXT

Como os shields RFID e SD compartilham os mesmos pinos para comunicao com o


Arduino, necessrio atravs de um pino de seleo de chip (distinto para os dois), informar

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:

tempo[0] = S inteiro que corresponde aos segundos;

tempo[1] = M inteiro que corresponde aos minutos;

tempo[2] = H inteiro que corresponde as horas;

tempo[3] = DS inteiro que corresponde ao dia da semana. Varia de 0 at 6 e


corresponde respectivamente domingo, segunda, tera, quarta, quinta, sexta e
sbado;

tempo[4] = D inteiro que corresponde ao dia do ms.

tempo[5] = M inteiro que corresponde ao ms.

tempo[6] = A inteiro que corresponde ao ano.

63

5. EXPERIMENTOS

Para o desenvolvimento em hardware fundamental a realizao de testes antes da


fabricao do equipamento. Por isso, a plataforma Arduino se mostra ideal no desenvolvimento
de dispositivos programveis que tenham que exercer funes de controle, principalmente para
prototipagem de equipamentos em fase de projetos (EUZBIO; MELLO, 2011).
Esta fase do trabalho teve como objetivo o teste e comprovao do funcionamento do
projeto. As simulaes descrevem as possibilidades de configurao e funcionalidades que o
projeto possui para atender as necessidades do usurio. Os testes foram divididos em trs partes:
os testes de cada componente independente, os testes com incremento dos componentes e o
teste do prottipo completo.

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.

5.1.1. Teste do display LCD

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

Figura 35. Teste do display LCD (comunicao paralela).

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

Figura 36. Teste do display LCD (comunicao serial).

5.1.2. Teste do Shield RTC

Como j informado na seo 3.4.3.1, esse mdulo utiliza o mesmo protocolo de


comunicao (IC) com o Arduino. Para test-lo, foi realizada a conexo do mesmo com o
Arduino e carregado um cdigo de exemplo da biblioteca DS1307.h. A funo deste cdigo
requerer as informaes de hora, dia da semana e data e mostr-las a cada segundo no monitor
serial da IDE do Arduino. Na Figura 37 possvel visualizar o shield RTC funcionando
conectado ao Arduino, j a Figura 38 mostra uma captura de tela da IDE do Arduino com a
janela do monitor serial sobreposta com as informaes repassadas pelo Arduino.

66

Figura 37. Teste do Shield RTC.

Figura 38. Captura de tela da IDE Arduino com monitor serial (teste Shield RTC).

67

5.1.3. Teste do Shield RFID

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.

Figura 39. Teste do Shield RFID.

68

Figura 40. Captura de tela da IDE Arduino com monitor serial (teste Shield RFID).

Em destaque, na Figura 40, possvel ver o cdigo de identificao do carto RFID


aproximado ao sensor.

5.1.4. Teste do Shield SD

Para testar esse shield, necessrio introduzir um carto SD formatado no padro


FAT16 para cartes SD comuns, ou FAT32, no caso de cartes SDHC. Vale lembrar que a
biblioteca padro da IDE Arduino, SD.h s trabalha com o formato de nomes de arquivos 8.3,
onde s possvel nomear arquivos utilizando no mximo oito caracteres para o nome e trs
para a extenso.
Foi utilizado um cdigo-fonte de exemplo da biblioteca SD.h. Neste cdigo
inicializado o shield SD atravs de seu pino de seletor do chip. aberto um arquivo em modo
de gravao, onde escrito uma linha. Depois o arquivo fechado. Por fim, o mesmo arquivo

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.

Figura 41. Teste do Shield SD.

70

Figura 42. Captura de tela da IDE Arduino com monitor serial (teste Shield SD).

5.1.5. Teste do Shield Rel e do Fecho magntico

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

Figura 43. Teste do Shield Rel e Fecho magntico.

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.

5.2.1. Testes com o Display LCD e Shield RFID

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.

Figura 45. Teste do display LCD com o Shield RFID

73

5.2.2. Testes com o Display LCD e o Shield RTC

Os testes realizados para o funcionamento do display LCD e Shield RTC foram


realizados atravs do incremento do sketch j em trabalho, mas sem a presena do shield RFID
conectado ao sistema.
A Figura 46 apresenta o diagrama de blocos que define o teste. As informaes de
hora, dia da semana e data so solicitadas pelos Arduino ao shield RTC. Essas informaes so
mostradas no display LCD e no monitor serial da IDE do Arduino para conferencia. O sistema
aguarda 1 segundo e repete tudo indefinidamente atravs da funo loop(). Na Figura 47
mostrado a montagem dos dispositivos para os testes.

Figura 46. Diagrama de blocos para teste do Display LCD e Shield RTC.

74

Figura 47. Teste do display LCD com o Shield RTC.

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

Figura 49. Sequncia de imagens do teste.

77

5.3.

TESTE DO PROTTIPO COMPLETO

Aps realizar os testes em separado e os incrementais, o prximo passo foi testar o


funcionamento do prottipo completo. Como a funcionalidade do projeto passa pelo bom
funcionamento dos componentes, basicamente o cdigo-fonte completo a juno de todos os
testes realizados anteriormente. Na Figura 50, pode ser visto o diagrama de blocos que
representa o funcionamento do sistema como um todo.
Para verificar o bom funcionamento do sistema, mas especificamente, na gravao dos
dados de registro no carto SD, foi utilizado o monitor serial da IDE do Arduino para exibir
algumas mensagens.
Assim que o prottipo energizado, uma mensagem exibida no display LCD (Passe
seu carto). Sempre que um carto aproximado ao leitor RFID, sua ID capturada, e
armazenada numa String para posterior comparao.
O prximo passo, abrir o arquivo CARDS.TXT que contm todas as IDs com
permisso para acionar a fechadura. feito uma comparao entre a String armazenada e cada
linha do arquivo aberto. Caso haja alguma linha idntica, o shield rel ativado, liberando o
fecho magntico, gravado uma linha no arquivo LOGIN.TXT contendo a ID do carto, data,
hora e a mensagem Acesso Permitido!, e por fim exibido no display LCD essa mesma
mensagem, Acesso Permitido!.
Caso a ID do carto no seja idntica alguma linha desse arquivo, uma mensagem
exibida no display LCD informando que o acesso foi negado. Mesmo assim, ser gravado no
log do arquivo os dados desse carto, data e hora da tentativa de acesso seguido da mensagem,
Acesso Negado!.
Foram feitos inmeros testes, aproximando-se os cartes antena do shield RFID. Em
todas as ocorrncias, foram exibidas no monitor serial da IDE do Arduino a mesma mensagem
que foi gravada em arquivo.
Tantos foram os testes realizados com cartes que, reconhecidamente, tinham suas IDs
contidas no arquivo, como com cartes que no tinham suas IDs contidos no arquivo.
Na Figura 51 possvel ver as mensagens que foram exibidas no monitor serial. Na
Figura 52 mostrado o prottipo do sistema em teste.

78

Figura 50. Diagrama de blocos do sistema completo.

79

Figura 51. Captura de tela da IDE Arduino com monitor serial (mensagens de gravao de log).

Figura 52. Teste do prottipo completo.

80

Para finalizar, todos os componentes do projeto desenvolvido foram acondicionados


numa caixa plstica, feitas suas devidas conexes e realizados novos testes para conferir seu
bom funcionamento. Na Figuras 53 pode ser visto como ficou o sistema montado (parte
externa). J na Figura 54 pode ser visto sua parte interna com seus componentes e ligaes.

Figura 53. Sistema montado (parte externa)

81

Figura 54. Sistema montado (parte interna)

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. CONCLUSO E PERSPECTIVAS DE TRABALHOS FUTUROS

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).

Quadro 4. Lista de componentes utilizados


COMPONENTES

VALORES

Arduino Uno R3 Original

R$ 87,00

Kit RFID com 1 carto e 1 tag RFID

R$ 59,90

Mdulo Carto SD Card (Shield SD)

R$ 14,90

Real Time Clock (RTC)

R$ 18,90

Shield Rel

R$ 13,50

Buzzer

R$ 2,00

Regulador de tenso LM7805

R$ 3,00

Cabos, chaves e conectores

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

AMERICANAS. Fechaduras, dobradias e cadeados. 2014. Disponvel em


<http://www.americanas.com.br/sublinha/287530/ferramentas-e-jardim/equipamentos-deseguranca/fechaduras-dobradicas-e-cadeados>. Acessado em 26 julho 2014.
ADAFRUIT. BreadBoard. 2014. Disponvel em<https://learn.adafruit.com/boarduinokits/overview>. Acessado em 30 julho 2014.
ARDUINO. Arduino Home Page. 2014. Disponvel em <http://arduino.cc>. Acessado em 19
julho 2014.
ATMEL. Atmel Corporation. 2014. Disponvel em
<http://www.atmel.com/pt/br/devices/ATMEGA328.aspx>. Acessado em 19 julho 2014.
BANZI, M. Primeiros Passos com o Arduino. 1. ed. So Paulo: OReilly Novatec, 2012.
BORGES, A.V. Abertura de Portas Distncia via SMS. Cadernos Temticos, Projetos de
Engenharia de Computao, vol.1, no.2, 2.sem, Centro Universitrio de Braslia (UniCEUB),
Braslia, 2010.
BRASUINO. Brasuino BS1. 2014. Disponvel em <http://brasuino.holoscopio.com/>.
Acessado em 30 julho 2014.
BYTE PARAFIGM. Introduction to IC and SPI protocols. 2014. Disponvel em
<http://www.byteparadigm.com/applications/introduction-to-i2c-and-spiprotocols/?/article/AA-00255/22/Introduction-to-SPI-and-IC-protocols.html>. Acessado em
30 julho 2014.
CAMARA, R. Barramento e Protocolo IC. Notas de Aula 2013. Universidade Federal do
Vale do So Francisco UNIVASF, 2014.
CHIOSZ ROBOTS. RFID Mifare Card Read Antenna RC522 writer IC Card Proximity
Module. 2014. Disponvel em <https://chioszrobots.files.wordpress.com/2014/05/rfid-readerwriter-rc522-chiosz-robots-7.jpg>. Acessado em 20 julho 2014.
CIRCULAR. Avelino. 2014. Disponvel em
<https://www.circuitar.com.br/nanoshields/modulos/alevino/>. Acessado em 30 julho 2014.
COELHO, J.F.; MAIA, V. Projeto de uma Trava Eltrica Microprocessada. 5 Encontro
Cientifico Cultural Interinstitucional (ECCI), Coordenadoria de Pesquisa e Extenso
(COOPEX), Faculdade Assis Gurgacz, Paran, 2007.
CORE ELECTRONICS. Real Time Clock Module (DS1307) V1.1. 2014. Disponvel em
<https://core-electronics.com.au/index.php/sensors-modules/date-time/real-time-clockmodule-ds1307-v1-1.html>. Acessado em 20 julho 2014.

87

EUZBIO, M.V.M.; MELLO E.R. DroidLar: Automao residencial atravs de um


celular Android. Artigo Acadmico. IF-SC, 2011.
FREEDUINO. 2014. Nome do Microcontrolador do Rei Arduino. Disponvel em
<http://www.freeduino.org/duino.html>. Acessado em 19 julho 2014.
GETECH. Arduino SD card Module. 2014. Disponvel em
<http://www.geeetech.com/wiki/index.php/Arduino_SD_card_Module>. Acessado em 20
julho 2014.
GIMENEZ, S.P. Microcontroladores 8051. 1. ed. So Paulo: Pearson, 2005.
GROOVER, M.P. Automation, Production Systems and Computer Integrated
Manufacturing Systems. 2. ed. New Jersey, USA: Prentice Hall, 1987.
HOLDINGS, A. Rapid prototyping for microcontrollers. Cambridge, UK. Disponvel em
<http://www.mbed.org>. Acessado em 18 julho 2014.
IBIAPINA, K.; NETO, E.; NUNES, H. Sistema de Controle do Fluxo de Funcionrios
Utilizando Leitor Biomtrico. Engenharia de Computao em Revista, IESAM, 2010.
LABORATRIO DE GARAGEM. Tutorial: Comunicao SPI (Serial Peripheral
Interface) com Arduino. 2012. Disponvel em
<http://labdegaragem.com/profiles/blogs/tutorial-comunica-o-spi-serial-peripheral-interfacecom-arduino>. Acessado em 20 julho 2014.
LABORATRIO DE GARAGEM. Garagino Rev1. 2014a. Disponvel
em<http://www.labdegaragem.org/loja/garagino-4/placas-garagino/garagino-rev1.html>.
Acessado em 30 julho 2014.
LABORATRIO DE GARAGEM. Mdulo Rele. 2014b. Disponvel em
<http://www.labdegaragem.org/loja/modulo-rele-10a.html>. Acessado em 21 julho 2014.
LENZ, A.L. O Arduino Uno (ou Duemilanove) Aplicado a uma EVSE (SAE-J1772 CA
Nvel 2). 2013. Disponvel em <http://automoveiseletricos.blogspot.com.br/2012/10/oarduino-uno-ou-duemilanove-aplicado.html>. Acessado em 19 julho 2014.
LIQUIDWARE. Illuminato::Genesis. Disponvel em
<http://www.liquidware.com/shop/show/ILLI/Illuminato%3A%3AGenesis>. Acessado em 30
julho 2014.
LONGTECH. LCM1602A LCD. Product Data Sheet. Xiamen, 2009.
MANUTENO & SUPRIMENTOS. Fechaduras eletrnicas. 2014. Disponvel em:
<http://www.manutencaoesuprimentos.com.br/>. Acesso em 07 fevereiro 2014.
MAXIM INTEGRATED. DS1307 64 x 8, Serial, I2C Real-Time Clock. Product Data Sheet.
San Jose, 2008a.

88

MAXIM INTEGRATED. DS18B20 Programmable Resolution 1-Wire Digital Thermometer


(folha de especificaes). San Jose, 2008b.
MCROBERTS, M. Beginning Arduino. New York, USA: Apress, 2010.
METALAB. Metaboard. 2014. Disponvel em < https://metalab.at/wiki/Metaboard >.
Acessado em 30 julho 2014.
MINIINTHEBOX. Display LCD 1602. 2014. Disponvel em
<http://miniimg1.rightinthebox.com/images/384x384/201206/ukqsku1339666209963.jpg>.
Acessado em 21 julho 2014.
MIORANZA, G.B.; ESTEVES, M.P.; SEMKIV, J.E. Casa Inteligente. 2013. Disponvel em:
<http://www.ficiencias.org>. Acessado em 03 fevereiro 2014.
MONK, S. 30 Arduino Projects for the Evil Genius. Nova Iorque, USA: McGraw-Hill, 2010.
MORAES. M. Sistema de Segurana e Controle de Acesso com RFID e Arduino. 2013.
Disponvel em <http://arduinobymyself.blogspot.com.br/2013/06/sistema-de-seguranca-econtrole-de.html>. Acessado em 20 julho 2014.
MORIMOTO, C.E. Rel (Relay). Guia do Hardware. 26 junho 2005. Disponvel em
<http://www.hardware.com.br/termos/rele-relay>. Acessado em 21 julho 2014.
NEWEGG. IIC I2C TWI SPI Serial Interface Board Module Port For Arduino LCD1602
Display. 2014. Disponvel em
<http://images10.newegg.com/NeweggImage/ProductImageCompressAll300/A2C5_1302336
403200781258rLYYoazuh.jpg>. Acessado em 21 julho 2014.
NUNES, A.C. Desenvolvimento de um Controle de Demanda de Energia Eltrica
Residencial. 2012. 81 f. Monografia (Especialista em Desenvolvimento de Produtos
Eletrnicos) Instituto Federal de Educao, Cincia e Tecnologia de Santa Catarina. Santa
Catarina, 2012.
NXP. MFRC522 Standard 3V MIFARE reader solution. Product Data Sheet Rev. 3.7. NXP
Semiconductors. 26 maro 2014.
NXP. SC16IS740/750/760 Single UART with IC-bus/SPI interface, 64 bytes of transmit
and receive FIFOs, IrDA SIR built-in support. Product Data Sheet Rev. 7 9 junho 2011.
NXP Semiconductors, 2014.
NXP. P82B715 IC-bus extender. Product Data Sheet Rev. 8. NXP Semiconductors, 2009.
NXP. UM10204 IC-bus specification and user manual. Product Data Sheet Rev. 6. NXP
Semiconductors, 2014.
OXER, J.; BLEMINGS, H. Practical Arduino: Cool Projects for Open Source Hardware.
Nova Iorque, USA: Apress, 2010.

89

PEIXOTO, T.M. Sistema de Controle de Acesso utilizando Dispositivos Embarcados.


2013. 48 f. Trabalho de Concluso de Curso (Graduao em Cincia da Computao)
Universidade Federal de Juiz de Fora, Juiz de Fora, 2013.
PEREIRA, F. Microcontroladores PIC: Programao em C. So Paulo: rica, 2004.
RENNA, R.; BRASIL, R.; BEPPU, M.; FONCECA, E. Introduo ao kit de
desenvolvimento Arduino. Tutoriais PET-Tele. Sob superviso do professor Alexandre
Santos de la Veja. Universidade Federal Fluminense UFF. Niteri, 2013.
ROBOCORE. BlackBoard V1.0. 2014. Disponvel em
<https://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=530>. Acessado em
30 julho 2014.
ROBOTS ELECTRONICS. Using the I2C Bus. 2014. Disponvel em <http://www.robotelectronics.co.uk/acatalog/I2C_Tutorial.html>. Acessado em 21 julho 2014.
SACCO, F. Comunicao SPI. 2014. Disponvel em <http://www.embarcados.com.br/spiparte-1/>. Acessado em 20 julho 2014.
SEEED. Seeeduino V3.0. 2014. Disponvel em
<http://www.seeedstudio.com/depot/seeeduino-v22-atmega-328p-p-669.html?cPath=79_80>.
Acessado em 30 julho 2014.
SILVA, B.C.R.; CNDIDO, L.A.A. Sistema de Controle Residencial Baseado na
Plataforma Arduino. 2011. 49 f. Trabalho de Concluso de Curso (Graduao em Cincia da
Computao) Instituto Unificado de Ensino Superior Objetivo IUESO, Goinia, 2011.
SILVA, P.H.O. Sistema de Segurana de Tranca de Porta e Controle de Acesso. 2013. 78
f. Trabalho de Concluso de Curso (Graduao em Engenharia de Computao) Centro
Universitrio de Braslia (UniCEUB), Braslia, 2013.
SILVEIRA, J.A. Cartilha de Programao em C para Arduino. Disponvel em:
<http://www.revistadoarduino.com.br/>. Acesso em 07 fevereiro 2014.
SOARES, M.J. Microcontroladores PIC: Teoria. Revista Mecatrnica Fcil, n. 6.
Setembro/Outubro 2002. Disponvel em
<http://www.arnerobotics.com.br/eletronica/Microcontrolador_PIC_teoria_1.htm>. Acessado
em 19 julho 2014.
SOLARBOTICS. SB-Freeduino. 2014. Disponvel em
<https://solarbotics.com/product/28920/>. Acessado em 30 julho 2014.
SOUZA, A. et al. A placa Arduino: uma opo de baixo custo para experincias de fsica
assistidas pelo PC. Rev. Bras. Ensino Fs. vol.33 no.1 So Paulo Jan./Mar. 2011.
TOTALPHASE. IC Background. 2014. Disponvel em
<http://www.totalphase.com/support/articles/200349156-I2C-Background>. Acessado em 21
julho 2014.

90

TRASTEJANT. El Display LCD. 2014. Disponvel em


<http://www.trastejant.es/tutoriales/arduino/lclcd.html>. Acessado em 21 julho 2014.
WEBTRONICO. Buzzer DC 5V. 2014. Disponvel em <http://www.webtronico.com/buzzerdc-5v.html>. Acessado em 21 julho 2014.

Você também pode gostar