Como usar o módulo RFID RC522 com Arduino

How to Use the RC522 RFID Module with Arduino

O RC522 é um módulo RFID popular usado para comunicação e identificação sem fio. É amplamente utilizado em sistemas de controle de acesso, sistemas de pagamento sem contato e rastreamento de inventário. Este tutorial o guiará através da interface do módulo RFID RC522 com Arduino para ler tags e cartões RFID.


O que você precisará

  1. Módulo RFID RC522
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Tags ou cartões RFID (13,56 MHz)
  4. Fios de pão e jumper
  5. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o módulo RFID RC522

O módulo RFID RC522 opera a 13,56 MHz e se comunica com um microcontrolador usando o protocolo SPI. Ele vem com uma antena RFID e suporta operações de leitura e escrita.

RC522 PILOUT

Alfinete Função
SDA SPI SS (Slave Select)
Sck Relógio SPI
Mosi Entrada de dados SPI
Miso Saída de dados SPI
IRQ Solicitação de interrupção (opcional)
Gnd Chão
RST Reiniciar
3.3V Fonte de energia

Observação: O RC522 opera com lógica 3.3V; Verifique se suas conexões correspondem aos requisitos de tensão da sua placa.


Etapa 2: Fiação do RC522 para Arduino

Veja como conectar o módulo RFID RC522 a um Arduino Uno:

Pino RC522 Pino Arduino
SDA Pino 10
Sck Pino 13
Mosi Pino 11
Miso Pino 12
IRQ Não conectado
Gnd Gnd
RST Pino 9
3.3V 3.3V

Observação: Para outras placas do Arduino, certifique -se de mapear os pinos SPI corretamente.


Etapa 3: Instale a biblioteca necessária

Para trabalhar com o módulo RC522, instale a biblioteca "MFRC522".

Etapas para instalar:

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise "MFRC522" e clique Instalar.

Etapa 4: Faça o upload do código

Aqui está um exemplo de esboço para ler dados de tag RFID:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9  // Reset pin
#define SS_PIN 10  // Slave select pin

MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library

void setup() {
  Serial.begin(9600);
  while (!Serial);

  SPI.begin();      // Initialize SPI bus
  rfid.PCD_Init();  // Initialize RFID reader

  Serial.println("RC522 RFID Reader Initialized");
}

void loop() {
  // Check for a new card
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
    return;
  }

  Serial.println("Card detected:");

  // Print the UID of the card
  Serial.print("UID: ");
  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(rfid.uid.uidByte[i], HEX);
  }
  Serial.println();

  rfid.PICC_HaltA(); // Halt the card
}

Etapa 5: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código para o Arduino clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Coloque uma etiqueta ou cartão RFID perto do módulo. O UID do cartão será exibido no monitor serial.

Opcional: escrevendo dados em uma tag RFID

Para escrever dados em uma tag RFID, você pode usar o PICC_Write Função na biblioteca MFRC522. Consulte os exemplos da biblioteca para obter operações detalhadas de gravação.


Aplicações do RC522

  1. Sistemas de controle de acesso
  2. Sistemas de pagamento sem contato
  3. Rastreamento e gerenciamento de inventário
  4. Sistemas de atendimento inteligentes

Solução de problemas

  • Nenhuma resposta do módulo: Verifique a fiação e verifique se as conexões SPI estão corretas.
  • Uid não detectado: Verifique se a tag está dentro do intervalo da antena RFID.
  • Erros da biblioteca: Verifique se a biblioteca MFRC522 está instalada corretamente.

Conclusão

Você interfigurou com sucesso o módulo RFID RC522 com o Arduino, permitindo ler dados de tag RFID. Este módulo versátil é perfeito para projetos que exigem comunicação e identificação sem fio. Experimente recursos adicionais, como escrever dados para tags ou integrá -los em sistemas maiores para aplicativos avançados!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.