Bloqueio Inteligente DIY com Arduino e RFID

Veja como construir um bloqueio inteligente simples baseado em RFID usando um Arduino como backbone e alguns componentes baratos.

Veja como construir um bloqueio inteligente simples baseado em RFID usando um Arduino como backbone e alguns componentes baratos.
Propaganda

Você anda até uma fechadura invisível que só você tem a chave para, e abri-lo sem sequer tocá-lo. Soa legal? Hoje vamos construir um bloqueio inteligente simples baseado em RFID usando um Arduino como backbone e alguns componentes baratos.

A tecnologia por trás deste projeto já é usada em muitos setores. Qualquer pessoa que tenha trabalhado em um escritório moderno ou usado transporte público provavelmente terá usado todos os dias. RFID (identificação por radiofrequência) identifica os dados armazenados em um chip em um cartão ou dongle e os compara a uma lista de tags que já foram verificados.

Vamos construir um circuito de teste para controlar o acesso usando um módulo de leitor MFRF522 Mifare, para abrir e fechar um bloqueio. Usaremos um cartão mestre para adicionar ou remover o acesso a diferentes tags e criar uma leitura de LED simples para nos informar o que está acontecendo no sistema.

Finalmente, vamos adicionar um solenóide para atuar como o bloqueio, e um MOSFET para ativá-lo com segurança usando o nosso Arduino.

O leitor MFRC522 pode ler e gravar dados em chips RC522 e armazena esses dados na EEPROM do Arduino Como usar o Arduino EEPROM para salvar dados entre ciclos de energia Como usar o Arduino EEPROM para salvar dados entre ciclos de energia Você sabia que o Arduino pode armazenar dados quando está desligado? Estou falando sobre a EEPROM, então junte-se a mim enquanto mostro como ler e escrever. Consulte Mais informação . Isso seria um ótimo complemento para qualquer configuração DIY e é especialmente relevante para qualquer sistema básico de segurança doméstica. Ele pode ser usado juntamente com sistemas de alarme DIY Como fazer um sistema de alarme simples Arduino Como fazer um sistema de alarme simples Arduino Detectar movimento, em seguida, assustar o heck fora de um intruso com um alarme de alta frequência e luzes piscando. Isso parece divertido? Claro que sim. Esse é o objetivo do projeto Arduino de hoje, adequado ... Leia Mais ou DIY câmera de segurança DIY Pan and Tilt Rede Segurança Cam com Raspberry Pi DIY Pan e Tilt Rede Segurança Cam com Raspberry Pi Aprenda como tornar a câmera de segurança pan e tilt remotamente visível com um Raspberry Pi. Este projeto pode ser concluído em uma manhã com apenas a mais simples das partes. Leia mais sistemas.

Você vai precisar

  • Arduino Nós usamos um Uno, apesar de qualquer placa Arduino Arduino Guia de compra: Qual placa você deve obter? Guia de compra do Arduino: Qual placa você deve obter? Existem tantos tipos diferentes de placas Arduino por aí, você seria perdoado por estar confuso. Qual você deve comprar para o seu projeto? Deixe-nos ajudar, com este guia de compra do Arduino! Leia mais ou clone será suficiente.
  • Resistências de 3 x 220 ohm
  • Resistor de 1 x 10k ohm
  • Mosfet do canal N de nível lógico
  • MFRC522 módulo com pelo menos dois cartões / fobs para ler. A maioria vem com um de cada, e pode ser comprada por menos de US $ 2, mas você provavelmente já tem um em sua carteira na forma de um cartão de viagem pública.
  • LEDs vermelhos, azuis e verdes
  • Solenóide 12v (US $ 2)
  • Fonte de alimentação de 12v
  • Breadboard e ligar os fios

O módulo MFRC522

A estrela dessa configuração é um módulo MFRC522 barato, que vem com um cartão e um fob contendo um chip s50, cada um armazenando seu próprio número de identificação permanente exclusivo (UID). Estes são ambos funcionalmente idênticos, apenas em uma forma diferente.

