ESP32 - Tastaturschloss
Dieses Tutorial zeigt Ihnen, wie Sie ein Türschloss-System mit einem Passwort mithilfe eines Tastenfelds und eines Solenoidschlosses erstellen. Das System entriegelt die Tür, wenn das richtige Passwort eingegeben wird, und hält die Tür 20 Sekunden lang offen, bevor es sie automatisch wieder verriegelt. Der ESP32-Code unterstützt außerdem mehrere Passwörter.
※ Notiz:
Zusätzlich zu diesem Tutorial haben wir auch weitere Tutorials zu Türschloss-Systemen verfügbar:
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Tastenfeld und Solenoidschloss
Wir haben separate Tutorials, die sich speziell auf Tastfelder und Solenoid-Schlösser konzentrieren. Jedes Tutorial enthält detaillierte Informationen und eine Schritt-für-Schritt-Anleitung zur Hardware-Pinbelegung, zum Funktionsprinzip, zu Verdrahtungsverbindungen zum ESP32, zum ESP32-Code und mehr. Für weitere Informationen zu diesen Tutorials verweisen Sie bitte auf die folgenden Links:
Verdrahtungsdiagramm
- ESP32 - Türschloss mit Tastenfeld, Solenoidschloss

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
ESP32-Code - Türschloss-System mit Passwort über Tastenfeld, Solenoidschloss
Schnelle Schritte
- Verbinde den ESP32 mit deinem PC über ein USB-Kabel.
- Öffne die Arduino-IDE, wähle das passende Board und den entsprechenden Port aus.
- Klicke auf das Bibliotheken-Icon in der linken Leiste der Arduino-IDE.
- Suche nach der „keypad“-Bibliothek, und finde dann die keypad-Bibliothek, die von Mark Stanley und Alexander Brevig erstellt wurde.
- Klicke auf die Installieren-Schaltfläche, um die keypad-Bibliothek zu installieren.

- Kopieren Sie den bereitgestellten Code und fügen Sie ihn in die Arduino IDE ein.
- Kompiliere Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie im Arduino IDE auf die Hochladen-Schaltfläche klicken.
- Öffnen Sie den seriellen Monitor in der Arduino IDE.
- Drücken Sie die Tasten 12345 und anschließend #.
- Drücken Sie die Tasten 1234567 und anschließend #.
- Beobachten Sie den Zustand der Schlosszunge 20 Sekunden lang.
- Behalten Sie die Ausgabe im seriellen Monitor im Blick.
Code-Erklärung
In diesem System sind gültige Passwörter im ESP32-Code vorprogrammiert. Ein Eingabestring wird verwendet, um das von Benutzern eingegebene Passwort zu speichern. Das Tastenfeld hat zwei Sondertasten, * und #, die zum Löschen und Beenden des eingegebenen Passworts verwendet werden. Das System funktioniert wie folgt:
- Wenn eine Taste gedrückt wird, die nicht zu den Sondertasten gehört, wird sie der Eingabezeichenfolge hinzugefügt.
- Wenn die *-Taste gedrückt wird, wird die Eingabezeichenfolge gelöscht und der Passworteingabeprozess kann neu gestartet werden.
- Wenn die #-Taste gedrückt wird:
- Die Eingabezeichenfolge wird mit den vordefinierten Passwörtern verglichen. Wenn sie mit einem der vordefinierten Passwörter übereinstimmt, wird das Relais aktiviert, um die Tür zu entriegeln.
- Unabhängig davon, ob das Passwort korrekt ist oder nicht, wird die Eingabezeichenfolge für die nächste Eingabe gelöscht.
- Im obigen Code haben wir aus Vereinfachungsgründen die Verzögerungsfunktion verwendet. Es ist besser, millis() statt delay() zu verwenden. Siehe Wie man millis() statt delay verwendet
- Sie können einen Piezo-Lautsprecher hinzufügen, um bei jedem Tastendruck einen Piepton zu erzeugen.
- In den oben genannten Codes wird die Tür nach 20 Sekunden erneut verriegelt. Sie können es durch einen Türsensor ersetzen. Die Tür wird verriegelt, wenn der Türsensor feststellt, dass die Tür vom Benutzer geschlossen wurde.
※ Notiz:
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.