Arduino Nano - RFID Deurslot
Deze tutorial leert u hoe u een deurslotsysteem bouwt met Arduino Nano, RFID/NFC RC522 module, een relay, spoelslot of elektromagnetisch slot, en optioneel een LCD-scherm. Om het u gemakkelijk te maken, begeleidt deze tutorial u stap voor stap, van eenvoudig naar complex. In detail behandelen we:
- Deel 1: Een eenvoudig RFID deurslotsysteem met Arduino Nano, keypad, spoelslot of elektromagnetisch slot, met ondersteuning voor één RFID-sleutel
- Deel 2: (Optioneel) Toevoegen van ondersteuning voor meerdere RFID-sleutels
- Deel 3: (Optioneel) Toevoegen van een LCD-display aan het RFID deurslot
- Deel 4: (Optioneel) Toevoegen van een deur-sensor aan het RFID deurslot
- Deel 5: (Optioneel) Beheren en opslaan van geldige RFID-sleutels in het interne EEPROM van Arduino Nano
- Deel 6: (Optioneel) Toegangsgeschiedenis opslaan op een SD-kaart
Wilt u een deurslot maken dat werkt met een wachtwoord, raadpleeg dan Arduino Nano - Keypad Deurslot
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over RFID/NFC RC522 Module, Spoelslot en Elektromagnetisch Slot
Als u onbekend bent met de RFID/NFC RC522 module, spoelslot of elektromagnetisch slot (inclusief pinout, werking en programmering), kunnen de volgende tutorials u meer informatie bieden:
Deurslot Systeem Componenten
Een eenvoudig deurslotsysteem bestaat uit twee componenten:
- Deurslot: een Arduino Nano, een RFID/NFC-lezer, een relay, en een spoelslot of elektromagnetisch slot
- Deursleutel: RFID/NFC tags

Hoe Werkt het RFID/NFC Deurslot
- De gebruiker houdt een RFID/NFC-tag tegen de RFID/NFC-lezer, die de UID van de tag uitleest.
- Arduino Nano ontvangt deze UID van de lezer en vergelijkt deze met de UIDs die in de Arduino Nano-code zijn opgeslagen.
- Deze UIDs fungeren als geautoriseerde sleutels.
- Als de UID overeenkomt met een van de vooraf ingestelde UIDs, zal Arduino Nano het spoelslot deactiveren om de deur te ontgrendelen.
- Arduino Nano vergrendelt de deur weer na een time-out door de relay te activeren.
Bedradingsschema
- RFID RC522 Deurslot met Spoelslot

This image is created using Fritzing. Click to enlarge image
- RFID RC522 Deurslot met Elektromagnetisch Slot

This image is created using Fritzing. Click to enlarge image
Om het aansluiten eenvoudiger te maken, zijn de pinnen van de RC522-module rechtstreeks verbonden met de Arduino-pinnen. Dit kan echter in sommige gevallen veroorzaken dat de Arduino verkeerd functioneert, omdat de output pinnen van Arduino 5V leveren, terwijl de RC522-module op 3,3V werkt. Daarom wordt aanbevolen om de spanning tussen Arduino en RC522 pinnen te regelen. onderstaand schema toont hoe weerstanden gebruikt kunnen worden om 5V naar 3,3V te verlagen.

This image is created using Fritzing. Click to enlarge image
※ Notiz:
Fabrikanten kunnen de volgorde van pinnen verschillend rangschikken, dus het is belangrijk om te vertrouwen op de labels die op de module gedrukt staan. De pinout diagram hierboven toont de pinlay-out voor modules geproduceerd door fabrikant DIYables.
Arduino Nano Code - Enkele Sleutel
Snelle Stappen
Om de UID van een RFID/NFC-tag te achterhalen:
- Upload bovenstaande code naar Arduino Nano met de Arduino IDE
- Open de Serial Monitor en houd de tag tegen de RFID-RC522 module. De UID wordt weergegeven in de Serial Monitor.
Zodra u de UID heeft:
- Pas regel 18 van de code aan met de juiste UID, bijvoorbeeld wijzig byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; naar byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Upload de gewijzigde code opnieuw naar Arduino Nano
- Houd een RFID/NFC-tag tegen de RFID-RC522 module
- Controleer de output in de Serial Monitor
- Controleer of het spoelslot is gedeactiveerd.
- Houd een andere RFID/NFC-tag tegen de RFID-RC522 module.
- Controleer opnieuw de output in de Serial Monitor.
※ Notiz:
- Voor testdoeleinden is de ontgrendelingstijd op 2 seconden ingesteld; in praktische toepassingen dient deze verlengd te worden.
- Installatie van de MFRC522 bibliotheek is vereist. Raadpleeg voor meer informatie de Arduino Nano - RFID/NFC RC522 tutorial.
Arduino Nano Code - Meerdere Sleutels
Stel u voor dat alleen de manager en secretaresse de deur mogen openen.
In dat geval heeft u twee RFID/NFC-tags nodig: één voor de manager en één voor de secretaresse. De UIDs van beide tags moeten in de code worden opgenomen.
Herhaal dezelfde stappen als voorheen en hou elke tag afzonderlijk tegen de RFID-RC522 module. De output in de Serial Monitor zou er als volgt uit moeten zien:
U kunt de bovenstaande code uitbreiden met drie, vier of meer tags.
LCD Display Toevoegen aan het RFID Deurslot
Optioneel kunt u een LCD-display toevoegen om de toegangstatus weer te geven (bijv. TOEGESTAAN/WEIGERING) aan gebruikers. Meer informatie over LCD vindt u in de Arduino Nano - LCD tutorial.
Bedradingsschema - Deurslotsysteem met RFID, spoelslot of elektromagnetisch slot, en LCD-display

