O PN532 é um módulo versátil NFC (comunicação de campo próximo) que pode ser usado para ler e escrever tags NFC, bem como para implementar sistemas RFID. O uso do PN532 com um Raspberry Pi permite integrar os recursos da NFC em seus projetos para aplicativos como controle de acesso, pagamentos sem contato e dispositivos de IoT. Este guia orienta você a configurar e usar o PN532 com um Raspberry Pi.
O que você precisará
- Raspberry Pi (Qualquer modelo com suporte GPIO, por exemplo, PI 3, PI 4)
- Módulo PN532 NFC
- Fios de pão e jumper
- Um computador com acesso SSH ao Raspberry Pi ou um teclado conectado e monitor
- Python instalado no Raspberry Pi
Etapa 1: Fiação do PN532 para o Raspberry Pi
O módulo PN532 suporta vários protocolos de comunicação, incluindo I2C, SPI e UART. Este guia usa a interface I2C para simplificar.
Conexões (modo i2c)
Pin pn532 | Pino de framboesa pi |
---|---|
VCC | 3.3V (pino 1) |
Gnd | Terra (pino 6) |
SDA | SDA (pino 3, gpio2) |
SCL | SCL (pino 5, gpio3) |
SEL0 | Gnd |
SEL1 | VCC |
Observação: Os pinos SEL0 e SEL1 determinam o modo de comunicação. Conectando SEL0 ao GND e SEL1 ao VCC Seleciona o modo I2C.
Etapa 2: Ative a interface I2C no Raspberry Pi
- Abra a ferramenta de configuração do Raspberry Pi:
sudo raspi-config
- Navegar para Opções de interface> i2c e ativá -lo.
- Reinicie o Raspberry Pi:
sudo reboot
Etapa 3: Instale as ferramentas e bibliotecas necessárias
- Atualize seu Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Instale as ferramentas i2C:
sudo apt install -y i2c-tools
- Instale as bibliotecas Python para comunicação I2C e funcionalidade PN532:
pip install adafruit-circuitpython-pn532
Etapa 4: verifique a conexão
- Usar
i2cdetect
Para verificar se o PN532 é detectado no barramento i2C:sudo i2cdetect -y 1
- Você deve ver o PN532 no endereço
0x24
ou0x48
. Se não:- Verifique sua fiação.
- Verifique se o PN532 está alimentado.
Etapa 5: Lendo tags NFC com Python
O script Python a seguir demonstra como ler tags NFC usando o PN532.
Exemplo de código Python
import board
import busio
from adafruit_pn532.i2c import PN532_I2C
# I2C connection setup
i2c = busio.I2C(board.SCL, board.SDA)
pn532 = PN532_I2C(i2c, debug=False)
# Configure PN532 to read NFC tags
pn532.SAM_configuration()
print("Waiting for an NFC tag...")
while True:
uid = pn532.read_passive_target(timeout=0.5)
if uid is not None:
print(f"Found NFC tag with UID: {uid.hex()}")
Etapa 6: Aplicações do PN532
- Controle de acesso: Crie um sistema de trava de porta baseado em NFC.
- Pagamentos sem contato: Simular sistemas de pagamento com cartões NFC.
- Projetos de IoT: Use tags NFC para acionar eventos de automação.
- Registro de dados: Escreva dados em tags NFC para fins de inventário ou rastreamento.
Solução de problemas
-
Dispositivo não detectado:
- Verifique as conexões SDA e SCL.
- Verifique se a interface I2C está ativada no Raspberry Pi.
- Verifique a configuração do pino SEL0 e SEL1 para o modo I2C.
-
Leia erros:
- Verifique se a tag NFC está dentro do intervalo do PN532.
- Verifique se a interferência de objetos metálicos ou outros dispositivos eletrônicos.
-
Erros i2c:
- Certifique -se de que não haja dispositivos conflitantes no barramento i2C.
Conclusão
O módulo PN532 NFC é uma ferramenta versátil para adicionar recursos NFC e RFID aos seus projetos Raspberry Pi. Seguindo este guia, você pode configurar e usar o PN532 para aplicações como controle de acesso, automação de IoT e troca de dados sem contato. Experimente a leitura e a escrita de tags NFC para explorar todo o potencial deste poderoso módulo!