De PN532 is een veelzijdige NFC-module (Near Field Communication) die kan worden gebruikt voor het lezen en schrijven van NFC-tags, evenals voor het implementeren van RFID-systemen. Door de PN532 te gebruiken met een Raspberry Pi, kun je NFC-functionaliteit integreren in je projecten voor toepassingen zoals toegangscontrole, contactloze betalingen en IoT-apparaten. Deze handleiding leidt je door het instellen en gebruiken van de PN532 met een Raspberry Pi.
Wat je nodig hebt
- Raspberry Pi (elk model met GPIO-ondersteuning, bijv. Pi 3, Pi 4)
- PN532 NFC-module
- Breadboard en jumperkabels
- Een computer met SSH-toegang tot de Raspberry Pi of een aangesloten toetsenbord en monitor
- Python geïnstalleerd op de Raspberry Pi
Stap 1: De PN532 aansluiten op de Raspberry Pi
De PN532-module ondersteunt meerdere communicatieprotocollen, waaronder I2C, SPI en UART. Deze handleiding gebruikt de I2C-interface voor het gemak.
Aansluitingen (I2C-modus)
| PN532 Pin | Raspberry Pi Pin |
|---|---|
| VCC | 3.3V (Pin 1) |
| GND | Ground (Pin 6) |
| SDA | SDA (Pin 3, GPIO2) |
| SCL | SCL (Pin 5, GPIO3) |
| SEL0 | GND |
| SEL1 | VCC |
Let op: De SEL0- en SEL1-pinnen bepalen de communicatiemodus. Door SEL0 met GND en SEL1 met VCC te verbinden, selecteer je de I2C-modus.
Stap 2: De I2C-interface inschakelen op de Raspberry Pi
- Open het configuratieprogramma van de Raspberry Pi:
sudo raspi-config - Navigeer naar Interface Options > I2C en schakel deze in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
Stap 3: Vereiste tools en bibliotheken installeren
- Update je Raspberry Pi:
sudo apt update && sudo apt upgrade -y - Installeer de I2C-tools:
sudo apt install -y i2c-tools - Installeer Python-bibliotheken voor I2C-communicatie en PN532-functionaliteit:
pip install adafruit-circuitpython-pn532
Stap 4: De verbinding verifiëren
- Gebruik
i2cdetectom te controleren of de PN532 wordt gedetecteerd op de I2C-bus:sudo i2cdetect -y 1 - Je zou de PN532 moeten zien op adres
0x24of0x48. Zo niet: - Controleer je bedrading.
- Zorg ervoor dat de PN532 van stroom wordt voorzien.
Stap 5: NFC-tags lezen met Python
Het volgende Python-script laat zien hoe je NFC-tags leest met de PN532.
Python-codevoorbeeld
import board
import busio
from adafruit_pn532.i2c import PN532_I2C
# I2C-verbindingsinstellingen
i2c = busio.I2C(board.SCL, board.SDA)
pn532 = PN532_I2C(i2c, debug=False)
# Configureer PN532 om NFC-tags te lezen
pn532.SAM_configuration()
print("Wachten op een NFC-tag...")
while True:
uid = pn532.read_passive_target(timeout=0.5)
if uid is not None:
print(f"NFC-tag gevonden met UID: {uid.hex()}")
Stap 6: Toepassingen van de PN532
- Toegangscontrole: Creëer een NFC-gebaseerd deurslotsysteem.
- Contactloze betalingen: Simuleer betalingssystemen met NFC-kaarten.
- IoT-projecten: Gebruik NFC-tags om automatiseringsgebeurtenissen te activeren.
- Gegevenslogboekregistratie: Schrijf gegevens naar NFC-tags voor inventaris- of trackingdoeleinden.
Probleemoplossing
-
Apparaat niet gedetecteerd:
- Controleer de SDA- en SCL-verbindingen.
- Zorg ervoor dat de I2C-interface is ingeschakeld op de Raspberry Pi.
- Controleer de configuratie van de SEL0- en SEL1-pinnen voor de I2C-modus.
-
Leesfouten:
- Zorg ervoor dat de NFC-tag zich binnen het bereik van de PN532.
- bevindt. Controleer op interferentie door metalen voorwerpen of andere elektronische apparaten.
-
I2C-fouten:
- Zorg ervoor dat er geen conflicterende apparaten op de I2C-bus aanwezig zijn.
Conclusie
De PN532 NFC-module is een veelzijdige tool voor het toevoegen van NFC- en RFID-mogelijkheden aan je Raspberry Pi-projecten. Door deze handleiding te volgen, kun je de PN532 instellen en gebruiken voor toepassingen zoals toegangscontrole, IoT-automatisering en contactloze gegevensuitwisseling. Experimenteer met het lezen en schrijven van NFC-tags om het volledige potentieel van deze krachtige module te ontdekken!





