Acionando uma trava elétrica com RFID 46

RFID (Radio Frequency Identification) é uma tecnologia que permite a leitura e gravação de dados entre uma etiqueta (tag) RFID e leitor RFID usando sinais de radiofrequência. Podemos ver o uso de RFID em diversas áreas como por exemplo, identificação de produtos em armazéns, rastreamento de cargas, identificação de animais e até mesmo para armazenamento de dados pessoais.

Nesse post iremos explorar mais uma aplicação de RFID  montando um sistema de abertura de caixa usando uma mini trava elétrica solenoide.

Trava elétrica com RFID

O mais legal é que você poderá aplicar esse 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:

Trava Elétrica Solenoide

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.

Veja também como controlar lâmpadas utilizando um relé e Arduino.

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.

Mini trava elétrica solenóide

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:

Conexão módulo RFID

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.

Pinagem Relé

Realize as conexões conforme o circuito a seguir:

Circuito trava elétrica com RFID

Programando 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…

IDE - Biblioteca

No campo de pesquisa procure por mfrc, selecione a biblioteca MFRC522 by GithubCommunity e clique em Instalar.

IDE - RFID

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. 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. Veja como utilizar um display LCD no post Controle de Acesso Utilizando RFID com Arduino.

Sistema de trava elétrica com RFID

Gostou da Trava elétrica com RFID? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Deixe uma resposta

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

