Arduino – Taster steuert elektromagnetisches Schloss

In diesem Tutorial lernen wir, wie man Arduino und einen Knopf verwendet, um das elektromagnetische Schloss zu steuern. Wenn der Knopf gedrückt wird, deaktiviert Arduino das elektromagnetische Schloss, um die Tür für eine bestimmte Zeit (z. B. 10 Sekunden) zu entriegeln. Danach aktiviert es das elektromagnetische Schloss, um die Tür zu verriegeln.

Wir lernen in zwei Schritten vom Einfachen zum Schwierigen:

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (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) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino 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 Knopf und elektromagnetische Türverriegelung

Wenn Sie nichts über elektromagnetische Türverriegelungen und Knöpfe wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), informieren Sie sich in den folgenden Tutorials darüber:

Verdrahtungsdiagramm

Schaltplan zur Verdrahtung einer Arduino-Taste mit elektromagnetischer Verriegelung

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

Arduino-Code - Taster steuert elektromagnetisches Schloss ohne Entprellen

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino/arduino-button-controls-electromagnetic-lock */ // constants won't change const int BUTTON_PIN = 7; // Arduino pin connected to button's pin const int RELAY_PIN = 3; // Arduino pin 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 arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino 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

  • Verbinde den Arduino über ein USB-Kabel mit dem PC
  • Öffne die Arduino IDE und wähle das richtige Board und den richtigen Port
  • Kopiere den obigen Code und öffne ihn in der Arduino IDE
  • Klicke in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino hochzuladen
  • Positioniere die Ankerplatte nahe am Elektromagneten
  • Drücke den Knopf einmal
  • Beobachte die Anziehung zwischen der Ankerplatte und dem Elektromagneten für zehn Sekunden

Code-Erklärung

Sie finden die Erklärung in der Kommentarzeile des oben genannten Arduino-Codes.

※ Notiz:

In der Praxis funktioniert der obige Code manchmal nicht richtig. Um sicherzustellen, dass es immer korrekt funktioniert, benötigen wir die Entprellung für den Taster. Die Entprellung des Tasters ist für Anfänger nicht einfach. Glücklicherweise ermöglicht uns die ezButton-Bibliothek dies einfach.

Arduino-Code – Knopf steuert elektromagnetisches Türschloss mit Entprellung

Warum benötigen wir eine Entprellung? ⇒ siehe Arduino - Button Debounce Tutorial

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino/arduino-button-controls-electromagnetic-lock */ #include <ezButton.h> // constants won't change const int BUTTON_PIN = 7; // Arduino pin connected to button's pin const int RELAY_PIN = 3; // Arduino pin 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 arduino 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

  • Installieren Sie die ezButton-Bibliothek. Siehe How To
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino hochzuladen.
  • Bringen Sie die Ankerplatte nahe an den Elektromagneten.
  • Drücken Sie den Knopf einmal.
  • Beobachten Sie die Anziehung zwischen der Ankerplatte und dem Elektromagneten über zehn Sekunden.

※ Notiz:

Im obigen Code haben wir die Delay-Funktion verwendet. Daher benötigen wir kein Entprellen des Tasters. Wir stellen jedoch den Code mit Entprellung bereit, falls Sie weitere Aufgaben erledigen möchten, ohne die Delay-Funktion zu verwenden. Siehe 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!