Arduino – Cancela Controlada por RFID

Arduino – Cancela Controlada por RFID

O uso do RFID é algo bastante comum, seja para identificar produtos, objetos, animais e até mesmo para controle de acesso em vários tipos de ambiente. Com intuito de demonstrar uma das aplicações desta tecnologia, criei um protótipo de uma cancela que é acionada mediante a leitura de uma TAG RFID que está inserida na parte debaixo de um veículo, e a partir desta leitura algumas ações são executadas pelo Arduino.

O RFID (Radio Frequency Identification ou Identificação por radiofrequência, em português) é uma tecnologia que utiliza radiofrequência para coletar dados. Essa tecnologia permite que uma tag seja lida sem um campo de visão, portanto, mesmo que exista barreiras ou objetos a leitura da tag poderá ser feita. A leitura dos dados acontece em tempo real sem a necessidade de intervenção manual ou visual, o que torna a tecnologia bem eficiente.

Uma tag ou etiqueta RFID é composta basicamente por um circuito eletrônico que tem a capacidade de armazenar diversas informações. No caso das tags voltadas para controle de acesso, cada uma possui um UID (User ID ou identificação do usuário, em português) e a partir deste identificador é que um sistema determina se a tag tem acesso liberado ou negado. Há tags em diversos formatos, contudo, as mais comuns são do tipo cartão e do tipo chaveiro.

A tecnologia RFID é aplicada a diversos setores e como exemplo podemos citar, o controle de tráfego de pessoas (indústria ou instituição de ensino) ou em supermercados, onde os produtos possuem uma tag RFID e ao final da compra o cliente só precisa passar o carrinho com os produtos por um leitor RFID de médio porte para que as tags dos produtos sejam lidas e o valor final da compra seja apresentado ao cliente.

O RFID também é muito aplicado em pequenos projetos com plataformas embarcadas / microcontroladas. Como exemplo, temos o Arduino que comumente é associado a projetos com RFID, onde a partir da leitura de uma tag uma ação pode ser executada através da plataforma.

O protótipo que criei para esta postagem é basicamente a junção do Arduino com o RFID para fazer o acionamento de uma cancela que é representada por um servo motor. Se o identificador da tag lida pelo leitor for igual ao UID inserido no código carregado no Arduino, o acesso será autorizado e a cancela será acionada para dar passagem ao veículo, e em seguida a cancela fecha a passagem novamente. Caso o UID lido seja diferente do identificador inserido no código carregado no Arduino, o acesso será negado e a cancela permanece imóvel.

Para deixar o protótipo mais interessante, adicionei um display OLED para mostrar algumas informações e coloquei também dois LEDs para sinalizar acesso autorizado e acesso negado.

Para montagem do protótipo utilizei:

Arduino Uno R3 com Cabo USB A/B
KIT com Leitor RFID MFRC522
Tag (Chaveiro) RFID 13.56MHz
Servo Motor SG90
Display OLED 128×64 0.96″ I2C Azul
Fonte DC 9V 1A Bivolt Chaveada
Cabo Jumper Macho-macho
Cabo Jumper Macho-fêmea
LED Difuso 5MM Vermelho
LED Difuso 5MM Verde
Resistor de 150Ω

Além dos itens mencionados acima, utilizei também isopor para criação da maquete, cola quente para fixar os componentes do projeto, pedaço de tubo plástico para simular a barreira da cancela, cabo de par trançado (cabo de rede) para fazer as conexões ao Arduino e ferro de solda para soldagem das conexões entre os cabos.

Para fazer o acionamento da cancela, será necessário que a tag seja lida pelo leitor RFID e em seguida validada pelo Arduino. Desta forma, é necessário inserir o UID da tag dentro do código para que a validação seja realizada.

Inicialmente monte o esquema de ligação abaixo entre o leitor RFID e o Arduino para capturar os UIDs das tags:

ATENÇÃO: FAÇA TODAS AS LIGAÇÕES COM SEU ARDUINO DESCONECTADO DA ALIMENTAÇÃO.

img01_arduino_cancela_controlada_por_rfid_servo_motor_sg90_display_oled_tag_cartao_chaveiro_automacao_controle_acesso_uno_mega_2560