This image is created using Fritzing. Click to enlarge image
Let op dat in bovenstaande bedrading 5V voeding is toegevoegd, aangezien de 5V pin van de Arduino niet genoeg stroom kan leveren voor zowel relay als LCD tegelijkertijd.
Arduino Nano Code - Deurslotsysteem met password met RFID RC522 module, spoelslot of elektromagnetisch slot, en LCD display
※ Notiz:
Het adres van het LCD-display kan verschillen per fabrikant. In onze code is 0x27 gebruikt, zoals gespecificeerd door DIYables.
Deursensor Toevoegen aan het RFID Deurslot
In de vorige code vergrendelde de deur na een time-out na ontgrendeling door Arduino Nano. In de praktijk wordt er vaak een deursensor geïntegreerd. Als de deur gesloten is, zal Arduino Nano direct de deur vergrendelen zonder te wachten op de timeout.
Om u niet te overladen, hebben we geen deursensor opgenomen in het bedrading schema en de code. We laten dit deel open voor uw eigen creativiteit. U kunt de volgende tutorials raadplegen: Arduino Nano - Deursensor en Arduino Nano - Deursensor relaisbeheer.
Beheren en Opslaan van Geldige RFID Sleutels in EEPROM
In het vorige voorbeeld werden de geldige RFID-sleutels (UIDs) hardcoded in de Arduino Nano code. Dit betekent dat u de code moet aanpassen en opnieuw uploaden om sleutels toe te voegen of te verwijderen, wat onpraktisch is.
Voor praktische toepassing is het handiger om RFID-sleutels op te slaan in EEPROM in plaats van hardcoded. Zo kunt u sleutels toevoegen of verwijderen zonder de code aan te passen of te uploaden.
Er zijn twee methoden om RFID sleutels in EEPROM te beheren:
- RFID-sleutels als master keys
- Gebruik een RFID key als ADD master key om nieuwe keys toe te voegen. Nadat Arduino de ADD master key herkent, schakelt het tussen ADD-modus en OPERATION-modus.
- In ADD-modus voegt Arduino een gedetecteerde nieuwe key toe aan EEPROM.
- Er is ook een DELETE master key en DELETE-modus voor verwijderen.
- ADD/DELETE commando’s via Serial/Bluetooth/IR
- Commando’s worden verstuurd via Serial Monitor, Bluetooth app, IR-controller enz.
- Commando’s bevatten: directive (ADD/DELETE), UID van RFID-key.
- Voor veiligheid bevat commando ook een wachtwoord. Arduino verifieert het wachtwoord om geldigheid te bepalen.
Beide methoden vereisen veel Arduino-code. Dit is geen eenvoudige taak voor beginners. Daarom biedt deze tutorial slechts basiskennis om het deurvergrendelsysteem te begrijpen zonder u te overladen met complexe code. Voor praktische implementatie kunt u contact opnemen via onze betaalde programmeerservice.
Toegangsgeschiedenis Opslaan op SD-kaart
U wilt misschien de toegangsgeschiedenis opslaan met informatie zoals UID van de RFID-key, toegangstatus (TOEGESTAAN/GEWEIGERD) en datum/tijd. Hiervoor gebruikt u een SD-kaart, want EEPROM is niet groot genoeg voor deze geschiedenis. Zie daarvoor de tutorial Arduino Nano - Log Data with Timestamp to SD Card.
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.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en laat u stap voor stap zien hoe u het systeem bouwt en programmeert.