DIY Smart Lock mit Arduino und RFID

So bauen Sie ein einfaches RFID-basiertes Smart-Lock mit einem Arduino als Rückgrat und einigen billigen Komponenten.

So bauen Sie ein einfaches RFID-basiertes Smart-Lock mit einem Arduino als Rückgrat und einigen billigen Komponenten.
Werbung

Du gehst zu einem unsichtbaren Schloss, das nur du hast, und öffnest es, ohne es zu berühren. Hört sich cool an? Heute bauen wir ein einfaches RFID-basiertes Smart-Lock mit einem Arduino als Rückgrat und ein paar billigen Komponenten.

Die Technologie hinter diesem Projekt wird bereits in vielen Branchen eingesetzt. Wer in einem modernen Büro oder im öffentlichen Verkehr gearbeitet hat, wird es wahrscheinlich jeden Tag benutzt haben. RFID (radio-frequency identification) identifiziert Daten, die auf einem Chip in einer Karte oder einem Dongle gespeichert sind, und vergleicht sie mit einer Liste von Tags, die bereits gescannt wurden.

Wir werden eine Testschaltung bauen, um den Zugriff mit einem Mifare MFRC522 Lesemodul zu steuern, um ein Schloss zu öffnen und zu schließen. Wir verwenden eine Hauptschlüsselkarte, um den Zugriff auf verschiedene Tags hinzuzufügen oder zu entfernen, und erstellen eine einfache LED-Anzeige, um uns mitzuteilen, was im System passiert.

Schließlich werden wir ein Solenoid hinzufügen, um als das Schloss zu fungieren, und einen MOSFET, um es mit unserem Arduino sicher ein- und auszuschalten.

Das MFRC522 Lesegerät kann Daten lesen und auf RC522-Chips schreiben und speichert diese Daten im Arduino-EEPROM. Wie verwendet man Arduino EEPROM zum Speichern von Daten zwischen den Power Cycles Wie verwendet man Arduino EEPROM zum Speichern von Daten zwischen Power Cycles Wussten Sie, dass Arduino Daten speichern kann? wenn es ausgeschaltet ist? Ich spreche über das EEPROM, also komm zu mir, während ich dir zeige, wie man es liest und schreibt. Weiterlesen . Dies wäre eine großartige Ergänzung für jedes Heimwerker-Setup und ist besonders relevant für jedes grundlegende Haussicherheitssystem. Es könnte zusammen mit DIY-Alarmsystemen verwendet werden. Wie man ein einfaches Arduino-Alarmsystem erstellt Wie man ein einfaches Arduino-Alarmsystem erkennt Ermitteln Sie die Bewegung, dann erschrecken Sie einen Eindringling mit einem hohen Alarmton und blinkenden Lichtern. Klingt das lustig? Natürlich tut es das. Das ist das Ziel der heutigen Arduino-Projekt, geeignet ... Lesen Sie mehr oder DIY Überwachungskamera DIY Pan und Tilt Netzwerksicherheit Cam mit Raspberry Pi DIY Pan und Tilt Netzwerksicherheit Cam mit Raspberry Pi Erfahren Sie, wie Sie remote sichtbar Pan und Tilt Überwachungskamera mit ein Raspberry Pi. Dieses Projekt kann an einem Morgen mit nur den einfachsten Teilen abgeschlossen werden. Lesen Sie mehr Systeme.

Du wirst brauchen

  • Arduino. Wir haben ein Uno verwendet, obwohl jedes Arduino Board Arduino Buying Guide: Welches Board sollten Sie bekommen? Arduino Einkaufsführer: Welches Board sollten Sie bekommen? Es gibt so viele verschiedene Arten von Arduino Boards da draußen, es wäre dir vergeben, wenn du verwirrt bist. Was sollten Sie für Ihr Projekt kaufen? Lassen Sie uns helfen, mit diesem Arduino Einkaufsführer! Lesen Sie mehr oder Klon wird ausreichen.
  • 3 x 220 Ohm Widerstände
  • 1 x 10 k Ohm Widerstand
  • N-Kanal-Mosfet mit Logikpegel
  • MFRC522-Modul mit mindestens zwei zu lesenden Karten / Fobs. Die meisten kommen mit einem von beiden und können für weniger als 2 Dollar gekauft werden, aber Sie haben wahrscheinlich bereits einen in Ihrer Brieftasche in Form einer öffentlichen Reisekarte.
  • Rote, blaue und grüne LEDs
  • 12V Magnet ($ 2)
  • 12V Netzteil
  • Breadboard und Kabel anschließen

Das MFRC522-Modul

Der Star dieses Setups ist ein billiges MFRC522-Modul, das sowohl mit einer Karte als auch mit einem fob mit einem s50- Chip geliefert wurde, von denen jede ihre eigene eindeutige permanente Identifikationsnummer (UID) speichert. Diese sind beide funktional identisch, nur in einer anderen Form.

