Usando o módulo RFID RC522 com o Raspberry Pi

Using the RC522 RFID Module with the Raspberry Pi

Módulo RFID RC522 Permite que o Raspberry Pi leia e escreva tags RFID (identificação de radiofrequência), tornando -o útil para projetos de controle de acesso, automação e IoT. Este guia mostrará como conectar, configurar e ler cartões RFID usando o Raspberry Pi e o Python.


O que você precisará

  1. Raspberry Pi (Qualquer modelo com suporte SPI, por exemplo, PI 3, PI 4)
  2. Módulo RFID RC522
  3. Tag ou cartão RFID (Compatível com a frequência de 13,56MHz)
  4. Fios de pão e jumper
  5. Python instalado no seu Raspberry Pi

Etapa 1: Fiação do RC522 para o Raspberry Pi

O RC522 se comunica com o Raspberry Pi usando o Protocolo SPI.

Conexões (modo SPI)

Pino RC522 Pino de framboesa pi Função
VCC 3.3V (pino 1) Fonte de energia
Gnd Terra (pino 6) Chão
SDA (SS) Gpio8 (pino 24) SPI Chip Select
Sck GPIO11 (pino 23) Relógio SPI
Mosi Gpio10 (pino 19) Entrada de dados SPI
Miso Gpio9 (pino 21) Saída de dados SPI
RST Gpio25 (pino 22) Reiniciar

Observação: O RC522 opera em 3.3V. Fazer não Conecte -o a 5V, pois pode danificar o módulo.


Etapa 2: Ative a interface SPI

O RC522 usa SPI (interface periférica em série) Para comunicação, precisamos ativar o SPI no Raspberry Pi.

  1. Abra a ferramenta de configuração do Raspberry Pi:

    sudo raspi-config
    
  2. Navegar para Opções de interface> SPI e ativá -lo.

  3. Reinicie o Raspberry Pi:

    sudo reboot
    
  4. Verifique se o SPI está ativado:

    ls /dev/spidev*
    

    Você deveria ver /dev/spidev0.0 e /dev/spidev0.1.


Etapa 3: Instale as bibliotecas necessárias

  1. Atualize seu Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Instale as bibliotecas SPI e RFID:
    sudo apt install -y python3-pip python3-spidev python3-rpi.gpio
    pip3 install mfrc522
    

Etapa 4: Código Python para ler dados RFID

Aqui está um script python para ler dados de tag/cartão RFID usando o módulo RC522.

Exemplo de código Python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    print("Place your RFID tag or card near the reader...")
    id, text = reader.read()
    print(f"RFID Tag ID: {id}")
    print(f"Stored Text: {text}")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

Etapa 5: Escrevendo dados em uma tag RFID

Você também pode escrever texto personalizado em uma tag RFID.

Exemplo de código python para escrever dados

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
    text = input("Enter text to write to the RFID tag: ")
    print("Place your RFID tag near the reader...")
    reader.write(text)
    print("Data written successfully!")

except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

Etapa 6: Aplicações do módulo RFID RC522

  1. Controle de acesso - Use cartões RFID para desbloquear portas ou conceder acesso a áreas restritas.
  2. Sistemas de presença - Entradas e saídas de registro em escolas, escritórios ou eventos.
  3. Gerenciamento de inventário - Rastreie os itens usando tags RFID.
  4. IoT e automação - Aparecer dispositivos domésticos inteligentes ou sistemas industriais com autenticação RFID.

Solução de problemas

  1. Tag RFID não detectado

    • Verifique se a tag está dentro 2-3 cm do leitor.
    • Verifique a fiação e as conexões.
  2. Permissão negado erro

    • Execute o script com sudo:
      sudo python3 rfid_read.py
      
  3. Nenhum dispositivo SPI encontrado

    • Verifique se o SPI está ativado (ls /dev/spidev* deve listar dispositivos).
    • Tente reenabilizar SPI via sudo raspi-config.

Conclusão

O Módulo RFID RC522 é uma ferramenta poderosa para integrar a identificação e a automação baseadas em RFID em projetos de Raspberry Pi. Seguindo este guia, você pode ler e escrever dados de tag RFID facilmente, permitindo aplicativos nos projetos de controle de acesso, segurança e IoT. Experimente diferentes casos de uso para desbloquear todo o seu potencial! 🚀

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.