46 Comentários

  1. Bem bacana mesmo , mas como farei para usar mais de um cartão, como faria para programar os Tags dos cartões.

    parabéns

    1. Olá Nelson,
      Obrigado pela leitura.

      Basicamente você tem que ler os cartões e ir anotando as Tags de cada um.
      Então você vai adicionando mais “if” com cada nova Tag que você deseja usar.
      if (conteudo.substring(1) == “nova_tag1”)
      {
      faz_alguma_coisa();
      }
      if (conteudo.substring(1) == “nova_tag2”)
      {
      faz_outra_coisa();
      }

      Outra forma é criar um “banco de tags” em um char mais ou menos assim:
      char* allowedTags[] = {
      “[INSERT IDENTIFIER HERE]”, // Tag 1
      “2900940E95”, // Tag 2
      “ABC123DE45”, // Tag 3
      };
      Veja nesse link mais onformações sobre esse banco de tags:
      https://www.instructables.com/id/Reading-RFID-Tags-with-an-Arduino/

      Veja nossos outros posts sobre RFID
      http://blog.filipeflop.com/wireless/como-gravar-dados-no-cartao-rfid.html
      http://blog.filipeflop.com/wireless/controle-acesso-leitor-rfid-arduino.html
      http://blog.filipeflop.com/embarcados/controle-de-acesso-rfid-com-raspberry-pi.html

  2. GIOVANNI
    OBRIGADO PELA RESPOSTA SOBRE OS TAGS

  3. Muito legal, você sabe se é possível colocar uma trava elétrica AC, ou usar uma fonte AC no relé, acarretaria em algum problema?

    1. Olá Lucas,

      Sim, você pode usar tranquilamente uma trava elétrica AC.
      Basta apenas checar as tensões e correntes máximas suportadas pelo relé.

      Giovanni Bauermeister
  4. BOM DIA! VOCES TRABALHAM COM ENCODER ROTATIVO, NECESSITO DE 4 PARA COLOCAR NO MEU PAINEL DE SIMULADOR DE VOO, PARA AJUSTAR FREQUENCIAS DOS RADIOS, SEI QUE É DIFICIL, MAS SE TIVEREM DE DOIS EIXOS , SERIA ÓTIMO, ASSIM AJUSTO AS FREQUENCIAS KILOHERTZ E MEGAHERTZ NUM MESMO POTENCIOMETRO.
    ABRAÇOS

  5. Isso poderia controlar um portão de entrada de uma casa?

  6. O meu não quer fazer a leitura, ja verifiquei tudo. a unica diferença é que estu usando 2560, pode alterar alguma coisa? Obrigado

  7. Muito bom o projeto.

  8. Quastaria de saber se ha como alterar o progama para ativar o rele quando passar o cartao e so desativar quanso passar dinovo

  9. Olá boa noite. É possível conectar mais travas, e libera-las com a leituras de seus respectivos tags?

  10. Bom dia,

    voce sabe como fazer a ligação do rfid com o modulo nodemcu?

  11. BOM DIA, GOSTARIA DE SABER QUAL A FUNÇÃO DO PEQUENO CIRCUITO COM RESISTORES E LEDs E SEU FUNCIONAMENTO.

  12. Dá pra usar Arduino nano?

  13. Olá Boa Tarde, estou com um projeto para usar um Rfid e um Teclado de membrana para abrir uma trava, e um LCD.
    Você pode me ajudar criando um projeto e postar no Blog

    Att Felipe

  14. Olá. Gostaria de saber se essa trava solenoide consegue operar com o uso de pilha 12V. Eu pretendo fazer uma trava para porta, e em vez de fazer uma alimentação com fonte (e ter fio atravessando a porta até chegar na rede elétrica). Pretendo usar duas pilhas em paralelo, em todo caso. Aguardo resposta! Grande abraço!

  15. Como faço para usar a tag apenas uma vez e para usala novamente terei que cadastrala ?

  16. Olá. Parabéns pelas publicações. Sou nova no assunto arduino… Se puder tirar um dúvida…Tem como manter o acesso tanto pelo botão original do interfone quanto pelo RFID? Ou tem que ser por um ou por outro?
    Se tiver, como faço a conexão?
    Agradeço desde já.

  17. Posso alterar usar esse código com RFID Uart de 6300 de 125KHZ? Alterando a linha onde aparece o outro modelo de RFID?
    Muito obrigada.

    1. Olá Marlene. Creio que você terá que realizar modificações. Mas a lógica deve ser a mesma.
      O leitor usado neste tutorial é de 13,56MHz.

  18. tentei tirar a função de delay para poder ligar e desligar com a mesma tag só com outra tag seria posivel com a mesma tag ligar e deligar o rele?

  19. Muito bom.
    Agora, como faz para eu acionar uma fechadura elétrica via Bluetooth utilizando um iPhone?

  20. tenho uma duvida. estou usar uma resistencia de 10k e o seugundo led e rele nao estao funcionar aque se deve?

  21. Oi amigo parabéns adorei…. Fiquei pensando se eu poderia usar esse sistema com quatro travas em pontos diferentes… Seria possivel?

  22. ola Giovanni tudo bem!
    comprei um quite de Arduino unoR3 co uma placa de RFID .
    estou tentando compilar mais da erro de compilação

    Ocorreu um erro enquanto o sketch era carregado
    using port :com9
    using programmar :arduino
    Overriding Baud rete :115200
    avrdude: der open(): can’t open devesse “\\.\com9\”: o sistema não podeencotrar o arquivo especificado.

    avrdude done. thank you.

    José Vilamar Nogueira
    1. Olá José!

      Só para entendermos melhor. Erro de compilação é diferente de erro de gravação.
      Seu erro parece ser de gravação pois diz: “ocorreu um erro enquanto o sketch era carregado”

      Deixe de lado por enquanto o exemplo da trava elétrica RFID. Desconecte qualquer dispositivo, jumpers, módulos, sensores do Arduino.

      Então abra o exemplo blink LED e tente primeiramente compilar. Se ocorrer tudo certo tente carregar.

      Certifique-se de escolher a porta COM correta nas configurações.

      Caso não funcione, testar com outro cabo USB, e outros computadores.

      Em último caso pode entrar em contato com vendas@filipeflop.com e relatar o ocorrido.

  23. Gostaria de saber se consigo ligar essa trava direto na alimentação do arduino, alimentando o arduino com 12V e alimentando a trava direto do pino VIN.
    Grato.

    1. Até consegue Thiago. Mas aí não faz muito sentido porque a trava ficará sempre recolhida. Não é possível controlar, ligar/desligar o pino Vin. A ideia é utilizar um pino digital que você possa ligar e desligar a trava.

      Outra opção além do relé para controle da trava é utilizar um transistor como chave.
      Estude o seguinte tutorial de como usar um transistor como chave: https://teachmetomake.wordpress.com/how-to-use-a-transistor-as-a-switch/

      Abraço!

  24. Bom dia ,

    Nesse projeto eu poderia utilizar o arduíno mega? Se sim como ficaria o esquema de ligação?

    1. Olá Heloísa!

      Ficaria como indicado nesse tutorial que encontrei no Google:
      http://www.instructables.com/id/Interfacing-RFID-RC522-With-Arduino-MEGA-a-Simple-/

      O relé e os LEDs podem ser ligados em qualquer outra porta digital.

  25. Gostei achei muito interessante e gostaria de saber, se trocando a trava solenoide por um fechadura elétrica de 12V ( daquelas usadas em portões) esse circuito funcionaria da mesma forma?

    Paulo Jansen Duarte de Medeiros
    1. Creio que funcionaria sim Paulo!

  26. Giovanni boa noite,
    no caso de ligar dois leitores RFID como ficaria o código?
    Agradeço desde já

    THIAGO DE BRITO LEITE
    1. Olá Thiago!

      Infelizmente nunca escrevi código para 2 leitores RFID.

      Teria que estudar a biblioteca do leitor ou até mesmo contactar o criador da mesma e verificar se ela suporta múltiplos leitores RFID.

      O código fonte da biblioteca se encontra aqui: https://github.com/miguelbalboa/rfid
      Pelo github você também pode contactar o criador da mesma.

      Encontrei algumas discussões com a mesma dúvida que você tem. Talvez alguém tenha encontrado a resposta.
      https://forum.arduino.cc/index.php?topic=485731.0
      https://forum.arduino.cc/index.php?topic=405261.0
      https://forum.arduino.cc/index.php?topic=477085.0
      https://forum.arduino.cc/index.php?topic=347571.0

  27. Olá, baixei o fritzing recentemente e estava brincando com os componentes, e ao tentar replicar esse layout não pude encontrar o módulo relé que foi utilizado nem nas bibliotecas nem nas partes submetidas por usuários, gostaria de saber se você poderia me indicar onde encontrá-lo e, se foi criado por você, se poderia me enviar o arquivo .fzpz

    O site está muito bom! Abs.

    1. Olá Douglas!

      Creio que o desenho de relé já é nativo do fritzing.

      Mas caso não encontre pode baixar qualquer projeto do link abaixo
      http://fritzing.org/projects/by-tag/relay/

      Vários deles usam relé. Aí é só modificar.

  28. c aro Amigo
    Gostaria de saber se vc tem um esquema que possa ser usado em portão eletrônico, com controle remotos de condomínio, acionado por EFID, mas quero colocar duas trava elétrica, quando o portão fechar, ele trava, ou seja em repouso na trava esta fechada. quando for acionado o portão, este deve abrir a trava ligar o motor e o portão abrira. ficara aperto por 30 segundos, e retorna ao ponto inicial ou seja fecha e a trava e acionada. o portao e de correr, o motor e da marca rossi,e a trava e louk, se nao tem, vc tem condiçoes de fazer? e quanto me custaria isso?

    1. Olá Edison!

      Infelizmente a filipeflop não possui esquemas elétricos customizados para clientes e nem programação Arduino customizada. Também não fazemos projetos customizados para clientes.

      Tudo o que temos está disponível gratuitamente no Blog. Assim você pode se basear e fazer seu próprio projeto DIY customizado de acordo com suas necessidades específicas.

      Abraço!

  29. seria possível substituir a fonte? por outra peça, como talvez até uma bateria 9v?

    henrique mota costa
    1. Olá Henrique!

      Veja no post o seguinte trecho:

      “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.”

      É apenas necessário verificar se essa redução de força não impacta na sua aplicação.

      Abraço!

  30. eu repliquei exatamente como mostrado(com exceção a os leds que não foram colocados), porem por alguma razão a trava solenoide não esta sendo ativada, existe alguma razão do porque isso pode acontecer?

    1. Olá Larissa!

      Minha sugestão é fazer alguns testes isolados e individuais.

      1 – Verificar o monitor serial para obter o UUID da sua Tag e fazer a mudança no código na linha 46 onde se faz um if tag igual UUID

      2 – Testar o módulo relé ligando ele em 5V e colocando o pino de sinal em nível alto e baixo e verificar se o relé ativa. Verificar se o relé fecha contato medindo continuidade com um multímetro.

      3 – Testar a válvula solenóide individualmente ligando ela em 12V e verificar se ativa.

  31. Olá, parabéns pelo projeto.

    Como ficaria o programa com o teclado matricial ? Teria que incluir biblioteca ?

    Obrigado desde já.

    1. Olá Renan!

      O programa ficaria muito legal com teclado matricial!

      Não precisa incluir biblioteca.

      Veja nesse post como o teclado matricial funciona: https://www.filipeflop.com/blog/teclado-matricial-4×4-arduino/

      Quando fizer seu projeto não se esqueça de postar em nosso fórum!

      Bons projetos!