- Erforderliche Komponenten
- Magnetschloss
- Schaltplan
- Code Erklärung
- Testen der RFID-Magnetverriegelung
RFID (Radio Frequency Identification) ist eine kostengünstige und zugängliche Technologie. Es kann in vielen Anwendungen wie Zugriffskontrolle, Sicherheit, Anlagenverfolgung, Personenverfolgung usw. verwendet werden. Sie haben das RFID-Türschlosssystem in Hotels, Büros und vielen anderen Orten gesehen, an denen Sie die Karte nur in der Nähe des RFID-Lesegeräts platzieren müssen für eine Sekunde und die Tür wird geöffnet. In vielen RFID-basierten Projekten haben wir einen RFID-Leser und ein Tag verwendet.
In unseren vorherigen Beiträgen haben wir ein einfaches RFID-Türschloss gebaut. Dieses Mal verwenden wir ein echtes Magnet-Türschloss und steuern es mit RFID und Arduino. Hier werden ein Hall-Effekt-Sensor und ein Magnet verwendet, um die Türbewegung zu erfassen. Der Hall-Effekt-Sensor wird am Türrahmen und der Magnet an der Tür selbst angebracht. Wenn der Hall-Effekt-Sensor und der Magnet nahe beieinander liegen, befindet sich der Hall-Effekt-Sensor in einem niedrigen Zustand und die Tür bleibt geschlossen. Wenn der Sensor und der Magnet nicht geschlossen sind, ist die Tür offen und der Hall-Sensor ist hoch Zustand. Wir werden diesen Hall-Effekt-Mechanismus verwenden, um die Tür automatisch zu verriegeln und zu entriegeln. Um mehr über den Hallsensor und seine Funktionsweise zu erfahren, folgen Sie dem Link.
Erforderliche Komponenten
- Arduino Uno
- RFID-RC522-Modul
- 12V Magnetschloss
- Relaismodul
- Hall-Effekt-Sensor
- 10 kΩ Widerstand
- Summer
Magnetschloss
Eine Magnetverriegelung wirkt auf den elektronisch-mechanischen Verriegelungsmechanismus. Diese Art von Schloss hat eine Kugel mit einem schrägen Schnitt und eine gute Montagehalterung. Wenn die Stromversorgung angelegt wird, erzeugt DC ein Magnetfeld, das den Butzen nach innen bewegt und die Tür in der entriegelten Position hält. Der Butzen behält seine Position, bis die Stromversorgung unterbrochen wird. Wenn die Stromversorgung unterbrochen wird, bewegt sich der Butzen nach draußen und verriegelt die Tür. In einem gesperrten Zustand wird kein Strom verbraucht. Um die Magnetverriegelung anzutreiben, benötigen Sie eine Stromquelle, die 12 V bei 500 mA liefern kann.
Schaltplan
Das Schaltbild für das Magnet-Türschloss mit Arduino ist unten angegeben.
Die Verbindungen zwischen Arduino und RFID sind in der folgenden Tabelle aufgeführt. Der positive Pin des Summers ist mit dem digitalen Pin 4 von Arduino verbunden, und der GND-Pin ist mit dem Erdungsstift von Arduino verbunden. Ein 10K-Widerstand wird zwischen dem VCC- und dem OUT-Pin des Hall-Effekt-Sensors verwendet. Die Magnetverriegelung ist über das Relaismodul mit Arduino verbunden.
RFID-Pin | Arduino Uno Pin |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISO | Digital 12 |
IRQ | Nicht verbunden |
GND | GND |
RST | Digital 9 |
3,3V | 3,3V |
Hall-Effekt-Sensor-Pin | Arduino Uno Pin |
5V | 5V |
GND | GND |
AUS | 3 |
Nach dem Löten aller Komponenten auf der Perf-Platine gemäß Schaltplan sieht es wie im folgenden Bild aus:
Code Erklärung
Der vollständige Code für diese Arduino-Magnetverriegelung ist am Ende des Dokuments angegeben. Hier erklären wir diesen Code Schritt für Schritt zum besseren Verständnis.
Starten Sie den Code, indem Sie alle erforderlichen Bibliotheken einschließen. Hier sind nur zwei Bibliotheken erforderlich, eine für die SPI-Kommunikation zwischen Arduino und RFID und eine für das RFID-Modul. Beide Bibliotheken können über die folgenden Links heruntergeladen werden:
- SPI.h.
- MFRC522.h
Definieren Sie nun die Pins für Summer, Magnetschloss und RFID-Modul
int Summer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Definieren Sie dann den Lock-Pin und den Summer-Pin als Ausgang und den Hall-Effekt-Sensor-Pin als Eingang und initiieren Sie die SPI-Kommunikation.
pinMode (LockPin, OUTPUT); pinMode (Summer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // SPI-Bus initiieren mfrc522.PCD_Init (); // MFRC522 initiieren
Lesen Sie in der Hohlraumschleife die Werte des Hallsensors ab und schließen Sie die Tür, wenn sie niedrig wird.
state = digitalRead (hall_sensor); Serial.print (Status); Verzögerung (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Tür geschlossen"); digitalWrite (Summer, HIGH); Verzögerung (2000); digitalWrite (Summer, LOW);}
Innerhalb der Void-Loop- Funktion wird überprüft, ob eine neue RFID-Karte vorhanden ist. Wenn eine neue Karte vorhanden ist, wird die UID der Karte überprüft. Bei einer gültigen Karte wird das Schloss geöffnet. Andernfalls wird " Sie sind nicht autorisiert" gedruckt . 'Die vollständige Arbeit wird in dem Video am Ende gezeigt.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Wähle eine der Karten aus if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // UID auf seriellem Monitor anzeigen String content = ""; Byte Buchstabe; für (Byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Nachricht:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // ändere hier die UID der Karte / Karten, auf die du Zugriff gewähren möchtest {digitalWrite (LockPin, HIGH); Serial.print ("Tür entriegelt"); digitalWrite (Summer, HIGH); Verzögerung (2000); digitalWrite (Summer, LOW); } else {Serial.println ("Sie sind nicht autorisiert"); digitalWrite (Summer, HIGH); Verzögerung (2000); digitalWrite (Summer,NIEDRIG); }}
Testen der RFID-Magnetverriegelung
Sobald Sie mit dem Code und der Hardware fertig sind, können Sie mit dem Testen des Solenoid Door Lock-Projekts beginnen. Hier haben wir alle Komponenten auf die Perf-Platine gelötet, damit sie problemlos an der Tür montiert werden kann.
Um es zu testen, montieren Sie das Perf Board am Türrahmen und den Magneten an der Tür, damit es die Türbewegung erkennen kann. Das folgende Bild zeigt, wie der Magnet und die Hallsensoren an der Tür befestigt sind.
Scannen Sie nun Ihre autorisierte RFID-Karte, um das Türschloss zu öffnen. Das Magnet-Türschloss bleibt geöffnet, bis der Ausgang des Hall-Effekt-Sensors hoch ist. Wenn die Tür beim Schließen wieder in die Nähe des Hallsensors gelangt, ändert sich der Status des Hall-Effekt-Sensors aufgrund des Magnetfelds (das durch den an der Tür angebrachten Magneten erzeugt wird) auf Niedrig, und das Schloss wird wieder geschlossen.
Anstatt den Hall-Effekt-Sensor zu verwenden, können Sie eine Verzögerung einführen, um die Tür für eine definierte Zeit offen zu halten.
Der vollständige Code und das Arbeitsvideo sind unten angegeben. Überprüfen Sie auch andere Arten von Türschlössern mit anderen Technologien.