Arduino Nano - RFID-Türschloss
Dieses Tutorial zeigt dir, wie du ein Türschloss-System mit Arduino Nano, dem RFID/NFC RC522-Modul, einem Relais, einem Solenoidschloss oder einem elektromagnetischen Schloss und optional einem LCD-Display aufbaust. Um es dir leichter zu machen, führt dich das Tutorial schrittweise von einfachen zu komplexeren Schritten beim Aufbau des RFID-Türschlosses. Im Detail werden wir Folgendes tun:
- Teil 1: Ein einfaches RFID-Türschloss-System mit Arduino Nano, Tastenfeld, Solenoid- oder elektromagnetischem Schloss, unterstützt einen einzelnen RFID-Schlüssel
- Teil 2: (Optional) Das Hinzufügen mehrerer RFID-Schlüssel wird unterstützt
- Teil 3: (Optional) Das Hinzufügen eines LCD-Displays zum RFID-Türschloss.
- Teil 4: (Optional) Das Hinzufügen eines Türsensors zum RFID-Türschloss.
- Teil 5: (Optional) Verwaltung und Speicherung der gültigen RFID-Schlüssel im internen EEPROM des Arduino Nano.
- Teil 6: (Optional) Speichern der Zugriffshistorie auf der SD-Karte
Wenn Sie ein Türschloss-System mit Passwort bauen möchten, beachten Sie bitte Arduino Nano - Keypad Door Lock.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über RFID/NFC RC522-Modul, Solenoidschloss und elektromagnetisches Schloss
Wenn Sie mit dem RFID/NFC RC522-Modul, dem Solenoid-Schloss und der elektromagnetischen Verriegelung (einschließlich Pinbelegung, Funktionsweise und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials weitere Informationen liefern:
Türschloss-Systemkomponenten
Ein einfaches Türschloss-System besteht aus zwei Komponenten:
- Türschloss: ein Arduino Nano, ein RFID-/NFC-Lesegerät, ein Relais und ein Solenoidschloss oder ein elektromagnetisches Schloss
- Türschlüssel: RFID-/NFC-Tags

Wie ein RFID-/NFC-Türschloss funktioniert
- Der Benutzer hält einen RFID/NFC-Tag an den RFID/NFC-Leser, der die UID vom Tag ausliest.
- Der Arduino Nano erhält dann diese UID vom Leser und vergleicht sie mit den UIDs, die im Arduino-Nano-Code festgelegt wurden.
- Diese UIDs dienen als berechtigte Schlüssel.
- Wenn die UID mit einer der vordefinierten UIDs übereinstimmt, deaktiviert der Arduino Nano das Solenoidschloss, um die Tür zu entriegeln.
- Der Arduino Nano verriegelt die Tür nach einem Timeout, indem er das Relais aktiviert.
Verdrahtungsdiagramm
- RFID RC522 Türschloss mit Solenoidschloss

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- RFID RC522 Türschloss mit elektromagnetischem Schloss

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um den Verbindungsprozess zu vereinfachen, sind die Pins des RC522-Moduls direkt mit den Pins des Arduino verbunden. Dies kann jedoch in einigen Fällen dazu führen, dass der Arduino Fehlfunktionen zeigt, da die Ausgangspins des Arduino 5V erzeugen, während die Pins des RC522-Moduls mit 3,3V arbeiten. Daher wird empfohlen, die Spannung zwischen den Pins des Arduino und dem RC522-Modul zu regulieren. Das untenstehende Diagramm veranschaulicht, wie Widerstände verwendet werden können, um 5V auf 3,3V zu regulieren.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
※ Notiz:
Hersteller können die Reihenfolge der Pins unterschiedlich anordnen, daher ist es wichtig, sich auf die auf dem Modul aufgedruckten Beschriftungen zu verlassen. Die oben gezeigte Pinbelegung zeigt die Anordnung der Pins für Module, die vom Hersteller DIYables hergestellt werden.
Arduino Nano Code - Eine Taste
Schnelle Schritte
Um die UID eines RFID/NFC-Tags zu ermitteln:
- Lade den oben genannten Code auf den Arduino Nano mit der Arduino-IDE hoch.
- Öffne den Serial Monitor und tippe auf das Tag am RFID-RC522-Modul. Die UID wird im Serial Monitor angezeigt.
Sobald Sie die UID haben:
- Ändere Zeile 18 des Codes, um die UID widerzuspiegeln, z. B. ändere byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; zu byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Lade den überarbeiteten Code auf den Arduino Nano hoch.
- Platziere einen RFID/NFC-Tag auf dem RFID-RC522-Modul.
- Überprüfe die Ausgabe im Serial Monitor.
- Vergewissern Sie sich, dass das Solenoidschloss nicht deaktiviert ist.
- Halten Sie ein anderes RFID/NFC-Tag an das RFID-RC522-Modul.
- Überprüfen Sie die Ausgabe im Serial Monitor.
※ Notiz:
- Um Tests zu erleichtern, wurde die Freigabezeit auf 2 Sekunden gesetzt; sie sollte jedoch für den praktischen Einsatz bzw. zur Demonstration erhöht werden.
- Die Installation der MFRC522-Bibliothek ist erforderlich. Weitere Informationen finden Sie im Arduino Nano - RFID/NFC RC522 Tutorial.
Arduino Nano Code - Mehrere Tasten
Stellen wir uns einen Raum vor, in dem nur der Manager und die Sekretärin die Tür öffnen können.
In diesem Fall werden zwei RFID-/NFC-Tags benötigt: eines für den Manager und das andere für die Sekretärin. Die UIDs beider Tags müssen im Code angegeben werden.
Wiederhole die gleichen Schritte wie zuvor und wähle anschließend jedes Tag auf dem RFID-RC522-Modul einzeln aus. Die Ausgabe im Serial Monitor sollte wie folgt aussehen:
Sie können den oben genannten Code erweitern, um drei, vier oder mehr Tags einzuschließen.
Hinzufügen eines LCD-Displays zum RFID-Türschloss
Wir können optional ein LCD-Display hinzufügen, um den Zugriffsstatus (z. B. GENEHMIGT/ABGELEHNT) für Benutzer anzuzeigen. Sie können mehr über LCD in Arduino Nano - LCD-Tutorial erfahren.
Schaltplan - Türschloss-System mit RFID, Solenoid-Schloss oder elektromagnetischem Schloss und LCD-Anzeige

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.
Bitte beachten Sie, dass im oben gezeigten Schaltplan 5-V-Strom hinzugefügt wird, weil der 5-V-Pin des Arduino nicht genügend Leistung liefern kann, um sowohl das Relais als auch das LCD gleichzeitig zu betreiben.
Arduino Nano Code - Türschloss-System mit Passwort, unter Verwendung eines RFID-RC522-Moduls, Solenoidschloss oder elektromagnetisches Schloss und LCD-Anzeige
※ Notiz:
Die Adresse des LCDs kann je nach Hersteller variieren. Wir verwendeten 0x27 in unserem Code, wie von DIYables angegeben.
Hinzufügen eines Türsensors zum RFID-Türschloss
Im vorherigen Code würde sich die Tür nach einer bestimmten Zeit automatisch schließen, nachdem sie vom Arduino Nano entsperrt wurde. In der Praxis ist jedoch oft ein Türsensor in das System integriert. Wenn die Tür geschlossen ist, würde der Arduino Nano die Tür sofort abschließen, ohne darauf zu warten, dass die Ablaufzeit abläuft.
Um Sie nicht zu überfordern, fügen wir den Türsensor nicht in den Schaltplan und den Code ein. Diesen Teil überlassen wir Ihrer Kreativität. Sie können sich auf die Tutorials Arduino Nano - Türsensor und Arduino Nano - Türsensor-Relaissteuerung beziehen.
Verwaltung und Speicherung gültiger RFID-Schlüssel im EEPROM
Im vorherigen Beispiel wurden die gültigen RFID-Schlüssel (UID) im Arduino Nano-Code fest kodiert. Das bedeutet, dass man RFID-Schlüssel hinzufügen oder löschen möchte, den Code ändern und ihn erneut auf den Arduino Nano hochladen müsste, was umständlich sein kann.
Um die Dinge praktischer zu machen, benötigen wir eine Möglichkeit, RFID-Schlüssel zu verwalten, ohne jedes Mal den Code für den Arduino Nano ändern und hochladen zu müssen. Eine Lösung besteht darin, die RFID-Schlüssel im EEPROM zu speichern, statt sie hart zu codieren. Folglich benötigen wir eine Methode, die das Hinzufügen oder Löschen von RFID-Schlüsseln aus dem EEPROM ermöglicht, ohne den Code ändern zu müssen.
Es gibt zwei Methoden zur Verwaltung von RFID-Schlüsseln im EEPROM:
- RFID-Schlüssel als Master-Schlüssel
- Verwenden Sie einen RFID-Schlüssel als ADD-Master-Schlüssel zum Hinzufügen eines neuen Schlüssels. Nachdem der Arduino den ADD-Master-Schlüssel erkannt hat, wechselt er zwischen dem ADD-Modus und dem Betriebsmodus.
- Im ADD-Modus fügt der Arduino, falls er einen neuen Schlüssel erkennt, diesen Schlüssel dem EEPROM hinzu.
- Ähnlich wie der DELETE-Master-Schlüssel und der DELETE-Modus.
- ADD/DELETE-Befehle über Serial/Bluetooth/IR schreiben
- Befehle werden über Serial/Bluetooth/IR gesendet, z. B. mit dem Serial Monitor, der Bluetooth-App, dem IR-Controller...
- Befehle umfassen: Anweisung (ADD/DELETE), UID des RFID-Schlüssels.
- Zur Erhöhung der Sicherheit sollte der Befehl auch ein Passwort enthalten. Der Arduino überprüft das Passwort, um zu bestimmen, ob der Befehl gültig ist oder nicht.
Beide Methoden erfordern, viel Arduino-Code hinzuzufügen. Das ist keine einfache Aufgabe für Anfänger. Daher bietet dieses Tutorial nur das Wissen, um Anfängern zu helfen, mehr über das Türschloss-System zu erfahren, ohne Anfänger durch den komplizierten Code zu überfordern. Wenn Sie dies praktisch umsetzen möchten, kontaktieren Sie uns bitte über unseren kostenpflichtigen Programmierdienst.
Speichern der Zugriffshistorie auf der SD-Karte
Sie möchten möglicherweise den Zugriffsverlauf mit den folgenden Informationen speichern: UID des RFID-Schlüssels, Zugriffsstatus (GRANTED/DENIED) und Datum und Uhrzeit. Sie können eine SD-Karte verwenden, um die Historie aufzubewahren, da der EEPROM nicht groß genug ist, um die Historie zu speichern. Sie können sich auf dieses Tutorial Arduino Nano - Protokollieren von Daten mit Zeitstempel auf der SD-Karte beziehen.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.