- Componentes necessários
- Bloqueio Solenóide
- Diagrama de circuito
- Explicação do código
- Testando o Bloqueio Solenóide RFID
RFID (Radio Frequency Identification) é uma tecnologia barata e acessível. Ele pode ser usado em muitas aplicações, como controle de acesso, segurança, rastreamento de ativos, rastreamento de pessoas, etc. Você viu o sistema de fechadura de porta RFID em hotéis, escritórios e muitos outros lugares onde você apenas precisa colocar o cartão perto do leitor RFID por um segundo e a porta será aberta. Usamos um leitor e etiqueta RFID em muitos projetos baseados em RFID.
Em nossos posts anteriores, construímos uma fechadura RFID simples, desta vez usamos uma fechadura solenóide real e a controlamos com RFID e Arduino. Aqui, um sensor de efeito Hall e um ímã são usados para detectar o movimento da porta. O sensor de efeito Hall será colocado na moldura da porta e o ímã na própria porta. Quando o sensor de efeito Hall e o ímã estão próximos um do outro, o sensor de efeito Hall estará em um estado baixo e a porta permanecerá fechada, e quando o sensor e o ímã não estiverem fechados significa que a porta está aberta e o sensor hall está alto Estado. Usaremos esse mecanismo de efeito Hall para travar e destravar a porta automaticamente. Para saber mais sobre o Sensor Hall e seu funcionamento, siga o link.
Componentes necessários
- Arduino Uno
- Módulo RFID-RC522
- Bloqueio de solenóide 12v
- Módulo de Relé
- Sensor de efeito Hall
- Resistor de 10kΩ
- Buzzer
Bloqueio Solenóide
Uma trava de solenóide funciona no mecanismo de travamento eletrônico-mecânico. Esse tipo de trava possui um encaixe com corte inclinado e um bom suporte de montagem. Quando a energia é aplicada, a DC cria um campo magnético que move o cartucho para dentro e mantém a porta na posição destravada. O cartucho reterá sua posição até que a energia seja removida. Quando a energia é desconectada, o projétil se move para fora e tranca a porta. Ele não usa nenhuma energia em um estado bloqueado. Para acionar a trava de solenóide, você precisa de uma fonte de alimentação que pode fornecer 12 V @ 500 mA.
Diagrama de circuito
O diagrama de circuito para a fechadura solenóide usando Arduino é fornecido abaixo.
As conexões entre o Arduino e o RFID são fornecidas na tabela abaixo. O pino positivo da campainha é conectado ao pino digital 4 do Arduino e o pino GND é conectado ao pino terra do Arduino. Um resistor de 10K é usado entre o pino VCC e OUT do sensor de efeito Hall. A trava de solenóide é conectada ao Arduino por meio do módulo de relé.
PIN RFID | Pin Arduino Uno |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISSÔ | Digital 12 |
IRQ | Desconectado |
GND | GND |
RST | Digital 9 |
3,3 V | 3,3 V |
Pino do sensor de efeito Hall | Pin Arduino Uno |
5V | 5V |
GND | GND |
FORA | 3 |
Depois de soldar todos os componentes na placa de desempenho de acordo com o diagrama de circuito, ele se parece com a imagem abaixo:
Explicação do código
O código completo para este bloqueio de solenóide do Arduino é fornecido no final do documento. Aqui estamos explicando este código passo a passo para melhor compreensão.
Inicie o código incluindo todas as bibliotecas necessárias. Aqui, ele requer apenas duas bibliotecas, uma para comunicação SPI entre o Arduino e RFID e a segunda para o módulo RFID. Ambas as bibliotecas podem ser baixadas dos links abaixo:
- SPI.h
- MFRC522.h
Agora defina os pinos para Buzzer, Bloqueio Solenóide e Módulo RFID
Int Buzzer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Em seguida, defina o pino de bloqueio e o pino de campainha como saída e o pino do sensor de efeito Hall como entrada e inicie a comunicação SPI.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Inicia o barramento SPI mfrc522.PCD_Init (); // Iniciar MFRC522
Dentro do loop vazio , leia os valores do sensor hall e, quando ele ficar baixo, feche a porta.
estado = digitalRead (hall_sensor); Serial.print (estado); atraso (3000); if (estado == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Porta fechada"); digitalWrite (Buzzer, HIGH); atraso (2000); digitalWrite (Buzzer, BAIXO);}
Dentro da função void loop, ele verificará se um novo cartão RFID está presente, e se um novo cartão estiver presente, ele verificará o UID do cartão. Para um cartão válido, ele abrirá a fechadura; caso contrário, será impresso ' Você não está autorizado. 'O trabalho completo é mostrado no vídeo fornecido no final.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Selecione um dos cartões if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Mostrar UID no monitor serial String content = ""; letra de byte; para (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Mensagem:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // mude aqui o UID do (s) cartão (s) que deseja dar acesso {digitalWrite (LockPin, HIGH); Serial.print ("Porta desbloqueada"); digitalWrite (Buzzer, HIGH); atraso (2000); digitalWrite (Buzzer, LOW); } else {Serial.println ("Você não está autorizado"); digitalWrite (Buzzer, HIGH); atraso (2000); digitalWrite (Buzzer,BAIXO); }}
Testando o Bloqueio Solenóide RFID
Assim que estiver pronto com o código e o hardware, você pode começar a testar o projeto Solenoid Door Lock. Aqui, soldamos todos os componentes da placa de desempenho para que ela possa ser facilmente montada na porta.
Então, para testá-lo, monte o perfboard na moldura da porta e o ímã na porta para que ele possa detectar o movimento da porta. A imagem abaixo mostra como o ímã e os sensores Hall são fixados na porta.
Agora, escaneie seu cartão RFID autorizado para abrir a fechadura da porta. A trava da porta do solenóide permanecerá aberta até que a saída do sensor de efeito Hall seja alta. Agora, quando a porta chegar novamente perto do sensor Hall durante o fechamento, o status do sensor de efeito Hall mudará para Baixo devido ao campo magnético (gerado pelo ímã conectado à porta) e a fechadura será fechada novamente.
Em vez de usar o sensor de efeito Hall, você pode introduzir um atraso para manter a porta aberta por um tempo definido.
O código completo e o vídeo de trabalho são fornecidos abaixo. Além disso, verifique outros tipos de fechadura de porta usando tecnologias diferentes.