módulo e cartão

Comece pesquisando a biblioteca MFRC522 no gerenciador de bibliotecas do seu Arduino IDE e instale-a. Alternativamente, você pode baixar a biblioteca e instalá-lo manualmente na pasta de bibliotecas. Se você é totalmente novo no Arduino, você pode encontrar esta cartilha para começar Começando com o Arduino: um guia para iniciantes Começando com o Arduino: um guia para iniciantes Arduino é uma plataforma de prototipagem eletrônica de código aberto baseada em hardware flexível e fácil de usar. Programas. É destinado a artistas, designers, amadores e qualquer pessoa interessada em criar objetos ou ambientes interativos. Leia mais útil!

A biblioteca também contém um diagrama Fritzing, que anotei indicando como anexar o módulo ao seu Arduino.

arduino rfid pinagem de fiação
Crédito de imagem: Miguel Balboa via Github

Tenha cuidado: esta placa funciona em 3.3V, não em 5V, portanto, tenha cuidado para conectá-la ao pino direito.

Para testar a configuração, abra o esboço DumpInfo em Arquivo> Exemplos> MFRC522> DumpInfo e faça o upload para sua placa Arduino. Abra o monitor serial e segure um de seus objetos RFID até o leitor. Você deveria ver algo assim:

leitura serial de informações de despejo

Se você obtiver erros na leitura dizendo que MIFARE_Read() failed: Timeout in communication ou PCD_Authenticate() failed: Timeout in communication, não se preocupe. Isso provavelmente significa que você não manteve a tag no leitor por tempo suficiente para ler todos os dados. Contanto que você receba o cartão UID (que é lido assim que a tag estiver dentro do alcance do leitor), ele funcionará com este projeto. Se você não está recebendo uma leitura, verifique sua fiação e tente novamente.

O resto do circuito

Agora que verificamos que nosso módulo funciona, vamos adicionar o restante dos componentes. Conecte seus componentes assim:

circuito de instalação completa fritzing

  • Nossa fonte de alimentação de 12v (desconectada por enquanto) conecta-se aos trilhos de nossa placa de montagem. Conecte o pino Arduino GND e o pino MFRC522 GND ao trilho de aterramento.
  • Os LEDS estão conectados aos pinos 2, 3 e 4 e ao trilho de aterramento através de resistores de 220 ohm.
  • A perna do gate do nosso MOSFET (à esquerda na imagem) conecta-se ao pino 5 e à terra através de um resistor de 10k ohm. A perna de drenagem (meio) conecta-se ao terminal negativo de nosso solenóide de 12v e a perna de origem (direita) conecta-se ao trilho de terra.
  • Conecte o terminal positivo do Solenóide de 12V e o VIN do Arduino ao barramento de 12V da placa de montagem.

Com esta configuração, sempre que enviarmos um sinal HIGH do Arduino para o MOSFET, ele permitirá que a corrente passe para o Solenóide. Não há nada que impeça você de usar um solenóide mais potente ou mais pesado, embora você precise de um transformador para alimentar o Arduino de mais de 12V. Também preste muita atenção para a folha de dados para o seu MOSFET para se certificar de que você não iria sobrecarregá-lo.

Uma vez que tudo esteja junto, deve ser algo como isto:

layout de circuito

Embora não seja necessário, criei uma pequena plataforma para simular uma fechadura de porta de madeira.

Modificando o esboço

Com o circuito construído, é hora de configurar o nosso Arduino Sketch. Convenientemente, a biblioteca MFRC522 vem com um exemplo de esboço chamado Access Control que faz quase exatamente o que queremos fazer. Conecte seu Arduino ao seu computador e abra Arquivo> Exemplos> MFRC522> AccessControl no Arduino IDE.

Há uma riqueza de informações fornecidas no esboço de exemplo e na página do GitHub para a biblioteca. Nós só precisamos modificar algumas linhas. Alternativamente, você pode baixar nosso código modificado deste GitHub Gist.

