Buscar

Relatório de Porta Controlada por Arduino com RFID

Prévia do material em texto

Porta Inteligente: automatização por módulo RFID 
1Bárbara Rodrigues Meneguini dos Santos, 1Marcus Vinícius Santos Silva, 1Maria Eduarda Soares Viana, 
1Matheus Vitor Fernandes Pimenta, 1Rêmulo Lopes de Assis Lima. 
1Turma 34B – curso ABI Engenharias. 
16 de maio de 2019. 
O projeto realizado consta de um protótipo para uma porta inteligente. Assim, neste projeto o mecanismo 
de abertura da fechadura será por meio de um módulo RFID. Dessa forma, para que a porta seja aberta é 
necessário ter os dados do cartão cadastrados na programação do Arduino, caso contrário, a fechadura não 
abrirá, restringindo assim o acesso dessa pessoa ao local. Além disso, é possível por meio do módulo 
RTC medir o tempo e a temperatura, em que é possível utilizar essas variáveis para o acionamento da 
trava. 
 
1. Introdução 
As pessoas vêm buscando 
constantemente soluções modernas que tornem 
a vida mais prática, rápida, segura, confortável 
e econômica. Assim, cada vez mais a 
tecnologia se expande e evolui a fim de 
satisfazer as necessidades humanas e trazer 
maior qualidade de vida. Com base nisso, 
trabalhar em soluções que se encaixam nessa 
realidade é imprescindível e desafiadora, visto 
que nem sempre se consegue atingir todos os 
requisitos e obter um produto de qualidade. 
Pensando nisso, este trabalho apresentará um 
protótipo capaz de destravar uma porta de 
forma inteligente. 
RFID (Radio Frequency Identification 
ou Identificação por radiofrequência) se baseia 
em leitura e gravação de dados por meio de 
sinais de rádio em uma tag RFID (que pode 
ser em forma de cartão ou chaveiro). Tal 
tecnologia possui diversas aplicações, como 
armazenar informações de algum produto, 
sistema de rastreamento, passaportes, controle 
de acessos, entre outros. [1] 
Assim, têm-se diversas vantagens para 
o uso da impressão do RFID, como: maior 
segurança, diminuição de custos, maior 
praticidade, tornar desnecessário o uso de 
chaves, rapidez e conforto. 
Dessa forma, o método escolhido para 
abrir uma porta de forma inteligente foi por tal 
mecanismo, visto a gama de vantagens que 
possui e todo o potencial que tem para ser 
desenvolvido. Assim, este protótipo consistirá 
em destravar a fechadura de uma porta por 
meio de uma tag RFID. Além disso, foram 
utilizadas variáveis como tempo e temperatura 
como uma forma de acionamento que abre 
possibilidades para o uso da fechadura. Então, 
as tags que se aproximarem do módulo e 
estiverem autorizadas no código utilizado 
destrancará a porta e terá a sua passagem 
liberada e quando uma tag não autorizada é 
utilizada, a porta não é destrancada, 
restringindo o acesso ao recinto. Se for 
utilizado o tempo, é possível manter a porta 
destrancada em determinado período de 
tempo, ou no caso da temperatura, se 
determinada temperatura for atingida, há o 
acionamento da trava. 
2. Métodos 
2.1 Modelo Teórico 
Na porta inteligente, o componente 
responsável pelo travamento da porta é a trava 
solenoide. 
 
Figura 1: Trava solenoide 
A trava solenoide consiste em uma 
bobina com um núcleo de material condutor. 
Quando a bobina é energizada, ocorre a 
geração de um dipolo magnético uniforme no 
interior da bobina que faz com que o núcleo 
seja retraído, destravando a porta. 
 O controle do travamento da porta é 
realizado pelo relê. O relê é um dispositivo 
que funciona da mesma forma que a trava 
solenoide, porém acionamento dele é feito 
através de um sinal transmitido pelo Arduino e 
não somente pelo contato com eletricidade. 
Além disso, o núcleo dele movimenta uma 
chave que promove uma continuidade de 
corrente em outro circuito. 
 
Figura 2: Interior de um relê [2] 
 As informações sobre o estado de 