Modul und Karte

Beginnen Sie mit der Suche nach der Bibliothek MFRC522 im Bibliotheksmanager Ihrer Arduino IDE, und installieren Sie sie. Alternativ können Sie die Bibliothek herunterladen und manuell in den Bibliotheksordner installieren. Wenn Sie Arduino völlig neu sind, finden Sie diese Anleitung für den Einstieg. Erste Schritte mit Arduino: Ein Anfängerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, einfach zu bedienender Hardware basiert Software. Es richtet sich an Künstler, Designer, Bastler und alle, die interaktive Objekte oder Umgebungen erstellen möchten. Lesen Sie mehr nützlich!

Die Bibliothek enthält auch ein Fritzing-Diagramm, das mit Anmerkungen versehen ist, die zeigen, wie Sie das Modul an Ihren Arduino anschließen.

arduino rfid Pinbelegung
Bildquelle: Miguel Balboa über Github

Achtung: Dieses Board arbeitet mit 3.3V, nicht mit 5V, also pass auf, dass es mit dem richtigen Pin verbunden wird.

Um das Setup zu testen, öffnen Sie die DumpInfo- Skizze von Datei> Beispiele> MFRC522> DumpInfo und laden Sie sie auf Ihr Arduino-Board hoch . Öffnen Sie den seriellen Monitor und halten Sie eines Ihrer RFID-Objekte an den Leser. Sie sollten so etwas sehen:

Dump Info serielle Anzeige

Wenn Sie beim Lesen Fehler bekommen, dass MIFARE_Read() failed: Timeout in communication oder PCD_Authenticate() failed: Timeout in communication, keine Sorge. Es bedeutet wahrscheinlich, dass Sie das Etikett nicht lange genug an den Leser gehalten haben, um alle Daten zu lesen. Solange Sie die Karten-UID erhalten (die gelesen wird, sobald sich das Tag innerhalb der Reichweite des Lesers befindet), wird es mit diesem Projekt funktionieren. Wenn Sie überhaupt keinen Messwert erhalten, überprüfen Sie Ihre Verkabelung und versuchen Sie es erneut.

Der Rest der Rennstrecke

Nachdem wir nun überprüft haben, dass unser Modul funktioniert, können wir die restlichen Komponenten hinzufügen. Verbinden Sie Ihre Komponenten wie folgt:

Full-Setup-Schaltung fritzing

  • Unser 12V-Netzteil (vorerst nicht angeschlossen) wird an die Schienen unseres Steckbretts angeschlossen. Verbinden Sie den Arduino GND Pin und den MFRC522 GND Pin mit der Erdungsschiene.
  • Die LEDs sind über 220 Ohm-Widerstände mit den Pins 2, 3 und 4 und der Masseschiene verbunden.
  • Der Gate-Schenkel unseres MOSFETs (links im Bild) ist mit Pin 5 und über einen 10k Ohm Widerstand mit Masse verbunden. Das Abflussbein (Mitte) ist mit dem negativen Anschluss unseres 12V-Solenoids verbunden, und das Quellenbein (rechts) ist mit der Erdungsschiene verbunden.
  • Verbinden Sie den Pluspol des 12V Magnetventils und die VIN des Arduino mit der 12V Schiene des Steckbretts.

Wenn wir bei diesem Setup ein HIGH-Signal vom Arduino an den MOSFET senden, kann der Strom zum Solenoid fließen. Es gibt nichts, was Sie davon abhalten könnte, ein stärkeres oder stärkeres Solenoid zu verwenden, obwohl Sie einen Abschalttransformator benötigen würden, um den Arduino von über 12V zu betreiben. Beachten Sie auch das Datenblatt für Ihren MOSFET, um sicherzustellen, dass Sie ihn nicht überlasten.

Sobald alles zusammen ist, sollte es ungefähr so ​​aussehen:

Schaltungslayout

Während es nicht notwendig ist, habe ich ein kleines Rig erstellt, um ein Türschloss aus Altholz zu simulieren.

Ändern der Skizze

Wenn die Schaltung gebaut ist, ist es Zeit, unseren Arduino Sketch einzurichten. Praktischerweise enthält die MFRC522-Bibliothek eine Beispielskizze namens Access Control, die fast genau das tut, was wir tun möchten. Verbinden Sie Ihren Arduino mit Ihrem Computer und öffnen Sie Datei> Beispiele> MFRC522> AccessControl in der Arduino IDE.

Es gibt eine Fülle von Informationen sowohl in der Beispielskizze als auch auf der GitHub-Seite für die Bibliothek. Wir müssen nur ein paar Zeilen ändern. Alternativ können Sie unseren modifizierten Code von diesem GitHub Gist herunterladen.

