ESP32 – Knopf steuert elektromagnetisches Schloss

Dieses Tutorial erklärt Ihnen, wie Sie den ESP32 mit dem Knopf und dem elektromagnetischen Schloss verwenden. Im Detail lernen wir, wie Sie den Knopf verwenden, um das elektromagnetische Schloss zu steuern – ohne Entprellung und mit Entprellung. Jedes Mal, wenn der Knopf gedrückt wird, wird die Tür 10 Sekunden lang entriegelt und anschließend verriegelt.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Elektromagnetisches Schloss
1×Relais
1×12V Netzteil
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

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)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Taster und elektromagnetisches Schloss

Wir haben spezifische Tutorials zu elektromagnetischen Schlössern und Tastern. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32, ESP32-Code... Erfahren Sie mehr darüber unter den folgenden Links:

Verdrahtungsdiagramm

ESP32-Taster Elektromagnetisches Türschloss Verdrahtungsschema

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 - Knopf steuert elektromagnetisches Schloss ohne Entprellung

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-button-controls-electromagnetic-lock */ #define BUTTON_PIN 22 // ESP32 pin GPIO22 connected to button's pin #define RELAY_PIN 27 // ESP32 pin GPIO27 connected to relay's pin // variables will change: int lastButtonState; // the previous state of button int currentButtonState; // the current state of button void setup() { Serial.begin(9600); // initialize serial pinMode(BUTTON_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode digitalWrite(RELAY_PIN, HIGH); // lock the door currentButtonState = digitalRead(BUTTON_PIN); } void loop() { lastButtonState = currentButtonState; // save the last state currentButtonState = digitalRead(BUTTON_PIN); // read new state if (lastButtonState == HIGH && currentButtonState == LOW) { Serial.println("The button is pressed"); digitalWrite(RELAY_PIN, LOW); // unlock the door in 10 seconds delay(10000); // 10 seconds digitalWrite(RELAY_PIN, HIGH); // lock the door again } }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
  • Verkabeln Sie gemäß dem obigen Bild.
  • Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und laden Sie den Code auf das ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.
  • Bringen Sie die Ankerplatte in die Nähe des Elektromagneten.
  • Drücken Sie den Knopf einmal.
  • Beobachten Sie die Anziehung zwischen der Ankerplatte und dem Elektromagneten für 10 Sekunden.

Zeilenweise Code-Erklärung

Der obige ESP32-Code enthält eine Zeilen-für-Zeile-Erklärung. Bitte lesen Sie die Kommentare im Code!

In der Praxis müssen wir die Entprellung der Taste implementieren. Der nächste Teil wird zeigen, wie man die Entprellung der Taste implementiert.

ESP32-Code – Taster steuert elektromagnetisches Schloss mit Entprellung

Warum muss man den Button entprellen? ⇒ siehe ESP32 - Tutorial zur Entprellung des Buttons

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-button-controls-electromagnetic-lock */ #include <ezButton.h> #define BUTTON_PIN 22 // ESP32 pin GPIO22 connected to button's pin #define RELAY_PIN 27 // ESP32 pin GPIO27 connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 7; void setup() { Serial.begin(9600); // initialize serial pinMode(RELAY_PIN, OUTPUT); // set ESP32 pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds digitalWrite(RELAY_PIN, HIGH); // lock the door } void loop() { button.loop(); // MUST call the loop() function first if (button.isPressed()) { Serial.println("The button is pressed"); digitalWrite(RELAY_PIN, LOW); // unlock the door in 10 seconds delay(10000); // 10 seconds digitalWrite(RELAY_PIN, HIGH); // lock the door again } }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet.
  • Installieren Sie die ezButton-Bibliothek. Siehe Anleitung
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren und den Code auf das ESP32-Board hochladen, indem Sie auf die Schaltfläche Hochladen in der Arduino IDE klicken.
  • Bringen Sie die Ankerplatte nahe am Elektromagneten.
  • Drücken Sie den Knopf einmal.
  • Beobachten Sie die Anziehung zwischen der Ankerplatte und dem Elektromagneten über einen Zeitraum von 10 Sekunden.

※ Notiz:

Da der obige Code die delay()-Funktion verwendet hat, ist eine Entprellung des Tasters nicht erforderlich. Wir bieten jedoch weiterhin den Code mit Entprellung an, falls du diesen Code änderst und die delay()-Funktion nicht verwendest.

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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!