DIY Smart Lock mit Arduino und RFID

DIY Smart Lock mit Arduino und RFID / DIY

Sie gehen zu einem unsichtbaren Schloss, für das nur Sie den Schlüssel haben, und öffnen Sie 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 einigen billigen Komponenten.

Die Technologie hinter diesem Projekt wird bereits in vielen Branchen eingesetzt. Jeder, der in einem modernen Büro gearbeitet oder öffentliche Verkehrsmittel benutzt hat, hat ihn wahrscheinlich jeden Tag benutzt. RFID (Radio-Frequency Identification) identifiziert Daten, die auf einem Chip in einer Karte oder einem Dongle gespeichert sind, und vergleicht sie mit einer Liste bereits gescannter Tags.

Wir werden eine Testschaltung bauen, um den Zugriff mit einem Mifare-Lesermodul MFRC522 zu steuern, um ein Schloss zu öffnen und zu schließen. Wir verwenden eine Master-Keycard, 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 fügen wir ein Magnetventil hinzu, das als Verriegelung dient, und einen MOSFET, um es mit unserem Arduino sicher ein- und auszuschalten.

Der MFRC522-Leser kann Daten auf RC522-Chips lesen und schreiben und speichert diese Daten im EEPROM von Arduino. So verwenden Sie Arduino-EEPROM zum Speichern von Daten zwischen Energiezyklen. Verwenden von Arduino-EEPROM zum Speichern von Daten zwischen Energiezyklen wann ist es ausgeschaltet? Ich spreche vom EEPROM, also komm mit, wenn ich dir zeige, wie man es liest und schreibt. Weiterlesen . Dies wäre eine großartige Ergänzung zu jedem DIY-Setup und ist insbesondere für jedes grundlegende Sicherheitssystem für Privathaushalte relevant. Es kann neben DIY-Alarmsystemen verwendet werden. So stellen Sie ein einfaches Arduino-Alarmsystem her So erstellen Sie ein einfaches Arduino-Alarmsystem Erkennen Sie Bewegungen und erschrecken Sie einen Eindringling mit einem hohen Alarmton und blinkenden Lichtern. Klingt das nach Spaß? Natürlich tut es das. Dies ist das Ziel des heutigen Arduino-Projekts, geeignet für… Mehr erfahren oder DIY-Überwachungskamera DIY-Kamera mit Pan und Tilt-Kamera mit Raspberry Pi DIY-Kamera mit Pan und Tilt-Kamera mit Raspberry Pi Erfahren Sie, wie Sie eine ferngesteuerte Kamera mit Raspberry aus einer Schwenk- und Neige-Kamera erstellen Pi. Dieses Projekt kann morgens mit nur den einfachsten Teilen abgeschlossen werden. Lesen Sie mehr Systeme.

Du wirst brauchen

  • Arduino. Wir haben eine Uno verwendet, obwohl ein Arduino-Board Arduino Buying Guide: Welches Board sollten Sie bekommen? Arduino Buying Guide: Welches Board sollten Sie bekommen? Es gibt so viele verschiedene Arten von Arduino-Boards, dass Sie sich verwechseln könnten. Was solltest du für dein Projekt kaufen? Lassen Sie uns mit diesem Arduino Einkaufsführer helfen! Mehr lesen oder klonen reicht aus.
  • 3 x 220 Ohm Widerstände
  • 1 x 10k Ohm Widerstand
  • N-Kanal-Mosfet auf Logikebene
  • MFRC522-Modul mit mindestens zwei zu lesenden Karten / Anschlüssen. Die meisten haben jeweils eine davon und können für weniger als 2 US-Dollar erworben werden. Wahrscheinlich haben Sie jedoch bereits eine in der Brieftasche in Form einer öffentlichen Reisekarte.
  • Rote, blaue und grüne LEDs
  • 12 V-Magnetventil (2 USD)
  • 12V Stromversorgung
  • Breadboard und Drähte anschließen

Das MFRC522-Modul

Der Star dieses Setups ist ein billiges MFRC522-Modul, das sowohl mit einer Karte als auch mit einem Schlüsselanhänger geliefert wurde s50 Jeder Chip speichert seine eigene eindeutige permanente Identifikationsnummer (UID). Beide sind funktional identisch, nur in einer anderen Form.

Beginnen Sie mit der Suche nach dem MFRC522 Bibliothek im Bibliotheksmanager Ihrer Arduino IDE und installieren Sie sie. Alternativ können Sie die Bibliothek herunterladen und manuell in den Bibliotheksordner installieren. Wenn Sie mit Arduino noch nicht vertraut sind, finden Sie diesen Primer für den Einstieg. Erste Schritte mit Arduino: Einsteigerhandbuch Erste Schritte mit Arduino: Einsteigerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf flexibler, einfach zu bedienender Hardware und Hardware basiert Software. Es ist für Künstler, Designer, Hobbyisten und alle gedacht, die interaktive Objekte oder Umgebungen erstellen möchten. Lesen Sie mehr nützlich!

Die Bibliothek enthält auch ein Fritzing-Diagramm, das ich mit Anmerkungen versehen habe, um anzugeben, wie Sie das Modul an Ihren Arduino anschließen.

Bildnachweis: Miguel Balboa über Github

Seien Sie vorsichtig: Diese Platine arbeitet mit 3,3 V und nicht mit 5 V, achten Sie also darauf, sie an den rechten Pin anzuschließen.

Um das Setup zu testen, öffnen Sie die DumpInfo Skizze von Datei> Beispiele> MFRC522> DumpInfo und laden Sie es 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:

Wenn Sie Fehler im Auslese-Spruch bekommen MIFARE_Read () fehlgeschlagen: Zeitüberschreitung bei der Kommunikation, oder PCD_Authenticate () fehlgeschlagen: Zeitüberschreitung bei der Kommunikation, mach dir keine sorgen Dies bedeutet wahrscheinlich, dass Sie den Tag 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 des Lesebereichs befindet), funktioniert es mit diesem Projekt. Wenn Sie überhaupt keine Messwerte erhalten, überprüfen Sie Ihre Verkabelung und versuchen Sie es erneut.

Der Rest der Rennstrecke

Nachdem wir die Funktionsfähigkeit unseres Moduls überprüft haben, können wir die restlichen Komponenten hinzufügen. Verbinden Sie Ihre Komponenten wie folgt:

  • Unser 12-V-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 Erdungsschiene verbunden.
  • Das Gate-Bein unseres MOSFETs (links im Bild) ist über einen 10k Ohm Widerstand mit Pin 5 und Masse verbunden. Das Ableitungsbein (Mitte) ist mit dem negativen Anschluss unseres 12-V-Magnetventils verbunden, und das Source-Bein (rechts) ist mit der Erdungsschiene verbunden.
  • Verbinden Sie den positiven Anschluss des 12-V-Magnetventils und die VIN des Arduino mit der 12-V-Schiene auf dem Steckbrett.

Wenn wir mit diesem Setup ein HIGH-Signal vom Arduino an den MOSFET senden, wird der Strom zum Magneten geleitet. Es gibt nichts, was Sie von der Verwendung eines Magneten mit höherer Leistung oder höherer Beanspruchung abhalten könnte, obwohl Sie einen Abwärtstransformator benötigen, um den Arduino mit mehr als 12 V zu betreiben. Beachten Sie auch das Datenblatt für Ihren MOSFET, um sicherzustellen, dass Sie ihn nicht überlasten.

Wenn alles zusammengefügt ist, sollte es ungefähr so ​​aussehen:

Obwohl es nicht notwendig ist, habe ich ein kleines Rigg geschaffen, um aus Holzresten ein Türschloss zu simulieren.

Ändern der Skizze

Nachdem die Schaltung gebaut wurde, ist es Zeit, unsere Arduino-Skizze einzurichten. In der MFRC522-Bibliothek ist eine Beispielskizze enthalten Zugangskontrolle das macht fast genau das, was wir machen wollen. Verbinden Sie Ihr Arduino mit Ihrem Computer und öffnen Sie es Datei> Beispiele> MFRC522> AccessControl in der Arduino IDE.