Zunächst wurde die Skizze für eine Schaltung mit einer einzelnen RGB-LED unter Verwendung einer gemeinsamen Anode entworfen. Wir werden das nicht verwenden, also einfach diesen Abschnitt auskommentieren.

 //#define COMMON_ANODE 

Passen Sie nun unsere LED-Pins an die in der Skizze definierten an.

 #define redLed 3 // Set Led Pins #define greenLed 4 #define blueLed 2 

Wir müssen den Relais-Pin ändern (obwohl wir in diesem Fall einen MOSFET verwenden), um zu unserem Setup zu passen.

 #define relay 5 // Set MOSFET Pin 

Um es einfacher zu machen, wie lange die Sperre später geöffnet bleibt, erstellen wir eine Variable dafür.

 int lockDelay=10000; // lock stays open for 10 seconds. 

Wir müssen nur noch eine Änderung vornehmen. Ganz unten in der Schleifenmethode, die in einer if-Anweisung vergraben ist, wird der Methodenaufruf gewährt (300) . Wir müssen dies ändern, so dass es unsere lockDelay- Variable verwendet.

 granted(lockDelay); // Open the door lock for lockDelay duration 

Speichern Sie die Skizze unter einem neuen Namen und laden Sie sie auf Ihr Arduino hoch. Wenn es fertig ist, öffnen Sie den seriellen Monitor. Wenn Sie dies zum ersten Mal tun, werden Sie aufgefordert, etwas zu scannen, das Sie als Master-Karte verwenden können. Halten Sie Ihre Karte an den Leser, und die UID der Karte sollte zusammen mit der Meldung Everything Ready auf dem seriellen Monitor angezeigt werden

Das ist es! Ihr Hauptschlüssel ist eingerichtet. Trennen Sie Ihr Arduino-Board vom Computer. Ihre Hauptschlüsseldetails werden auch nach dem Ausschalten im Arduino-EEPROM gespeichert.

Testen des vollständigen Setups

Werfen Sie einen letzten Blick auf Ihre Verkabelung, um zu überprüfen, ob alles in Ordnung ist, und schließen Sie Ihr 12-V-Netzteil an. An diesem Punkt ist es erwähnenswert, dass Sie vorsichtig mit dem Tastverhältnis Ihres Elektromagneten sein sollten. Das billige Magnetventil, das ich für diesen Test verwende, hat kein 100-prozentiges Tastverhältnis, folglich sollte es nicht für lange Zeit in seiner verriegelten Position belassen werden. Um dies zu einem permanenten Setup zu machen, verwenden Sie ein Solenoid mit einem Tastverhältnis von 100 Prozent. Noch besser wäre ein normalerweise geschlossener (NC) Solenoid, der gesperrt bleibt, wenn er nicht mit Strom versorgt wird. Das bedeutet auch, dass jeder, der das System umgehen möchte, nicht einfach den Stecker ziehen kann!

Wenn die Schaltung eingeschaltet ist, sollte die blaue LED aufleuchten, um anzuzeigen, dass das Gerät betriebsbereit ist. Wenn Sie die Masterkarte über den Leser halten und in den Admin-Modus versetzen, sollten alle drei LEDs blinken. Während sie blinken, können Sie andere Karten oder Fobs über den Leser halten, um Zugriffsrechte hinzuzufügen oder wegzunehmen. Es blinkt grün, um Zugriff zu gewähren, und blau, um es zu entfernen. Verwenden Sie die Master-Karte erneut, um den Admin-Modus zu beenden.

Wenn Sie nun eine Karte oder einen Schlüsselanhänger mit Zugang zum Leser halten, sollte dieser grün blinken und das Schloss öffnen. Wenn es rot blinkt, wurde der Zugriff verweigert!

Alles erledigt!

Während dieses Projekt ein einfacher Einstieg in die Verwendung von RFID-Geräten in Ihrem Heimwerker-Setup ist, ist es nicht das sicherste Setup. Wir schlagen nicht vor, dass die Jury dies an Ihrer Haustür festmacht.

Du könntest den ganzen Mechanismus in eine Box einbauen und die Spule benutzen, um sie zu verriegeln. Füllen Sie die Box mit Cookies aus und entscheiden Sie mit Ihrem Hauptschlüssel, wer Zugang hat und wer nicht. Werde der Cookie-Meister!

Sie könnten den Magneten ganz wegnehmen und einen LED-Streifen an seinem Platz anbringen und ein RFID-aktiviertes Licht haben. Sie können die gleichen Ideen verwenden, um Daten wie ein WLAN-Passwort auf einem kleinen Bildschirm anzuzeigen, wenn eine Karte oder ein Schlüsselanhänger mit Zugriff auf den Leser gehalten wird.

Haben Sie RFID in Ihren Einrichtungen zu Hause verwendet? Lassen Sie uns über Ihre Projekte in den Kommentaren unten wissen!

Bildquelle: Annmarie Young über Shutterstock.com

In this article