A tecnologia RFID (Radio Frequency Identification) já está presente em nosso meio a um bom tempo. RFID pode ser visto no dia-a-dia, por exemplo em ônibus quanto passamos o cartão da passagem, quando saímos do estacionamento do shopping ou quando passamos na catraca da empresa. Basta aproximar o cartão RFID de um leitor e uma ação será realizada. Outras áreas de aplicação são: identificação de produtos em armazéns, rastreamento de cargas, identificação de animais e até mesmo para armazenamento de dados pessoais.
Aprenda neste tutorial como fazer uso desta tecnologia montando um sistema de abertura de caixa usando uma mini trava elétrica solenoide, Arduino e leitor RFID. Você poderá ir além aplicando os conceitos deste projeto na gaveta da estante, porta do armário ou em qualquer compartimento onde você queira fazer o controle de acesso usando uma trava elétrica e um cartão RFID.
Material Utilizado
Para o circuito da trava elétrica com RFID vamos utilizar o seguinte material:
- 1x Mini trava elétrica Solenoide 12V
- 1x Módulo Relé 5V 1 Canal
- 1x Kit módulo leitor RFID Mrfc522 Mifare
- 1X LED Verde
- 1X LED Vermelho
- 2x Resistor 1K ohm
- 1x Arduino UNO R3
- 1x fonte de 9-12V
Funcionamento da Trava Elétrica Solenoide
A trava elétrica solenoide funciona aplicando uma tensão de 12V em seus terminais. Então o pino da trava é recolhido, mantendo-se na posição enquanto a tensão estiver sendo aplicada. Quando não há tensão, o pino volta ao seu estado normal. A trava foi testada também com uma fonte de 9V e notou-se apenas que a força de recolhimento foi reduzida, mas não impediu o funcionamento.
Como o Arduino trabalha em seus pinos apenas com 5V e uma corrente relativamente baixa (20mA) para acionamento de dispositivos, um relé pode ser usado para acionar dispositivos que requerem mais de 5V e correntes maiores como é o caso da trava elétrica solenoide. A trava elétrica solenóide precisa de 12V e 600mA para funcionar corretamente.
Conexão do leitor RFID no Arduino
O módulo RFID utiliza o protocolo de comunicação SPI e pode ser facilmente conectado ao Arduino da forma indicada na tabela abaixo:
Montagem do Circuito trava elétrica com RFID
O relé possui dois contatos, um normalmente aberto (Normal Open – NO) e outro normalmente fechado (Normal Closed – NC). Na montagem do circuito utilizamos o contato NO, assim, quando colocamos a porta digital do Arduino conectada ao pino S(Signal) do relé em HIGH(nível alto), o contato NO se fecha ativando a trava solenoide. Também foi colocado na proto-board um LED vermelho e outro verde para indicar o estado da trava.
Realize as conexões conforme o circuito a seguir:
Utilizamos também 2 LEDs, vermelho e verde, para indicar quando a fechadura está aberta e fechada.
Programação Arduino com leitor RFID e trava elétrica
Para que o Arduino comunique com o módulo RFID é necessário instalar a biblioteca MFRC522 pelo Gerenciador de Bibliotecas. Para isso clique em Sketch -> Incluir Biblioteca -> Gerenciador de Bibliotecas…
No campo de pesquisa procure por mfrc, selecione a biblioteca MFRC522 by GithubCommunity e clique em Instalar.
Então copie e cole o código abaixo na IDE Arduino
//Programa: Sistema de trava eletrica com RFID #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. void setup() { Serial.begin(9600); // Inicia a serial SPI.begin(); // Inicia SPI bus mfrc522.PCD_Init(); // Inicia MFRC522 Serial.println("Aproxime o seu cartao do leitor..."); Serial.println(); pinMode(2, OUTPUT); } void loop() { // Procura por cartao RFID if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Seleciona o cartao RFID if ( ! mfrc522.PICC_ReadCardSerial()) { return; } //Mostra UID na serial Serial.print("UID da tag :"); String conteudo= ""; byte letra; for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(mfrc522.uid.uidByte[i], HEX); conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); conteudo.concat(String(mfrc522.uid.uidByte[i], HEX)); } Serial.println(); Serial.print("Mensagem : "); conteudo.toUpperCase(); if (conteudo.substring(1) == "F3 DE 90 55") //UID 1 - Cartao { Serial.println("Ola FILIPEFLOP !"); Serial.println(); digitalWrite(2, HIGH); // ativa rele, abre a trava solenoide delay(3000); // espera 3 segundos digitalWrite(2, LOW); // desativa rele, fecha a trava solenoide } }
O código funciona da seguinte maneira: quando o Arduino reconhece a tag do leitor RFID correto, ele aciona o relé por 3 segundos. O relé por sua vez, fecha o contato entre a fonte de 12V e a trava elétrica recolhendo o pino da trava. Após 3 segundos o relé abre contato e a trava volta ao seu estado normal. A mesma saída do Arduino que aciona o relé, é usada para acionar um LED verde e outro vermelho.
Esse projeto pode ser facilmente modificado de acordo com suas necessidades. Por exemplo você pode trocar o leitor RFID por um teclado matricial de 16 teclas e programar uma senha para abrir a trava. E indo além, você pode implementar um display LCD que mostra a identificação da pessoa dona do cartão.
Quer aprender ainda mais sobre Raspberry Pi? Acesse nossos conteúdos aqui :)
Bom dia, como encontro essa caixa para colocar a fechadura? Ela é de qual material?
Boa noite!
Visualizei que fonte é ligado em conector fêmea para ligar os fios no rele, no Arduíno e na fechadura elétrica. Poderia me informar que tipo de adaptador seria esse ?
Já conseguir acha na loja https://www.filipeflop.com/. Rs
De qualquer, muito obrigado!
Vocês podem me enviar um vídeo e o endereço da empresa para me enviar os componentes pelo correio na minha casa 🏡 e.me ligue para mim 13 988651249 obrigado pela atenção
Olá Giselle! Entre no site da Filipeflop aqui: https://www.filipeflop.com/
Lá vocẽ encontra diversas formas para entrar em contato, e-mail, chat e etc.
Enviamos os produtos para qualquer lugar do Brasil.