Em primeiro lugar, o esboço foi projetado para um circuito com um único LED RGB usando um ânodo comum. Nós não vamos usar isso, então simplesmente comente esta seção.

 //#define COMMON_ANODE 

Agora, combine nossos pinos de LED com aqueles definidos no esboço.

 #define redLed 3 // Set Led Pins #define greenLed 4 #define blueLed 2 

Precisamos mudar o pino do relé (embora estejamos usando um MOSFET neste caso) para corresponder à nossa configuração.

 #define relay 5 // Set MOSFET Pin 

Para facilitar a alteração de quanto tempo o bloqueio permanece aberto mais tarde, criaremos uma variável para ele.

 int lockDelay=10000; // lock stays open for 10 seconds. 

Nós só precisamos fazer mais uma mudança. Bem na parte inferior do método de loop, enterrado em if é a chamada de método concedida (300) . Precisamos mudar isso para que ele use nossa variável lockDelay .

 granted(lockDelay); // Open the door lock for lockDelay duration 

Salve o esboço com um novo nome e faça o upload para o seu Arduino. Quando terminar, abra o monitor serial. Na primeira vez que fizer isso, ele solicitará que você digitalize algo para usar como seu cartão mestre. Segure seu cartão até o leitor, e o UID do cartão deve ser exibido no monitor serial, junto com a mensagem Tudo pronto.

É isso aí! Sua chave mestra está toda configurada. Desconecte sua placa Arduino do computador. Os detalhes da chave mestra serão salvos na EEPROM do Arduino, mesmo depois que a energia for desligada.

Testando a configuração completa

Dê uma última olhada rápida em sua fiação para verificar se tudo está no lugar e conecte sua fonte de alimentação de 12v. Neste ponto, vale a pena mencionar que você deve ter cuidado com o ciclo de trabalho do seu solenóide. O solenóide barato que estou usando para este teste não tem um ciclo de trabalho de 100%, conseqüentemente não deve ser deixado em sua posição travada por longos períodos de tempo. Para fazer isso em uma configuração permanente, use um solenóide de ciclo de trabalho de 100%. Melhor ainda seria um solenóide normalmente fechado (NC), que permanece bloqueado quando não está ligado. Isso também significa que qualquer pessoa que queira ignorar o sistema não pode simplesmente desconectá-lo!

Quando o circuito é ligado, o LED azul deve acender para mostrar que o dispositivo está operacional. Segurando o cartão mestre sobre o leitor coloca no modo de administração deve causar todos os três LEDs a piscar. Enquanto estiverem piscando, você pode segurar outros cartões ou controles sobre o leitor para adicionar ou retirar direitos de acesso. Ele pisca verde para dar acesso e azul para tirar. Use a placa mestre novamente para sair do modo de administrador.

Agora, quando você segura um cartão ou fob com acesso até o leitor, ele deve piscar em verde e abrir a fechadura. Se piscar vermelho, o acesso foi negado!

Tudo feito!

Embora este projeto seja um começo simples no uso de dispositivos RFID em sua configuração DIY, não é a configuração mais segura. Não sugerimos que o júri manipule isso à sua porta da frente.

Você pode construir todo o mecanismo em uma caixa e usar o solenóide para bloqueá-lo. Preencha a caixa com cookies e use sua chave mestra para decidir quem tem acesso e quem não tem. Torne-se o mestre dos cookies!

Você pode acabar com o solenóide completamente e anexar uma faixa de LED em seu lugar e ter uma luz ativada por RFID. Você pode usar as mesmas ideias para exibir dados como uma senha de Wi-Fi em uma tela pequena quando um cartão ou chave de acesso é segurado para o leitor.

Você já usou RFID em seus set ups em casa? Deixe-nos saber sobre seus projetos na seção de comentários abaixo!

Crédito da imagem: Annmarie Young via Shutterstock.com

In this article