- Verwendete Komponenten:
- Verbinden der 4x4-Tastatur mit Raspberry Pi über Multiplexing:
- Schaltungsbeschreibung:
- Arbeitserklärung:
- Programmiererklärung:
Sicherheit ist ein wichtiges Anliegen in unserem täglichen Leben, und digitale Schlösser sind zu einem wichtigen Bestandteil dieser Sicherheitssysteme geworden. Es gibt viele Arten von Technologien, um unseren Platz zu sichern, wie PIR-basierte Sicherheitssysteme, RFID-basierte Sicherheitssysteme, Lasersicherheitsalarme, Biomatrixsysteme usw.
Wir haben zuvor Digital Lock mit Passwort unter Verwendung von Arduino und unter Verwendung von 8051 erstellt. Hier werden wir diese digitale Sperre unter Verwendung von Raspberry Pi mit benutzerdefiniertem Passwort erstellen . Sobald das Passwort festgelegt ist, kann der Benutzer nur mit dem richtigen Passwort auf die Tür zugreifen.
Wenn Sie mit Raspberry Pi nicht vertraut sind, haben wir eine Reihe von Tutorials zum Erlernen von Raspberry Pi erstellt, die eine Schnittstelle zu allen grundlegenden Komponenten und zunächst einige einfache Projekte enthalten.
Verwendete Komponenten:
- Raspberry Pi (mit gebooteter SD-Karte)
- Tastaturmodul
- Summer
- 16x2 LCD
- 10k Topf
- 10k Widerstandspaket (Pull-up)
- LED
- 1k Widerstand
- Brotbrett
- CD / DVD-Wagen als Tor
- Leistung 5 Volt
- Motortreiber L293D
- 12 Volt Batterie
- Kabel anschließen
Verbinden der 4x4-Tastatur mit Raspberry Pi über Multiplexing:
In dieser Schaltung haben wir die Multiplexing-Technik verwendet, um die Tastatur für die Eingabe des Passworts in das System zu verbinden. Hier verwenden wir eine 4x4-Multiplex-Tastatur mit 16 Tasten. Wenn wir 16 Schlüssel verwenden möchten, benötigen wir normalerweise 16 Pins für die Verbindung mit Arduino, aber in der Multiplextechnik benötigen wir nur 8 Pins für die Verbindung von 16 Schlüsseln. Damit ist es eine clevere Möglichkeit, ein Tastaturmodul anzuschließen. Erfahren Sie mehr über die Multiplexing-Technik und ihre Funktionsweise in diesem digitalen Schloss mit 8051.
Die Multiplexing-Technik ist eine sehr effiziente Methode, um die Anzahl der Pins zu reduzieren, die mit dem Mikrocontroller zur Bereitstellung von Eingaben, Passwörtern oder Nummern verwendet werden. Grundsätzlich wird diese Technik auf zwei Arten verwendet - eine ist das Zeilenscannen und die andere das Spaltenscannen. Wenn wir eine Tastaturbibliothek verwenden (#include
Aber hier in diesem Projekt haben wir eine kurze Codierungsmethode für dieselbe Tastatur implementiert, ohne die Tastaturbibliothek zu verwenden. Bitte sehen Sie es im Programmierabschnitt unten.
Schaltungsbeschreibung:
Die Schaltung dieses digitalen Raspberry Pi-Türschlosses ist sehr einfach und enthält Raspberry Pi 3, Tastaturmodul, Summer, DVD / CD-Wagen als Tor und LCD. Hier steuert Raspberry Pi den gesamten Prozess wie das Aufnehmen eines Passworts über das Tastaturmodul, das Vergleichen von Passwörtern, das Fahren eines Summers, das Öffnen / Schließen des Tors und das Senden des Status an das LCD-Display. Die Tastatur dient zur Eingabe des Passworts. Der Summer wird für Anzeigen verwendet und von einem eingebauten NPN-Transistor angesteuert. Das LCD wird zur Anzeige von Status oder Meldungen verwendet.
Die Column-Pins des Tastaturmoduls sind direkt mit den GPIO-Pins 22, 23, 24, 25 verbunden, und die Row-Pins sind mit 21, 14, 13, 12 der wringPi-Pins von Raspberry Pi verbunden. Ein 16x2 LCD ist im 4-Bit-Modus mit Himbeer-Pi verbunden. LCDs Steuerstift RS, RW und En sind 11 direkt mit GPIO - Pin, GND und 10 Datenpins D4-D7 sind mit GPIO - Pins 6, 15, 4 und 1. Ein Summer bei GPIO - Pin angeschlossen ist, 8. Und Motor Driver Der L293D ist an den GPIO-Pins 28 und 29 des Raspberry Pi angeschlossen. Eine 12-Volt-Batterie ist an Pin 8 von L293D in Bezug auf Masse angeschlossen.
Arbeitserklärung:
Die Arbeit an diesem Projekt ist einfach. Wenn der Benutzer den Code in Raspberry Pi ausführt, zeigt das LCD eine Begrüßungsnachricht an und danach "A-Passwort eingeben" und in der zweiten Zeile B - Passwort ändern ". Jetzt kann der Benutzer seine Auswahl treffen, indem er A und B auf der Tastatur drückt.
Wenn der Benutzer das Tor öffnen möchte, muss er auf der Tastatur 'A' drücken, und das System fragt nach dem Passwort. Das Standardkennwort lautet "1234". Jetzt muss der Benutzer das Passwort eingeben und nachdem dieses System das Passwort überprüft hat, ob es gültig ist oder nicht:
1. Wenn der Benutzer das richtige Passwort eingibt, öffnet das System das Tor.
2. Wenn der Benutzer ein falsches Passwort eingibt, sendet das System einen Befehl zum Signalton an den Summer und zeigt auf dem LCD „Zugriff verweigert“ an.
Angenommen, der Benutzer möchte das Passwort ändern, dann muss er auf der Tastatur 'B' drücken und dann wird er nach „Aktuelles Passwort“ oder „Aktueller Passschlüssel“ gefragt. Jetzt muss der Benutzer das aktuelle Kennwort eingeben, das System die Richtigkeit überprüfen und eine der angegebenen Aufgaben ausführen.
1. Wenn der Benutzer das richtige Passwort eingibt, fragt das System nach „Neues Passwort“. Jetzt kann der Benutzer das Passwort durch Eingabe eines neuen Passworts ändern.
2. Wenn der Benutzer das falsche Passwort eingibt, treibt das System den Summer an und zeigt auf dem LCD „Falsches Passwort:“ an.
Jetzt muss der Benutzer den gesamten Vorgang erneut wiederholen, um das Kennwort zu ändern.
Grundsätzlich ist das Öffnen und Schließen des Tors nichts anderes als das Drehen eines Motors im Uhrzeigersinn und gegen den Uhrzeigersinn, um die Tür zu öffnen und zu schließen. Für ein kleines Projekt können Sie einfach einen Gleichstrommotor hinzufügen, um die Tür zu öffnen und zu schließen. Wir können auch Servo- oder Schrittmotoren verwenden, aber wir müssen den Code entsprechend ändern.
Außerdem können Sie anstelle des CD-Wagens ein geeignetes elektronisches Türschloss (online leicht verfügbar) verwenden. Es verfügt über einen Elektromagneten, der die Tür verriegelt, wenn kein Strom durch das Schloss fließt (offener Stromkreis). Wenn ein Strom durch das Schloss fließt, wird das Schloss entriegelt und die Tür kann geöffnet werden. Der Code wird entsprechend geändert. Überprüfen Sie auch diese gemeinsame Projektbewertung: Arduino RFID-Türschloss
Programmiererklärung:
Die Programmierung ist Arduino sehr ähnlich. Die Arduino-Funktion verwendet Klassen, aber hier haben wir diesen Code mit c-Programmierung ohne Klassen ausgeführt. Wir haben auch eine wiringPi-Bibliothek für GPIOs installiert.
Jetzt müssen wir zuerst die erforderlichen Bibliotheken einschließen und dann die Pins für LCD, Summer, LED und Motor definieren.
#einschließen
Definieren Sie anschließend die Pins für die Zeilen und Spalten der Tastatur und definieren Sie das Array zum Speichern der Kennwort- und Tastaturnummern.
char pass; char pass1 = {'1', '2', '3', '4'}; int n = 0; char row = {21, 14, 13, 12}; char col = {22, 23, 24, 25}; char num = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', ' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Danach haben wir einige Funktionen zum Ansteuern des LCD geschrieben:
Die Funktion void lcdcmd wird zum Senden eines Befehls an das LCD verwendet, und die Funktion void write wird zum Senden von Daten an das LCD verwendet.
Die Funktion void print wird zum Senden einer Zeichenfolge an das LCD verwendet.
void print (char * str) {while (* str) {write (* str); str ++; }}
Die Funktion void setCursor dient zum Einstellen der Cursorposition auf dem LCD.
void setCursor (int x, int y) {int set = 0; if (y == 0) set = 128 + x; if (y == 1) set = 192 + x; lcdcmd (gesetzt); }}
Die Funktion void clear () wird verwendet, um das LCD zu löschen, und void void () wird verwendet, um den Summer zu piepen.
Die Funktionen void gate_open (), void gate_stop () und void gate_close () werden zum Ansteuern des Gates (CD Trolley) verwendet.
void gate_open () {digitalWrite (m1, LOW); digitalWrite (m2, HIGH); Verzögerung (2000); } void gate_stop () {digitalWrite (m1, LOW); digitalWrite (m2, LOW); Verzögerung (2000); } void gate_close () {digitalWrite (m1, HIGH); digitalWrite (m2, LOW); Verzögerung (2000); }}
Die angegebene Funktion wird verwendet, um das LCD im 4-Bit-Modus zu initialisieren.
void begin (int x, int y) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x06); lcdcmd (0x0e); lcdcmd (0x01); }}
Die Funktion void keypad () wird verwendet, um das Tastaturmodul mit einer 'kurzen Methode' an Raspberry Pi anzuschließen.
void keypad () {int i, j; int x = 0, k = 0; Verzögerung (2000); während (k <4) {für (i = 0; i <4; i ++) {digitalWrite (col, LOW); für (j = 0; j <4; j ++) {if (digitalRead (row) == 0) {setCursor (x, 1);…………………
Überprüfen Sie alle Funktionen im vollständigen Code unten. Der Code ist einfach und selbsterklärend.