ESP8266 – Knopfsteuerung für elektromagnetisches Türschloss

Das Tutorial erklärt dir, wie man einen ESP8266 und einen Knopf verwendet, um ein elektromagnetisches Türschloss zu steuern. Wenn der Knopf gedrückt wird, entriegelt der ESP8266 die Tür für eine bestimmte Zeit (z. B. 10 Sekunden). Danach wird die Tür wieder verschlossen.

Wir gehen in zwei Schritten vom Leichten zum Schwierigen:

Erforderliche Hardware

1×ESP8266 NodeMCU
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×DC-Stromanschluss
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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 Button und elektromagnetische Türverriegelung

Wenn Sie mit elektromagnetischen Schlössern und Tastern (einschließlich Pinbelegungen, Betrieb und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

ESP8266 NodeMCU-Taster Elektromagnetisches Schloss Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

ESP8266-Code - Taster steuert das elektromagnetische Schloss ohne Entprellung

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-button-control-electromagnetic-lock */ #define BUTTON_PIN D1 // The ESP8266 pin connected to button's pin #define RELAY_PIN D8 // The ESP8266 pin connected to relay's pin int prev_button_state; // The previous state of button int button_state; // The current state of button void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(BUTTON_PIN, INPUT_PULLUP); // Configure the ESP8266 pin to the input pull-up mode pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode digitalWrite(RELAY_PIN, HIGH); // lock the door button_state = digitalRead(BUTTON_PIN); } void loop() { prev_button_state = button_state; // save the last state button_state = digitalRead(BUTTON_PIN); // read new state if (prev_button_state == HIGH && button_state == 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

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Schau dir das Tutorial Wie man die Umgebung für ESP8266 in der Arduino-IDE einrichtet an, falls du ESP8266 zum ersten Mal verwendest.
  • Verbinde die Bauteile wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board über ein USB-Kabel an deinen Computer an.
  • Öffne die Arduino-IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den jeweiligen COM-Port.
  • Verbinde einen ESP8266 über ein USB-Kabel mit einem Computer.
  • Öffne die Arduino-IDE, wähle das passende Board und den Port.
  • Kopiere den Code und öffne ihn in der Arduino-IDE.
  • Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
  • Bringe die Armaturplatte nahe an den Elektromagneten.
  • Drücke den Knopf einmal.
  • Beobachte die Anziehung zwischen der Armaturplatte und dem Elektromagneten 10 Sekunden lang.

Code-Erklärung

Schau dir die Zeile-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

※ Notiz:

In der Praxis funktioniert der oben erwähnte Code nicht immer korrekt. Um sicherzustellen, dass es ordnungsgemäß funktioniert, müssen wir das Entprellen des Buttons. Das Entprellen des Buttons kann für Anfänger knifflig sein. Glücklicherweise macht die ezButton-Bibliothek das Ganze deutlich einfacher.

ESP8266-Code – Knopfsteuerung des elektromagnetischen Türschlosses mit Entprellung

Was ist der Zweck der Entprellung? ⇒ Siehe ESP8266 - Button Debounce tutorial, um zu verstehen, warum die Entprellung notwendig ist.

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-button-control-electromagnetic-lock */ #include <ezButton.h> #define BUTTON_PIN D1 // The ESP8266 pin connected to button's pin #define RELAY_PIN D8 // The ESP8266 pin connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object for pin D8 void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(RELAY_PIN, OUTPUT); // Configure the ESP8266 pin to the 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

  • Verdrahten Sie die Komponenten wie im Diagramm gezeigt.
  • Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino-IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board, beispielsweise (z. B. NodeMCU 1.0 (ESP-12E Module)), und den entsprechenden COM-Port.
  • Installieren Sie die ezButton-Bibliothek. Siehe Anleitung für Anweisungen.
  • Öffnen Sie den Code in der Arduino-IDE und klicken Sie auf die Hochladen-Schaltfläche, um ihn auf den ESP8266 hochzuladen.
  • Bringen Sie die Ankerplatte nahe an den Elektromagneten und drücken Sie einmal den Knopf.
  • Beobachten Sie die Anziehung zwischen der Ankerplatte und dem Elektromagneten 10 Sekunden lang.

※ Notiz:

Im obigen Code haben wir die Verzögerungsfunktion verwendet. Daher ist keine Entprellung des Tasters erforderlich. Dennoch stellen wir den Code mit Entprellung bereit, falls Sie mehr Aufgaben erledigen möchten, ohne die Verzögerungsfunktion zu verwenden. Weitere Informationen finden Sie unter Wie man millis() statt delay() verwendet.

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!