ESP32 S3 - Tastenfeld - Elektromagnetisches Schloss
Zu lernen, wie man ein Tastenfeld, ein Relais und ein elektromagnetisches Schloss mit dem ESP32 S3 kombiniert, ist eine hervorragende Möglichkeit, reale Zugangskontrollsysteme zu bauen. Dieses Tutorial zeigt Ihnen, wie Sie ein Passwort über ein 3x4-Tastenfeld einlesen und damit ein elektromagnetisches Schloss über ein Relais steuern – einschließlich einer Variante mit zeitgesteuerter Entriegelung, die die Tür für eine feste Zeit freigibt, ohne die Codeausführung zu blockieren.
Was Sie umsetzen werden:
- Eine Schaltung, die ein 3x4-Tastenfeld und ein elektromagnetisches Schloss (über ein Relais) mit dem ESP32 S3 verbindet
- Code, der das eingegebene Passwort prüft und die Tür entriegelt, wenn es mit einem der vordefinierten Codes übereinstimmt
- Eine erweiterte Version, die die Tür 5 Sekunden lang entriegelt lässt und dann automatisch wieder verriegelt
- Eine Ausgabe im seriellen Monitor, die anzeigt, ob jeder Passwortversuch erfolgreich war oder nicht

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Keypad and Electromagnetic Lock
Mit einem 3x4-Matrix-Tastenfeld können Benutzer numerische Codes über ein kompaktes Layout mit 12 Tasten eingeben, während ein elektromagnetisches Schloss (Magnetverschluss) eine Tür mit Magnetkraft geschlossen hält, solange Strom anliegt. Zusammen mit einem Relais, das die 12-V-Versorgung des Schlosses schaltet, bilden diese Komponenten ein vollständiges passwortgesteuertes Zugangssystem, das der ESP32 S3 vollständig per Software verwalten kann.
Wichtige Spezifikationen
Sie kennen das Tastenfeld oder das elektromagnetische Schloss noch nicht und wissen nicht, wie man sie einzeln verdrahtet und programmiert? Lesen Sie zuerst die folgenden Tutorials:
- Tutorial ESP32 S3 - Tastenfeld
Verdrahtungsdiagramm
Verbinden Sie die Reihen- und Spalten-Pins des 3x4-Tastenfelds mit verfügbaren GPIO-Pins des ESP32 S3 und den Signal-Pin des Relais mit einem separaten GPIO. Das elektromagnetische Schloss wird an die Schließerkontakte (NO) des Relais angeschlossen und über das 12-V-Netzteil versorgt, sodass der Hochspannungs-Schlosskreis von der Logik des ESP32 S3 getrennt bleibt.
Sicherheitshinweise
Das elektromagnetische Schloss arbeitet mit 12 V und zieht im aktivierten Zustand erheblichen Strom – verwenden Sie immer das Relais, um die Versorgung des Schlosses zu schalten, und verbinden Sie die Schlosskabel niemals direkt mit einem GPIO-Pin des ESP32 S3. Stellen Sie sicher, dass das 12-V-Netzteil mindestens für die auf Ihrem elektromagnetischen Schloss angegebene Stromaufnahme ausgelegt ist, und prüfen Sie, dass die gesamte Hochspannungsverkabelung vollständig isoliert ist, bevor Sie das System einschalten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Komponenten-Pin | ESP32-S3-Pin | Hinweise |
|---|---|---|
| Tastenfeld Reihe 1 | GPIO17 | Erste Reihe des 3x4-Tastenfelds |
| Tastenfeld Reihe 2 | GPIO16 | Zweite Reihe |
| Tastenfeld Reihe 3 | GPIO15 | Dritte Reihe |
| Tastenfeld Reihe 4 | GPIO7 | Vierte Reihe |
| Tastenfeld Spalte 1 | GPIO6 | Erste Spalte |
| Tastenfeld Spalte 2 | GPIO5 | Zweite Spalte |
| Tastenfeld Spalte 3 | GPIO4 | Dritte Spalte |
| Relais-Signal (IN) | GPIO18 | Schaltet das Relais ein/aus |
| Relais VCC | 5V | Versorgt das Relaismodul |
| Relais GND | GND | Gemeinsame Masse |
| Relais COM | 12V Plus + | Vom Netzteil |
| Relais NO | EM-Schloss Kabel 1 | Schließerkontakt (normalerweise offen) |
| EM-Schloss Kabel 2 | 12V Minus - | Schließt den Stromkreis |
Für ein dauerhaftes Projekt halten Schraubklemmen die Kabel besser als Jumperkabel. Stecken Sie den ESP32 S3 einfach auf ein Schraubklemmen-Board für ESP32 S3. Hier ist dieselbe Schaltung, verdrahtet über das Schraubklemmen-Board:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Eine andere Möglichkeit ist ein GPIO-Breakout-Board für ESP32 S3. Jeder GPIO hat einen Signal-Pin mit einem 3,3V- und einem GND-Pin daneben, wie unten gezeigt:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32-S3-Code - Elektromagnetisches Schloss einschalten, wenn das Passwort richtig ist
Der folgende Code entriegelt das elektromagnetische Schloss, wenn der Benutzer am Tastenfeld ein richtiges Passwort eingibt und die Taste # drückt. Er legt eine Liste gültiger Passwörter fest, sammelt die Tastendrücke in einem Eingabe-String, löscht diesen String beim Drücken von * und vergleicht die vollständige Eingabe beim Drücken von # mit jedem gespeicherten Passwort – bei einer Übereinstimmung wird das Relais aktiviert und das Ergebnis im seriellen Monitor ausgegeben.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie Tastenfeld, Relais und elektromagnetisches Schloss gemäß dem obigen Schaltplan mit dem ESP32 S3.
- Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie Ihr Board: Wählen Sie das richtige ESP32-S3-Board im Menü Tools > Board.
- Wählen Sie Ihren Port: Wählen Sie den richtigen COM-Port im Menü Tools > Port.
- Klicken Sie auf das Symbol Libraries in der linken Seitenleiste der Arduino IDE.
- Suchen Sie nach "keypad" und finden Sie die Keypad-Bibliothek von DIYables.
- Klicken Sie auf die Schaltfläche Install, um die Keypad-Bibliothek zu installieren.
- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.
- Drücken Sie die Tasten 8123 und dann #.
- Drücken Sie die Tasten 1234 und dann #.
- Prüfen Sie den seriellen Monitor und beobachten Sie den Zustand des elektromagnetischen Schlosses.
- Profi-Tipp: Drücken Sie jederzeit *, um die aktuelle Eingabe zu löschen und neu zu beginnen – nützlich, wenn Sie sich mitten im Passwort vertippen.
Ausgabe im seriellen Monitor
Öffnen Sie nach dem Hochladen den seriellen Monitor mit 115200 Baud und geben Sie Passwörter am Tastenfeld ein. Sie sehen Statusmeldungen ähnlich der folgenden Ausgabe:
Code-Erklärung
Die berechtigten Passwörter sind im ESP32-S3-Code vordefiniert. Ein String, der Eingabe-String, speichert das vom Benutzer eingegebene Passwort. Zwei Tasten auf dem Tastenfeld (* und #) haben besondere Funktionen – das Löschen der Eingabe und das Abschließen der Eingabe. Wenn eine Taste gedrückt wird:
- Ist die gedrückte Taste keine der beiden Sondertasten, wird sie an den Eingabe-String angehängt.
- Ist die gedrückte Taste *, wird der Eingabe-String gelöscht, damit der Benutzer die Eingabe beginnen oder neu starten kann.
- Ist die gedrückte Taste #:
- Der Eingabe-String wird mit allen vordefinierten Passwörtern verglichen. Stimmt er mit einem davon überein, wird das elektromagnetische Schloss eingeschaltet.
- Unabhängig davon, ob das Passwort richtig ist oder nicht, wird der Eingabe-String für den nächsten Versuch gelöscht.
ESP32-S3-Code - Elektromagnetisches Schloss für eine bestimmte Zeit einschalten, wenn das Passwort richtig ist
Der folgende Code erweitert das Grundbeispiel, indem er das elektromagnetische Schloss bei richtiger Passworteingabe 5 Sekunden lang entriegelt und dann automatisch wieder verriegelt. Er verwendet die ezOutput-Bibliothek, um den zeitgesteuerten Ausgang nicht blockierend zu verwalten, sodass das Tastenfeld auch während der Entriegelungszeit weiter reagiert.
Bitte beachten Sie, dass der obige Code die ezOutput-Bibliothek verwendet, mit der sich zeitgesteuerte Ausgänge einfach verwalten lassen, ohne die Codeausführung zu blockieren. Installationsanweisungen finden Sie in der Installationsanleitung für die ezOutput-Bibliothek.
Praxisanwendungen
Die Kombination aus Tastenfeld, Relais und elektromagnetischem Schloss mit dem ESP32 S3 eröffnet eine Vielzahl von Sicherheits- und Automatisierungsanwendungen, von einfachen Prototypen bis hin zu produktionsreifen Zugangskontrollsystemen.
- Türschloss für Wohnhäuser: Ersetzen Sie ein herkömmliches Schlüsselschloss an der Vorder- oder Hintertür durch ein PIN-basiertes Zugangssystem.
- Zugangskontrolle im Büro: Beschränken Sie den Zutritt zu bestimmten Räumen oder Bereichen mit Mitarbeiter-PINs und optionaler Ereignisprotokollierung.
- Sicherheit für Labor oder Werkstatt: Verhindern Sie mit einem codegesicherten Magnetverschluss den unbefugten Zugriff auf empfindliche Geräte oder Materialien.
- Aufbewahrungsschrank: Sichern Sie einen Aktenschrank oder Werkzeugspind elektronisch mit einer kleineren Kombination aus Relais und Schloss.
- Zugang für mehrere Benutzer: Speichern Sie mehrere gültige Passwörter im Sketch, damit verschiedene Benutzer jeweils ihre eigene PIN haben.
- IoT-gestützte Sicherheit: Erweitern Sie das System mit dem WLAN des ESP32 S3, um eine Fernentriegelung zu ermöglichen oder Warnungen zu senden, wenn wiederholt ein falsches Passwort eingegeben wird.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Nachdem Ihr per Tastenfeld gesteuertes elektromagnetisches Schloss am ESP32 S3 funktioniert, probieren Sie diese zunehmend anspruchsvollen Erweiterungen aus, um Ihre Kenntnisse in der Zugangskontrolle zu vertiefen.
- Anfänger: Ändern Sie eines der vordefinierten Passwörter im Code und bestätigen Sie, dass der neue Code funktioniert und der alte nicht mehr.
- Anfänger: Fügen Sie eine LED-Anzeige hinzu, die bei einem richtigen Passwort grün und bei einem falschen rot leuchtet.
- Fortgeschritten: Fügen Sie einen Piezo-Summer hinzu, der bei richtiger Eingabe eine kurze Erfolgsmelodie und bei einem Fehler einen anderen Ton spielt.
- Fortgeschritten: Implementieren Sie eine Sperre, die die Tastenfeldeingabe nach drei aufeinanderfolgenden falschen Versuchen für 60 Sekunden deaktiviert.
- Experte: Speichern Sie die Passwortliste im NVS-Flash, damit sie Stromunterbrechungen übersteht, und fügen Sie einen Admin-Code hinzu, mit dem der Benutzer Passwörter zur Laufzeit ändern kann.
- Experte: Integrieren Sie einen RFID-Leser, damit die Tür entweder mit einer Tastenfeld-PIN oder einer RFID-Karte entriegelt werden kann.