travamento da porta, data e hora e temperatura 
são exibidas no display LCD. O LCD é 
composto por cristais líquidos que são 
substâncias transparentes que ficam opacas 
quando recebem corrente elétrica, isso faz com 
que o display fique aceso ou apagado. Para 
receber corrente elétrica há eletrodos no 
interior do display que ficam dentro de placas 
de vidros que por sua vez ficam dentro de 
polarizadores que controlam a quantidade de 
luz que entra para cada pixel. No fundo do 
display há uma luz de fundo única que emite 
luz em todo o display. [3] 
 
Figura 3: Camadas básicas do display [3] 
O display utilizado é monocromático 
com espaço para 16 caracteres em 2 linhas. 
 
Figura 4: Display LCD [4] 
 As informações sobre data, hora e 
temperatura são obtidas através do módulo 
RTC (Real Time Clock). A marcação do 
tempo é possível devido a uma bateria que é 
inserida no módulo, que funcionam da mesma 
forma que uma bateria de placa mãe de um 
computador. Assim, toda vez que é ligado ele 
vai exibir a hora atual. 
 O relógio funciona como um relógio 
digital. O circuito é formado por diferentes 
blocos para contagem dos segundos, minutos e 
assim por diante. Para que a menor marcação 
de tempo (segundos) seja feita, há um 
oscilador responsável por emitir pulsos de 
1Hz. E a partir dos segundos ele realiza a 
contagem do restante das medidas de tempo. 
[5] 
 A imagem a seguir esquematiza o 
circuito que está integrado ao módulo: 
Figura 5: Diagrama de blocos do relógio 
digital [5] 
 O sensor RFID é composto por uma 
antena, que converte as ondas de rádio em 
informações digitais, onde ela capta o sinal do 
cartão ou da tag (que funcionam como um 
transponder), um transceptor que faz a leitura 
do sinal digital e manda para o Arduino. [6] 
 
Figura 6: Sensor RFID e tag 
2.2 Métodos Experimentais 
Os instrumentos utilizados no 
experimento foram um Arduino UNO, um 
sensor RFID, um sensor RTC (modelo 
DS3232), uma trava solenoide, um módulo 
relé, uma fonte de tensão de 12V, um display 
LCD, jumpers, uma protoboard, placas de 
MDF, dobradiça, parafusos, alicate, chave 
philips. 
Os jumpers que foram utilizados nas 
portas de conexão do Arduino e do sensor 
RFID fazem as seguintes conexões: 
• Pino SDA ligado na porta 10; 
• Pino SCK ligado na porta 13; 
• Pino MOSI ligado na porta 11; 
• Pino MISO ligado na porta 12; 
• Pino GND ligado no pino GND; 
• Pino RST ligado na porta 9; 
• Pino 3.3V ligado ao pino 3V3. 
Também foram utilizados na ligação 
das portas de 2 à 7 do Arduino com o display 
LCD. 
A recepção do sinal do módulo relé foi 
ligada na porta 4 do Arduíno e sua 
alimentação foi de 5V. Posteriormente, o relé 
foi ligado à fechadura de solenoide e à fonte 
de tensão, funcionando como um interruptor. 
Além disso, foi utilizado um sensor 
RTC para marcar temperatura, data e hora. Ele 
foi conectado às portas analógicas do Arduino 
e é alimentado com 5V. 
As placas de MDF foram utilizadas 
para confecção da porta inteligente, e o display 
LCD foi utilizado para avisar quando o acesso 
à porta foi liberado ou negado assim que o 
cartão ou chaveiro se aproximasse do sensor. 
Além disso, exibe a temperatura, data e 
horário. 
Figura 7: Circuito montado [7] 
3. Discussões 
A tabela abaixo mostra os valores de 
cada material utilizado no desenvolvimento do 
projeto. 
Materiais utilizados Preço 
Arduino UNO R$ 23,99* 
Módulo RFID R$ 19,99* 
Módulo RTC R$ 12,80* 
Fechadura solenoide 
Display LCD 
R$ 39,45* 
R$ 15,21 
Módulo Relé R$ 9,90* 
Fonte de tensão R$ 12,90* 
Jumpers R$ 6,90* 
Placas de MDF R$ 24,00 
Dobradiça R$ 3,28* 
Custo total R$ 169,12 
Tabela 1: Custo geral do projeto. *Materiais 
que não precisaram ser comprados. 
Abaixo, segue a programação inserida 
no Arduino para fazer o protótipo funcionar e 
uma breve explicação do seu funcionamento. 
• Inclusão das bibliotecas: 
#include <SPI.h> 
#include <MFRC522.h> 
#include <LiquidCrystal.h> 
#include <Time.h> 
#include <DS3232RTC.h> 
#include <Wire.h> 
 