Feito o esquema de ligação, será necessário instalar algumas bibliotecas na IDE do Arduino para em seguida carregar o código. A biblioteca MFRC522 é responsável pelo controle do leitor RFID e as bibliotecas Adafruit_GFX_Library e Adafruit_SSD1306 nos permite fazer controle e escrita no display OLED:

Download Biblioteca MFRC522

Download Biblioteca Adafruit_GFX_Library

Download Biblioteca Adafruit_SSD1306

Se você não sabe como fazer a instalação de bibliotecas na IDE, acesse o link abaixo e em seguida retorne para continuar:

Arduino – Importando bibliotecas para a IDE

Carregue o código abaixo para identificar os UIDs das tags:

Após o carregamento do código abra o monitor serial na IDE do Arduino e em seguida aproxime do leitor uma das tags para que a leitura seja realizada. Note que no monitor serial vai aparecer o identificador da tag:

img03_arduino_cancela_controlada_por_rfid_servo_motor_sg90_display_oled_tag_cartao_chaveiro_automacao_controle_acesso_uno_mega_2560

Salve este UID em um bloco de notas. Execute este procedimento para as demais tags que deseja obter o identificador.

Em seguida, desconecte o cabo USB do computador e complete o esquema de ligação conforme a imagem abaixo:

ATENÇÃO: FAÇA TODAS AS LIGAÇÕES COM SEU ARDUINO DESCONECTADO DA ALIMENTAÇÃO.

img02_arduino_cancela_controlada_por_rfid_servo_motor_sg90_display_oled_tag_cartao_chaveiro_automacao_controle_acesso_uno_mega_2560

(Clique na imagem para ampliar)

Você pode montar o esquema acima em uma protoboard, por exemplo. Eu optei por fazer uma pequena maquete para representar bem esta aplicação. Na galeria de imagens abaixo você pode ver algumas fotos do processo de montagem:

Independente se você montou o esquema na protoboard ou fez um protótipo similar ao que fiz, a proposta final será a mesma em ambos.

Antes de carregar o código abaixo no Arduino, substitua o texto D0:64:BB:4F na linha “if (strID.indexOf(“D0:64:BB:4F”) >= 0) {” pelo UID da tag que irá acionar a cancela. Qualquer outro UID diferente do identificador que você inserir no código terá acesso negado.

Em seguida, conecte a fonte de alimentação na tomada e no plug jack do Arduino, e por fim conecte o cabo USB novamente no Arduino e faça upload do código.

No vídeo abaixo você pode ver o resultado final do protótipo da cancela controlada através de RFID:

O primeiro veículo teve o acesso negado, pois a tag inserida no mesmo não está autorizada a acionar a cancela. Já o segundo veículo teve o acesso autorizado para acionar a cancela, pois a tag do mesmo condiz com o UID que foi inserido no código carregado no Arduino para validação de acesso.

Neste protótipo você pôde ver um exemplo comum de uso da tecnologia de RFID. Conforme informando anteriormente, há muitas outras situações em que esta tecnologia pode ser aplicada.

Espero que tenha gostado do resultado final deste pequeno projeto.

Gostou deste tutorial? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.

Arduino – Cancela Controlada por RFID
2 votos / Média de avaliação: 5 / Pontuação: 100%


Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação pela Faculdade Presidente Antônio Carlos, fundador e CEO da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 4 comentários para esta postagem
    • Euler Oliveira Autor às 15:14

      Olá Jander.

      Na linha if (strID.indexOf(“D0:64:BB:4F”) >= 0) basta adicionar a condicional OU e as UIDs das novas tags.

      Exemplo:

      Veja que a condicional OU é representada pelas barras || e as novas UIDs são A0:56:FG:9B e E9:55:OH:7T. Caso a tag lida corresponda a alguma das UIDs inseridas, a cancela será aberta.

    • Euler Oliveira Autor às 07:14

      Olá Almeida.

      Todo o projeto está disponível neste artigo.

      Basta ler todo o artigo e fazer conforme eu expliquei e usar os códigos que disponibilizei.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *