Conteúdo abordado neste artigo:
1: Introdução ao sensor RC522
O MFRC522 é um IC sem contato baseado em RFID que pode ler e escrever dados em uma frequência de 13.56 MHz. Ele foi projetado para facilitar a integração em uma ampla gama de aplicações, incluindo sistemas de controle de acesso, terminais de pagamento e outros sistemas que requerem comunicação sem fio segura.
O sensor apresenta um design de baixo consumo de energia e é compatível com o padrão ISO/IEC 14443 A/Mifare, o que permite se comunicar com uma ampla gama de cartões e tags sem contato.
Além disso, o MFRC522 possui uma antena embutida, tornando-a uma solução conveniente e compacta para adicionar recursos de comunicação sem contato a um projeto.
2: pinagem do sensor RC522
O sensor tem um total de 8 pinos que o interfaceão com um microcontrolador ou outro dispositivo de controle. A pinagem do sensor MFRC522 é a seguinte:
O SDA, Sck, Mosi, e MISSÔ Os pinos são usados para interface o sensor MFRC522 com um microcontrolador por meio de um protocolo de comunicação de interface periférica em série de 4 fios (SPI).
O IRQ O PIN pode ser usado para gerar uma interrupção quando determinados eventos ocorrem, como um cartão ou tag bem -sucedido, no entanto, ele não é comumente usado em muitos projetos.
O Gnd o pino se conecta ao solo do circuito e o RST O pino é usado para redefinir o sensor.
finalmente, o 3.3V O pino é usado para fornecer energia ao sensor.
É importante observar que esses nomes de pinos podem variar um pouco, dependendo do módulo específico, por isso é sempre melhor consultar a folha de dados do fabricante para obter as informações corretas.
3: Interface RC522 RFID Sensor com ESP32
Interface o sensor MFRC522 com o microcontrolador ESP32 é um processo simples que pode ser realizado usando a biblioteca MFRC522, que está disponível gratuitamente para download. Esta biblioteca fornece um conjunto de funções fácil de usar para acessar a funcionalidade do sensor, incluindo funções para ler e escrever dados para cartões e tags sem contato.
Depois que a biblioteca é instalada, um exemplo de esboço pode ser encontrado no menu Exemplos, que demonstra como inicializar o sensor e se comunicar com um cartão ou tag. No esboço, é importante definir as conexões corretas do pino entre o sensor ESP32 e MFRC522, como os pinos SPI, o pino de redefinição e outros, de acordo com o modelo da placa esp32 sendo usada.
Com a fiação correta e a biblioteca instalada corretamente, o ESP32 poderá se comunicar com o sensor MFRC522 e executar as ações desejadas, como ler e escrever para cartões e tags.
Para mais detalhes sobre Protocolo SPI ESP32 e trabalhando leia o artigo esp32 pinos SPI.
3.1: esquemático
A imagem esquemática rc522 com ESP32 é mostrada abaixo:
3.2: Instalando as bibliotecas necessárias
MFRC522 É necessária a biblioteca para ler o cartão RFID e as tags Uid. Abra o IDE, vá para o gerente da biblioteca e pesquise a biblioteca MFRC522. Instale a biblioteca em Arduino IDE.
Depois de instalar a biblioteca MFRC522, leremos o UID para tags e cartões RFID.
3.3: Obtendo o UID para cartão/tag RFID
Abra o Dumpinfo Exemplo para o sensor MFRC522. Vá para: Arquivo> Exemplos> MFRC522> Dumpinfo:
O código a seguir será aberto em uma nova janela IDE. Carregue o código para ESP32. Lembre -se de definir o pino de redefinição e escravo de acordo com a sua placa. Qualquer um dos pinos digitais do ESP32 pode ser definido como RST e Ss:
Depois de fazer upload de código para ESP32. Toque e segure o cartão/tag RFID com o sensor MFRC522:
O sensor lerá os dados salvos dentro da tag RFID e os exibirá no monitor serial. Aqui podemos ver o Uid para tag RFID informando “02 DC B4 C3”.
Total de 16 (0-15) setores nos quais RFID Cartão/tag 1k A memória está organizada. Quatro (0-3) blocos estão incluídos em cada um desses 16 setores. Cada bloco tem capacidade para armazenar 16 (0-15) bytes de dados.
Esses dados representam isso:
16 setores x 4 blocos x 16 bytes de dados = 1024 bytes = 1k memória
O monitor serial do Arduino IDE mostra a distribuição dos EUA de memória 1K da tag RFID. Essa distribuição também contém os setores, blocos e informações de dados em linhas e colunas dos dados de saída:
Você também pode ler o ID exclusivo (Uid) para o cartão no final da saída:
4: Lendo uma tag RFID usando ESP32
Agora lemos o ID exclusivo (UID) para tag RFID. Escreveremos um código Arduino que salva as informações deste cartão e conceda acesso ao usuário se a tag RFID com o mesmo UID for tocada com o sensor MFRC522.
4.1: código
Open IDE Selecione a placa ESP32 e o upload de código dado.
/*O código começou incluindo a biblioteca SPI e MFRC522. Em seguida, definimos o pino de reinicialização e escravo para o sensor. Um LED no pino D12 é inicializado como saída.
O cartão RFID que queremos ler é inicializado definindo o UID. Este é o mesmo UID que temos usando o Dumpinfo Exemplo Código:
Um SE a condição verificará o UID quanto ao cartão que é tocado com o sensor. Se o UID corresponder ao que dentro do código LED ligará e a mensagem de acesso autorizada será impressa, caso contrário, o LED permanecerá desligado e o acesso negado a mensagem aparecerá se qualquer outro cartão for tocado.
4.2: saída
Na saída, podemos ver a tag RFID não é tocada com o sensor MFRC522, então o LED está desligado.:
Toque ou traga o cartão/tag RFID próximo ao sensor a seguir, aparecerá no monitor serial exibindo o cartão UID:
O LED está ligado se o acesso for concedido e o UID corresponde ao que definimos dentro do código:
Concluímos a interface da tag RFID com o sensor RC522 usando a placa ESP32 e o IDE.
Conclusão
O ESP32 é uma placa de IoT que apresenta todas as interfaces de comunicação necessárias para a troca de dados entre diferentes dispositivos. O ESP32 tem vários pinos de GPIO para ler dados de sensores. O uso do protocolo SPI ESP32 pode ler dados do sensor RFID e vários projetos podem ser projetados. Este artigo abrange a interface do ESP32 com o sensor e o código RC522 necessário para ler qualquer cartão/tag RFID.