• Definição dos pinos: 
#define SS_PIN 10 //sensor RFID 
#define RST_PIN 9 //sensor RFID 
#define pinTrava 8 //relê 
 
• Iniciar módulos: 
MFRC522mfrc522(SS_PIN, RST_PIN); 
LiquidCrystal lcd(6,7,5,4,3,2); 
 
onde o MFRC522 é o sensor RFID e o 
LiquidCrystal é o Display LCD. 
• Função “setup”, que é executada uma vez 
e configura os módulos: 
void setup() 
{ 
 pinMode(pinTrava, OUTPUT); 
 digitalWrite(pinTrava, HIGH); 
 Serial.begin(9600) 
 SPI.begin(); 
 mfrc522.PCD_Init(); 
 lcd.begin(16, 2); 
 lcd.createChar(1, ordinal); 
 mensageminicial(); 
 setSyncProvider(RTC.get); 
 if(timeStatus() != timeSet) 
 Serial.println("Nao foi 
possivel sincronizar com o RTC"); 
else { 
 Serial.println("O RTC definiu o 
horario do sistema"); 
} 
 
• Função “loop”, que é executada com 
periodicidade: 
void loop() 
{ 
 lcd.setCursor(0,1); 
 lcd.print(" "); 
//Imprimindo o Mês 
 printI00(month(),0,3); 
 lcd.setCursor(2,1); 
 lcd.print("/"); 
//Imprimindo o Dia 
 printI00(day(),0,0); 
//Imprimindo a Hora 
 printI00(hour(),0,6); 
 lcd.setCursor(8,1); 
 lcd.print(":"); 
//Imprimindo o Minuto 
 printI00(minute(),0,9); 
 lcd.setCursor(11,1); 
 lcd.print(":"); 
//Imprimindo o Segundo 
 printI00(second(),0,12); 
 
 Esse trecho imprime no display LCD a 
data e o horário. Para que o horário exibido 
fique disposto de forma mais amigável é 
utilizada a seguinte função (fora do loop): 
void printI00(int val, char 
delim, int setinha) 
{ 
 if (val < 10) { 
 lcd.setCursor(setinha,1); 
 lcd.print("0"); 
 lcd.setCursor(setinha+1,1); 
 lcd.print(val); 
 } else { 
 lcd.setCursor(setinha,1); 
 lcd.print(val); 
 } 
 return; 
} 
 
• Exibição da temperatura no display LCD 
temperatura = RTC.temperature() / 
4; 
 lcd.setCursor(12,0); 
 lcd.print(" "); 
 lcd.setCursor(12,0); 
 lcd.print(temperatura); 
 lcd.setCursor(14,0); 
 lcd.write(1); 
 lcd.setCursor(15,0); 
 lcd.print("C"); 
 
• Caso haja um acionamento da trava em 
determinado período de tempo: 
if (hour() >= 8 and hour() <= 
12){ 
 digitalWrite(pinTrava, LOW); 
 Serial.print("Aberto\n"); 
 } else { 
 digitalWrite(pinTrava, HIGH); 
 Serial.print("Fechado\n"); 
 } 
 
• Acionamento da trava pelo Módulo RFID, 
onde uma mensagem é exibida no display 
LCD, informando a autorização: 
if (conteudo.substring(1) == "C0 
A5 24 D9") { 
 lcd.clear(); 
 lcd.setCursor(0,0); 
 lcd.print("Bem vindo!"); 
 lcd.setCursor(0,1); 
 lcd.print("Acesso 
liberado!"); 
 digitalWrite(pinTrava, LOW); 
 delay(3000); 
 digitalWrite(pinTrava, HIGH); 
 mensageminicial(); 
} else { 
 lcd.clear(); 
 lcd.setCursor(0,0); 
 lcd.print("Nao 
identificado"); 
 lcd.setCursor(0,1); 
 lcd.print("Acesso Negado !"); 
 delay(3000); 
 mensageminicial(); 
 } 
} 
 
• Função da mensagem inicial do display 
(fora do loop): 
void mensageminicial() 
{ 
 lcd.setCursor(0,0); 
 if (hour() >= 6 and hour() < 
12){ 
 lcd.print(" "); 
 lcd.setCursor(0,0); 
 lcd.print("Bom dia!"); 
 } 
 if (hour() >= 12 and hour() < 
18){ 
 lcd.print(" "); 
 lcd.setCursor(0,0); 
 lcd.print("Boa tarde!"); 
 } 
 if (hour() >= 18 and hour() < 
24){ 
 lcd.print(" "); 
 lcd.setCursor(0,0); 
 lcd.print("Boa noite!"); 
 } 
 if (hour() >= 0 and hour() < 
6){ 
 lcd.print(" "); 
 lcd.setCursor(0,0); 
 lcd.print("Boa noite!"); 
 } 
} 
 
 A montagem do circuito ficou da 
seguinte forma: 
 
Figura 8: Projeto acabado 
 A partir de testes realizados é notável 
uma interferência da fonte de 12V no circuito, 
pois o display LCD fica desconfigurado. Isso 
acontece porque o relê utilizado não tem uma 
separação entre os circuitos. Para resolver o 
problema deveria ter sido utilizado um relê 
com “trigger”. Em alguns modelos, o “trigger” 
é uma parte do relê que possui um emissor 
infravermelho e um receptor, onde a 
informação é transmitida pela luz, 
promovendo um isolamento dos circuitos. 
4. Conclusão 
 De acordo com os resultados obtidos, 
pode-se inferir que a parte básica do projeto 
foi realizada com sucesso, visto que o objetivo 
principal era fazer com que a porta fosse 
aberta de uma maneira inteligente e tal 
processo foi realizado com o módulo RFID. 
Por outro lado, o protótipo do pré-
projeto que seria a abertura da porta pelo 
aparelho biométrico não foi realizado, uma 
vez que enfrentamos dificuldades com o 
fornecedor do sensor. 
Para melhorias do projeto, poderíamos 
colocar um banco de dados para 
armazenamento de mais IDs de cartões e 
inserção de lembretes no display. 
Referências 
[1] ARDUINO E CIA. Controle de acesso 
com módulo RFID RC522. Disponível em: 
<https://www.arduinoecia.com.br/controle-de-
acesso-modulo-rfid-rc522/>. Acesso em: 07 
dez. 2019. 
[2] MUNDO DA ELÉTRICA. Como funciona 
um relé? O que é um relé?. Disponível em: 
<https://www.mundodaeletrica.com.br/como-
funciona-um-rele-o-que-e-um-rele/>. Acesso 
em 09 dez. 2019 
[3] HARDWARE.COM.BR Hardware Manual 
Completo - Como funciona o LCD. 
Disponível em: <https://www.hardware.com. 
br/livros/hardwarh-manual/como-funciona-
lcd.html>. Acesso em 09 dez. 2019 
[4] FILIPEFLOP. Display LCD 16×2 
Backlight Azul. Disponível em: 
<https://www.filipeflop.com/produto/display-
lcd-16x2-backlight-azul/>. Acesso em 09 dez. 
2019 
[5] NEWTON C. BRAGA. Como funciona o 
relógio digital (ART532). Disponível em: 
<https://www.newtoncbraga.com.br/index.php
/como-funciona/3901-art532>. Acesso em 09 
dez. 2019 
[6] TECMUNDO. Como funciona a RFID?. 
Disponível em: <https://www.tecmundo.com.br/ 
tendencias/2601-como-funciona-a-rfid-.htm>. 
Acesso em 09 dez. 2019 
[7] Imagem montada utilizando o software 
Fritzing. 
 
 
 
 
 
 
 
 
https://www.arduinoecia.com.br/controle-de-acesso-modulo-rfid-rc522/
https://www.arduinoecia.com.br/controle-de-acesso-modulo-rfid-rc522/

Continue navegando