Neste artigo, faremos um tour pela tecnologia de circuitos RFID. Vamos explorar como as etiquetas e leitores RFID funcionam, como fazer a interface do módulo RFID (RC522) com o Arduino e extrair informações úteis das etiquetas RFID.
Uso de etiquetas RFID
Tenho certeza de que cada um de vocês usou o RFID para obter acesso de segurança pelo menos uma vez no escritório, escola, universidade, biblioteca etc.
A etiqueta / cartão que você carrega possui um chip eletrônico incorporado, o chip armazena sua identidade eletronicamente. Ao contrário dos códigos de barras, onde o cartão deve estar à vista do leitor, os RFIDs podem ser colocados perto do leitor para ler as informações.
A maioria de nossos cartões inteligentes usa tecnologia RFID passiva, o que significa que não é necessária energia para ler as informações no cartão. O leitor alimenta o chip RFID e extrai informações ao mesmo tempo.
Esses tipos de etiquetas podem ler informações em milímetros a poucos metros, dependendo da etiqueta e do aplicativo.
As etiquetas RFID ativas são alimentadas externamente, esses tipos de etiquetas transmitem informações de até 100 pés. O consumo de energia da bateria é otimizado para durar alguns anos.
Neste projeto, examinaremos a tecnologia RFID passiva. Estamos usando o módulo leitor RC522 junto com o arduino para extrair e exibir informações. O módulo RC522 está normalmente disponível em sites de comércio eletrônico e na loja de kits eletrônicos locais.
Ilustração do módulo leitor / gravador RC522:
Etiquetas de tipo cartão e chaveiro:
Como podemos ver, uma parte do PCB é cercada por um caminho condutor quadrado no leitor; Isso irá gerar um campo eletromagnético para o tag na frequência de 13,56 MHz.
O EMF gerado é coletado pelo tag e convertido em tensão suficiente para que o tag funcione; o tag enviará as informações necessárias na forma de pulso ao leitor. O microcontrolador embutido decodifica as informações.
Como funciona
O esquema é muito fácil e auto-explicativo, poucos cabos de ligação em ponte são suficientes para realizar este projeto. Vamos alimentar o arduino e o RFID através da porta USB do computador. A tensão de operação do RC522 é de 3,3V, não conecte a fonte de 5V ao módulo e isso danificará os componentes integrados.
Protótipo do circuito RFID do Arduino:
Essas são todas as conexões de hardware, agora vamos passar para a codificação.
Antes de carregar o programa, faça o download do arquivo da biblioteca no link abaixo e vá para a pasta da biblioteca IDE do arduino.
github.com/miguelbalboa/rfid.git
Código do programa:
//-------------------------Program developed by R.Girish------------------//
#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 ();
}
//-------------------------Program developed by R.Girish------------------//
ESTÁ BEM! O que o programa acima projetado para funcionar faz?
O programa acima exibirá o UID da tag no monitor IDE serial quando digitalizar no leitor. O UID é um número de identificação exclusivo na etiqueta, não pode ser alterado e é definido pelo fabricante.
SAÍDA:
O UID do seu cartão: FA: 4E: B2 // este é um exemplo.
Nota 1: Os dois valores são separados por dois pontos, o que torna o programa; Os valores reais não podem ser separados por dois pontos, mas por espaço.
Nota 2: Somente as etiquetas RFID fabricadas pela NXP são legíveis / graváveis com a configuração proposta; elas são para uso comum e comercial.
O UID é usado para reconhecer a tag; O rótulo que acompanha o kit pode armazenar até 1 KB de informações. Existem outros cartões que podem armazenar até 4KB de informações ou até mais.
O processo de armazenamento e extração das informações do rótulo está sujeito a outro artigo.
Se você tiver alguma dúvida sobre este projeto, não hesite em perguntar na seção de comentários.
FONTE
Nota: Este 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 post.
Status (Não Revisado)
Se tiver algum erro coloque nos comentários