Arduino - RFID/NFC
In deze tutorial gaan we leren hoe u RFID/NFC gebruikt met Arduino. Het RFID/NFC-systeem bestaat uit twee componenten: een reader (lezer) en een tag (label). Er zijn twee populaire RFID/NFC-lezers: RC522 en PN532 RFID/NFC reader. Deze tutorial richt zich op de RC522 RFID/NFC reader. De PN532 RFID/NFC reader zal in een volgende tutorial aan bod komen.
De RC522 RFID/NFC reader (ook wel RFID-RC522 Module genoemd) kan:
- De UID van een RFID/NFC tag uitlezen
- De UID van een RFID/NFC tag veranderen (alleen als de tag UID-schrijfbaar is)
- Gegevens naar de RFID/NFC tag schrijven
- Gegevens van de RFID/NFC tag lezen
Van deze mogelijkheden is voor Arduino het uitlezen van de UID het meest gebruikt. Deze tutorial richt zich op het uitlezen van de UID van een RFID/NFC tag. De overige functies komen aan bod in volgende tutorials.
Hardware Vereist
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de RFID-RC522 Module
RFID-RC522 Module Pinout
De RFID-RC522 heeft 8 pins, waarvan sommige algemene pinnen zijn, en anderen gedeeld worden onder drie communicatie-modi: SPI, I2C, UART. Er kan slechts één communicatie-modus tegelijk gebruikt worden. De pinnen zijn:
- GND pin: moet verbonden worden met GND (0V)
- VCC pin: moet verbonden worden met VCC (3,3V)
- RST pin: is een reset- en power-down pin. Wanneer deze pin laag wordt, wordt een harde power-down ingeschakeld. Bij een stijgende flank wordt de module gereset.
- IRQ pin: is een interrupt pin die de microcontroller kan waarschuwen wanneer een RFID tag binnen bereik komt.
- MISO/SCL/TX pin: werkt als MISO bij SPI-interface, als SCL bij I2C-interface, en als TX bij UART-interface.
- MOSI pin: werkt als MOSI bij SPI-interface.
- SCK pin: werkt als SCK bij SPI-interface.
- SS/SDA/RX pin: werkt als SS bij SPI-interface, als SDA bij I2C-interface, en als RX bij UART-interface.

※ Notiz:
- De volgorde van de pinnen kan verschillen per fabrikant. Gebruik ALTIJD de op de module geprinte labels. De bovenstaande afbeelding toont de pinout van de module van de fabrikant DIYables.
- Verbind de VCC pin NIET met 5V. Dit zal waarschijnlijk uw module beschadigen.
- De MFRC522 bibliotheek ondersteunt alleen SPI modus. Daarom gebruikt deze tutorial alleen SPI communicatie.
Hoe RFID/NFC Werkt
RFID/NFC bestaat uit twee componenten: reader (lezer) en tag (label).
- De reader bevat een radiografisch frequentiemodule en een antenne die een hoogfrequente elektromagnetische veld produceert.
- De tag is meestal een passief apparaat, wat betekent dat deze geen eigen stroombron nodig heeft. De tag bevat een microchip die informatie opslaat en verwerkt, en een antenne om signalen te ontvangen en te verzenden. De tag slaat de informatie op: UID (Unique ID - unieke identificatiecode) en data.

Om de informatie op een tag uit te lezen, moet de tag zich dicht bij de reader bevinden (er is geen direct zichtlijn vereist). Het uitleesproces is als volgt:
- De reader genereert een elektromagnetisch veld waardoor elektronen door de antenne van de tag bewegen en zodoende de chip van stroom voorzien.
- De chip in de tag reageert door de gevraagde informatie terug te sturen naar de reader in de vorm van een radiosignaal.
- De reader detecteert het signaal en zet het om in data.
- Arduino leest de data van de reader uit.
Verbindingsschema tussen RFID-RC522 Module en Arduino
De RFID-RC522 Module is ontworpen om te werken op 3,3V, terwijl de output pinnen van een Arduino een 5V niveau leveren. Daarom:
- Voor de veiligheid moet de 5V uitgang van de Arduino pinnen gereguleerd worden naar 3,3V voordat deze met de RC522 Module verbonden worden.
- Voor eenvoudige tests kan de Arduino direct aangesloten worden op de RC522 Module, maar dit kan ertoe leiden dat de Arduino soms niet correct werkt.
In deze tutorial worden twee verschillende aansluitingen getoond:
- Verbindingsschema tussen RC522 en Arduino zonder spanningsregelaar

This image is created using Fritzing. Click to enlarge image
- Verbindingsschema tussen RC522 en Arduino met spanningsregelaar

This image is created using Fritzing. Click to enlarge image
Zoals te zien is in het schema boven, worden weerstanden van 1 kOhm en 2 kOhm gebruikt om 5V te verlagen naar 3,3V. Het is niet nodig om de spanning te verlagen tussen de Arduino pin en de MISO pin van de RC522 module. Echter, het is wel noodzakelijk om de spanning te regelen tussen de Arduino pinnen en de SS, SCK, MOSI en RST pinnen van de RC522 module.
Verbindings tabel van RFID/NFC RC522 Module en Arduino
| RFID/NFC RC522 | Arduino |
|---|---|
| SS | → 10 |
| SCK | → 13 |
| MOSI | → 11 |
| MISO | → 12 |
| IRQ(niet verbonden) | |
| GND | → GND |
| RST | → 5 |
| VCC | → 3.3V |
Arduino RFID/NFC Code
Snelle Stappen
- Navigeer naar het Libraries-icoon in de linkerbalk van de Arduino IDE.
- Zoek op “MFRC522”, en vind de bibliotheek van GithubCommunity.
- Klik op de Installeren-knop om de MFRC522 bibliotheek te installeren.

- Kopieer de bovenstaande code en open deze in de Arduino IDE.
- Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino te uploaden.
- Open de Serial Monitor.
- Houd meerdere RFID/NFC tags tegen de RFID-RC522 module.
- Bekijk de UID op de Serial Monitor.
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.