Projetos de circuito eletrônicoSegurança e AlarmeCircuito de trava de segurança RFID - Código completo do programa...

Circuito de trava de segurança RFID – Código completo do programa e detalhes de teste

Relacionados

Neste artigo veremos como um circuito de leitor RFID baseado em Arduino pode ser usado para controlar um relé, que por sua vez pode ser usado em aplicações de fechaduras de portas de segurança.

Visão geral

Se você ainda não conferiu o artigo anterior sobre RFID, vá em frente, confira, ele cobriu os fundamentos da tecnologia RFID.

Vamos identificar as tags autorizadas usando o UID. Em poucas palavras, o UID é o número de identificação exclusivo da etiqueta, quando você digitaliza seu cartão em seu escritório ou em qualquer outro lugar, ele extrai o UID do cartão.

O UID do cartão é salvo no banco de dados do seu escritório e reconhecerá o titular do cartão e registrará sua presença.

A tag não apenas transfere o UID, mas também transfere algumas outras informações que estão armazenadas na tag, as tags geralmente podem armazenar de 1 KB a 4 KB, às vezes até mais.

Não discutiremos como armazenar informações na tag, mas isso será discutido em um artigo futuro. Neste post vamos utilizar o número UID para controlar o relé ON/OFF.

O lema deste projeto é LIGAR/DESLIGAR o dispositivo, que está conectado com a configuração dada na digitalização com etiqueta RFID autorizada.

O UID do cartão é definido no programa e quando o cartão autorizado for detectado, ele ligará o relé na primeira varredura e escaneá-lo novamente desativará o relé.

Se algum cartão não autorizado for detectado, ele emitirá uma mensagem de erro no monitor serial e o relé continuará sua tarefa atual sem qualquer interrupção.

Aqui quando o cartão autorizado é escaneado, o relé é ativado/desativado, este mecanismo pode ser usado em qualquer lugar, por exemplo em: sistema de travamento da porta, onde o cartão autorizado precisa ser escaneado para abrir a porta.

Como funciona:

CIRCUITO DE BLOQUEIO DE SEGURANÇA RFID USANDO ARDUINO

O circuito RFID consiste em um LED que indica o status do relé, o transistor BC 548 aciona o relé e o diodo 1N4007 é conectado ao relé para interromper o pico de alta tensão no instante da comutação.

Se você deseja conectar o relé de tensão mais alta (9V ou 12V), você pode conectar a alimentação externa +Ve ao relé e a alimentação –Ve ao terra do pino GND do arduino. Por favor, tome o máximo de cuidado ao prosseguir nesta etapa, pois você pode danificar a placa se as conexões não estiverem corretas.

A próxima etapa após concluir a configuração do hardware é fazer o upload do código para encontrar o UID da sua tag.
Agora faça o upload do programa abaixo para o arduino, abra o monitor serial e digitalize a tag.

Programa para encontrar UID:

#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return;
if ( ! rfid.PICC_ReadCardSerial())
return;
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F("Your tag is not of type MIFARE Classic, your card/tag can't be read :("));
return;
}
String StrID = "" ;
for (byte i = 0; i <4; i ++) {
StrID +=
(rfid.uid.uidByte[i]<0x10? "0" : "")+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?":" : "" );
}
StrID.toUpperCase();
Serial.print("Your card's UID: ");
Serial.println(StrID);
rfid.PICC_HaltA ();
rfid.PCD_StopCrypto1 ();
}

A saída no monitor serial (exemplo):

O UID do seu cartão é: AA:BB:CC:DD

No monitor serial, você verá algum código hexadecimal, que é o UID da tag. Anote-o, que será usado no próximo programa para identificar o tag.
Após a conclusão desta etapa, carregue o código abaixo na mesma configuração.

Programa para identificar a placa e o relé de controle:

//---------------Program developed by R.Girish------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
int flag=0;
int op=8;
char UID[] = "XX:XX:XX:XX";            //Place your UID of your tag here.
MFRC522 rfid(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
pinMode(op,OUTPUT);
}
void loop()
{
if ( ! rfid.PICC_IsNewCardPresent())
return;
if ( ! rfid.PICC_ReadCardSerial())
return;
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
Serial.println(F("Your tag is not of type MIFARE Classic, your tag can't be read :("));
return;
}
String StrID = "" ;
for (byte i = 0; i <4; i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? "0" : "")+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?":" : "" );
}
StrID.toUpperCase();
if(StrID!=UID)
{
Serial.println("This is an invalid tag :(");
Serial.println("***************************************");
delay(2000);
}
if (StrID==UID && flag==0)
{
flag=1;
digitalWrite(op,HIGH);
Serial.println("This is a vaild tag :)");
Serial.println("Status: ON");
Serial.println("***************************************");
delay(2000);
}
else if(StrID==UID && flag==1)
{
flag=0;
digitalWrite(op,LOW);
Serial.println("This is a vaild tag :)");
Serial.println("Status: OFF");
Serial.println("***************************************");
delay(2000);
}
rfid.PICC_HaltA ();
rfid.PCD_StopCrypto1 ();
}
//---------------Program developed by R.Girish------------//

char UID[] = “XX:XX:XX:XX”; //Coloque aqui o UID da sua tag.
Substitua XX:XX:XX:XX pelo seu UID.

Protótipo do autor que pode ser efetivamente usado como uma fechadura de segurança RFID infalível para portas e cofres:

IMG 624508926336C

Quando um cartão autorizado é digitalizado:

IMG 624508928CACD

Quando uma tag não autorizada é verificada:

IMG 62450892B5111

Se você tiver alguma dúvida sobre este circuito de trava de segurança Arduino RFID, sinta-se à vontade para perguntar abaixo na seção de comentários.

Hashtags: #Circuito #trava #segurança #RFID #Código #completo #programa #detalhes #teste
 

FONTE


Nota: Este conteúdo foi traduzido do Inglês para português (auto)
Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…
Veja na FONTE até ser revisado o conteúdo.
Status (Ok Até agora)


Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!

Relacionados

Relacionados