- Liste der Komponenten
- Schaltplan für Arduino Keypad Türschloss
- Arduino-Code für digitales Türschloss
- Arduino Keypad DoorLock Montage und Test
Oft müssen wir ein Zimmer bei uns zu Hause oder im Büro (möglicherweise im Labor eines geheimen Dexter) sichern, damit niemand ohne unsere Erlaubnis auf das Zimmer zugreifen und Schutz vor Diebstahl oder Verlust unserer wichtigen Accessoires und Vermögenswerte gewährleisten kann. Es gibt heutzutage so viele Arten von Sicherheitssystemen, aber hinter den Kulissen werden sie zur Authentifizierung alle auf Fingerabdruck, Retina-Scanner, Iris-Scanner, Gesichts-ID, Zungen-Scanner, RFID-Leser, Passwort, PIN, Muster usw. übertragen Das kostengünstigste ist die Verwendung eines passwort- oder pin-basierten Systems. In diesem Projekt habe ich ein Arduino-Tastatur-Türschloss gebaut, das an jeder Ihrer vorhandenen Türen angebracht werden kann, um sie mit einem digitalen Passwort zu sichern. Zuvor haben wir auch andere interessante Türschlösser gebaut, die unten aufgeführt sind.
- Arduino RFID Türschloss
- Arduino Solenoid Türschloss
- Raspberry Pi Digital Code Lock
- 555 Timer elektronisches Türschloss
Bevor wir unser Projekt zur Verriegelung von Passworttüren erstellen, müssen wir zuerst die erforderlichen Komponenten sammeln und dann den schrittweisen Bauprozess verfolgen.
Liste der Komponenten
- Arduino Uno / Pro / Mini oder Custom Board mit Atmega 328p Microcontroller
- 16 x 2 LCD (Flüssigkristallanzeige)
- 4 x 3 oder 4 x 4 Matrixtastatur für Arduino
- Servomotor
- 3D gedrucktes Türschließfach / kundenspezifisches Türschließfach
- Zusätzliche Komponenten für die Stromversorgung des mobilen 1-Ampere-5-Volt-Ladegeräts
- 4 '' / 6''Kunststoffkästen, Überbrückungsdrähte, Muttern, Schrauben, Kunststoffgehäuse usw.
Schaltplan für Arduino Keypad Türschloss
Das vollständige Schaltbild für unser Arduino-basiertes Projekt für ein Türschloss mit digitaler Tastatur ist unten dargestellt.
Zunächst gehen wir vom Kopf dieses Projekts aus, dem Arduino UNO-Vorstand. Die Arduino-Karte ist mit einem LCD und einem Servomotor verbunden. Mit dem Servomotor wird die Verriegelung an der Tür gedrückt (verriegelt) oder gezogen (entriegelt). Ein 16 x 2 LCD ist erforderlich, um die Nachricht von Arduino anzuzeigen. 16 x 2 bedeutet, dass es 16 Spalten und 2 Zeilen enthält. Wenn Sie mit 16x2 LCD-Anzeigemodulen noch nicht vertraut sind, können Sie in diesem Tutorial zur Arduino LCD-Schnittstelle mehr darüber erfahren.
Hier verwende ich einen 5-V- Towerpro-SG90- Servomotor für die Herstellung unseres maßgeschneiderten Türschließfachs. Es ist ein Servomotor der Grundstufe und funktioniert gut mit Arduino ohne Ansteuerschaltung oder externes Modul. Außerdem sind die Kosten für diesen Servomotor sehr gering, sodass Sie es sich leicht leisten können, ihn zu kaufen. Sie können auch dieses Tutorial zur Steuerung des Arduino-Servomotors lesen, um mehr über den Servomotor und seine Funktionsweise zu erfahren. Verbinden Sie den Servomotor mit Arduino Digital Pin D9 und einem 5-Volt-Netzteil. Dieser Servomotor verfügt über insgesamt 3 Eingangsleitungen (GND, + 5V & SIGNAL LINE).
In diesem Projekt habe ich eine 4 x 4-Matrixtastatur verwendet (aber der 4 x 4-Tastaturteil ist für diese grafische Darstellung nicht in Fritzing verfügbar), aber keine Sorge, da die 4 x 3-Matrixtastatur auch mit meiner Codierung gut funktioniert. Wir benötigen eine Tastatur für die Passworteingabe und verriegeln unser individuelles Türschließfach manuell. Es besteht aus 16 Tasten (Soft-Schalter), 4 Tasten in den Zeilen (R1, R2, R3, R4) und 4 Tasten in den Spalten (C1, C2, C3, C4). Wenn eine Taste gedrückt wird, wird eine Verbindung zwischen den entsprechenden Zeilen hergestellt und Spalten. Die folgende Tabelle zeigt, wie Sie Ihr Arduino mit der Tastatur verbinden.
Tastenfeld | Arduino |
Pin 1 (Reihe 1) | Digital Pin1 |
Pin 2 (Reihe 2) | Digitaler Pin 2 |
Pin 3 (Reihe 3) | Digitaler Pin 3 |
Pin 4 (Reihe 4) | Digitaler Pin 4 |
Pin 5 (Spalten 5) | Digitaler Pin 5 |
Pin 6 (Spalten 6) | Digitaler Pin 6 |
Pin 7 (Spalten 7) | Digitaler Pin 7 |
Arduino-Code für digitales Türschloss
Den vollständigen Arduino-Türschlosscode finden Sie unten auf dieser Seite. Sie können den Code direkt hochladen. Es wird jedoch empfohlen, die folgenden Absätze zu lesen, um zu verstehen, wie der Code funktioniert. Es ist auch wichtig sicherzustellen, dass Sie Ihrer Arduino IDE die folgende Tastaturbibliothek hinzugefügt haben, um den Code erfolgreich zu kompilieren. Öffnen Sie dazu einfach den unten stehenden Link und laden Sie die ZIP-Datei herunter. Navigieren Sie dann auf Ihrer Arduino IDE zu Sketch -> Include Library -> Add.ZIP Library und suchen Sie nach der Datei, die Sie gerade heruntergeladen haben.
- Arduino Keypad Library
Weisen Sie nach dem Einfügen aller Header- und Bibliotheksdateien den gesamten Pin für das LCD zu, definieren Sie die Kennwortlänge und setzen Sie die Anfangsposition des Servos auf 0. Nehmen Sie anschließend einen Datentyp "char", um die Nummer anzugeben, die ihn enthalten kann, einschließlich der Nullzeichen.
//#einschließen
Mit diesem Code (char Master = "123456";) - unter dem Char Master deklariere ich das Passwort des Türschlosses, weise dann die Anzahl der Zeilen und Spalten auf der Tastatur zu und deklariere auch keyMaps und verbinde mich mit Zeilen und Säulen. Initialisieren Sie unter dem Leerzeichen-Setup den Servosignal-Pin D9, schließen Sie den Servostatus und drucken Sie den Namen des Projekts / Geräts / Unternehmens mit einer Verzögerung von 3 Sekunden auf der LCD-Zeit zum Starten des Geräts.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino Door"); lcd.setCursor (0, 1); lcd.print ("- Look project--"); Verzögerung (3000); lcd.clear (); }}
Unter der Schleifenfunktion ist die einfache if-else-Bedingung vorhanden. Entsprechend dem Status (es wird automatisch verriegelt) wird „Tür ist geschlossen“ mit einer Verzögerung von 3 Sekunden gedruckt und das Servo dreht sich, um die Position zu schließen. Die Türdaten zählen als 1, andernfalls bleibt das Türschließfach geöffnet und die Daten zählen 0, das Öffnen des Servos wird in die Position 0 gedreht Grad bis 180 Grad und zum Schließen geht es von 180 bis 0. Die Funktionen zum Öffnen und Schließen des Servos sind unten gezeigt.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// geht von 0 Grad auf 180 Grad // in Schritten von 1 Grad myservo.write (pos); // Servo anweisen, in der Variablen 'pos' delay (15) auf Position zu gehen; // wartet 15 ms bis das Servo die Position erreicht}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// geht von 180 Grad auf 0 Grad myservo.write (pos);; // Servo anweisen, in der Variablen 'pos' delay (15) auf Position zu gehen; // wartet 15ms bis das Servo die Position erreicht}}
Schreiben Sie die Position des Servos mit einer Verzögerung von 15 Sekunden auf, um die Servoposition zu erreichen. Drucken Sie unter der Funktion "Öffnen öffnen" auf dem LCD "Passwort eingeben". Die Bedingung gibt dann an, dass das eingegebene Passwort mit dem benutzerdefinierten Schlüssel identisch sein soll. Innerhalb dieses Körpers werden die Daten gezählt und Zeichen im Datenarray gespeichert. Das Passwort wird erhöht und auf dem LCD eingegeben, wenn das Datenlänge (Anzahl der Schlüssel) und eingegebenes Passwort stimmen mit dem Datenmaster überein (wo die vordefinierten Schlüssel vorhanden sind). Dann als Aktion LCD löschen, Servoantrieb, auf LCD drucken "Tür ist offen" und der Datenzähler wird auf 0 zurückgesetzt.
Wenn die Eingabetaste nicht mit dem Datenmaster übereinstimmt, wird als Aktion auf dem LCD-Druck auf dem LCD-Bildschirm „Falsches Passwort“ gelöscht, um mit einer Verzögerung von 1 Sekunde zu benachrichtigen, und bleibt in seiner Verriegelungsposition, wenn der Datenzähler auf 1 gesetzt ist, und setzt diesen Vorgang in einer Schleife fort.
if (data_count == Password_Lenght - 1) // Wenn der Array-Index der Anzahl der erwarteten Zeichen entspricht, vergleichen Sie die Daten mit master {if (! strcmp (Daten, Master)) // gleich (strcmp (Daten, Master)) == 0) {lcd.clear (); ServoOpen (); lcd.print ("Tür ist offen"); Tür = 0; } else {lcd.clear (); lcd.print ("Falsches Passwort"); Verzögerung (1000); Tür = 1; } Daten löschen(); }}
Arduino Keypad DoorLock Montage und Test
Bringen Sie jetzt alles auf einer 4-Zoll- / 6-Zoll-Plastikbox an und versorgen Sie sie mit einem mobilen Ladegerät. Richten Sie alles mithilfe eines Gehäuses gut aus. Idealerweise hätte ich mein Schloss mithilfe des 3D-Drucks zusammenbauen können, aber nach dem Entwerfen meiner Dateien stellte ich fest, dass der 3D-Druck sehr kostspielig ist. Deshalb habe ich zuerst das Servo repariert und dann das normale Schiebefach mit einer Metallplatte mit meinem Servo verbunden und abgedeckt es funktioniert mit Glasfaser, obwohl es gut funktioniert, ist es weniger sicher.
Wenn Sie mehr Sicherheit wünschen, müssen Sie ein 3D-Türschlossmodell drucken, das intern mit diesem Servo funktioniert. Sie können die erforderlichen STL-Dateien über den folgenden Link herunterladen und in 3D drucken, wenn Sie Zugriff auf einen 3D-Drucker haben.
Laden Sie STL-Dateien für den 3D-Druck herunter
Die Designdateien sind auch in der Abbildung unten dargestellt.
Zu Beginn des Projekts, sobald wir es zum ersten Mal einschalten, müssen wir den Projektnamen angeben (Sie können auch den Firmennamen anzeigen), damit es intelligent und exklusiv aussieht wie ein kommerzielles Gerät (wie Sie in sehen können) das Bild unten).
Schließen Sie die Tür mit einer Verzögerung von 3 Sekunden schnell ab und überprüfen Sie das Display direkt auf den Status des Türschlosses (siehe Abbildung unten).
Wenn Sie die Tür manuell durch Drücken der Taste "#" verriegeln, wird zuerst angezeigt, dass die Tür 1 Sekunde lang geschlossen ist, und dann wird " Passwort eingeben" angezeigt. Wenn andererseits die Tür durch Eingabe des richtigen Passworts entriegelt wird, wird angezeigt, dass die Tür offen ist.
Wenn die Tür entriegelt bleibt, wird angezeigt: - Die Tür ist geöffnet, solange Sie die Tür gemäß der Codierung manuell verriegeln. Ich habe den Code angegeben und Sie können die Einstellungen anpassen, indem Sie den Code-Anzeigeparameter nach Bedarf ändern. Sie können auch die vollständige Arbeit mit dem am Ende dieser Seite verlinkten Video überprüfen.