Sowohl in der Beispielskizze als auch auf der GitHub-Seite für die Bibliothek stehen zahlreiche Informationen zur Verfügung. Wir müssen nur ein paar Zeilen ändern. Alternativ können Sie unseren modifizierten Code von dieser GitHub Gist herunterladen.

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

// # define COMMON_ANODE

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

#Define redLed 3 // Set Led Pins #define grünLed 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 relais 5 // MOSFET Pin einstellen

Um zu ändern, wie lange das Schloss später geöffnet bleibt, erstellen wir eine Variable.

int lockDelay = 10000; // Schloss bleibt für 10 Sekunden geöffnet. 

Wir müssen nur noch eine weitere Änderung vornehmen. Ganz unten in der Schleife Methode, begraben in einer if-Anweisung, ist der Methodenaufruf gewährt (300). Wir müssen dies ändern, damit es unser verwendet lockDelay Variable.

gewährt (lockDelay); // Öffnen Sie die Türverriegelung für die Dauer von lockDelay

Speichern Sie die Skizze unter einem neuen Namen und laden Sie sie in 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 auf dem seriellen Monitor angezeigt werden Alles bereit

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

Das vollständige Setup testen

Werfen Sie einen letzten Blick auf Ihre Verkabelung, um zu überprüfen, ob alles vorhanden ist, und schließen Sie Ihre 12-V-Stromversorgung an. An dieser Stelle ist es erwähnenswert, dass Sie bei der Einschaltdauer Ihres Magnetventils vorsichtig sein sollten. Das billige Magnetventil, das ich für diesen Test verwende, hat keine Einschaltdauer von 100 Prozent. Daher sollte es nicht für längere Zeit in der gesperrten Position bleiben. Um dies zu einem permanenten Setup zu machen, verwenden Sie ein 100-prozentiges Tastverhältnis. Noch besser wäre ein normalerweise geschlossener (NC) Elektromagnet, der im stromlosen Zustand gesperrt bleibt. Dies bedeutet auch, dass jeder, der das System umgehen möchte, es nicht einfach vom Netz trennen kann!

Wenn der Stromkreis eingeschaltet ist, sollte die blaue LED aufleuchten, um anzuzeigen, dass das Gerät betriebsbereit ist. Wenn Sie die Master-Karte über den Leser halten, wird der Admin-Modus aktiviert, und alle drei LEDs blinken. Während sie blinken, können Sie andere Karten oder Anhänger über den Leser halten, um Zugriffsrechte hinzuzufügen oder wegzunehmen. Sie blinkt grün, um den Zugriff zu ermöglichen, und blau, um sie wegzunehmen. Verwenden Sie die Master-Karte erneut, um den Verwaltungsmodus zu beenden.

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

Alles erledigt!

Dieses Projekt ist zwar ein einfacher Einstieg in die Verwendung von RFID-Geräten in Ihrem Heimwerker-Setup, es ist jedoch nicht das sicherste Setup. Wir empfehlen keine Jury, die dies an Ihrer Haustür befestigt.

Sie könnten den gesamten Mechanismus in eine Box einbauen und den Magneten verwenden, um ihn zu verriegeln. Füllen Sie das Kästchen mit Cookies und verwenden Sie Ihren Hauptschlüssel, um zu entscheiden, wer Zugriff hat und wer nicht. Werde der Cookie-Meister!

Sie können auf den Magneten ganz verzichten 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 Wi-Fi-Kennwort auf einem kleinen Bildschirm anzuzeigen, wenn eine Karte oder ein Schlüsselanhänger mit Zugang zum Lesegerät gehalten wird.

Haben Sie RFID in Ihren Setups zu Hause verwendet? Teilen Sie uns in den Kommentaren unten Ihre Projekte mit!

Bildnachweis: Annmarie Young über Shutterstock.com

Erfahren Sie mehr über: Arduino, Home Security, Smart Locks.