ESP32 - Grenzschalter

Dieses Tutorial zeigt Ihnen, wie Sie den Grenzschalter mit dem ESP32 verwenden.

ESP32 mit Endschalter

Es ist wichtig zu beachten, dass dieses Tutorial sich speziell mit der Verwendung eines Grenzschalters befasst; bitte verwechseln Sie dies nicht mit dem Folgenden:

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×Endschalter (KW12-3)
1×Endschalter (V-153-1C25)
1×Endschalter (V-155-1C25)
1×Endschalter (V-156-1C25)
1×Wires
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 Endschalter

Es wird als Endlagenschalter bezeichnet, da seine Hauptfunktion darin besteht, zu erkennen, wenn ein sich bewegendes Objekt einen Grenzwert erreicht.

Ein Endschalter wird so benannt, weil sein Hauptzweck darin besteht zu erkennen, wann ein sich bewegendes Objekt eine Grenze erreicht hat.

Pinbelegung

Es gibt verschiedene Arten von Grenzschaltern, aber zu den am häufigsten verwendeten gehören die KW12-3 und V-156-1C25. Jeder dieser Typen verfügt über drei Pins:

  • C-Pin: Dies ist der gemeinsame Pin; er wird in beiden Modi verwendet – sowohl im normalerweise offenen als auch im normalerweise geschlossenen Modus.
  • NO-Pin: Dies ist der normalerweise offene Pin; er wird im normalerweise offenen Modus verwendet.
  • NC-Pin: Dies ist der normalerweise geschlossene Pin; er wird im normalerweise geschlossenen Modus verwendet.
Endschalter-Pinbelegung
image source: diyables.io

Wie es funktioniert

Eine typische Anwendung eines Limitschalters verwendet in der Regel nur zwei Pins, den C-Pin und einen der verbleibenden zwei Pins. Dies ergibt vier verschiedene Arten, einen Limitschalter zu verwenden. Die untenstehende Tabelle veranschaulicht die Verdrahtung und den Auslesestatus an einem ESP32 für jede dieser vier Methoden.

C pin NO pin NC pin ESP32 Input Pin's State
1 GND ESP32 Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected ESP32 Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC ESP32 Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected ESP32 Input Pin (with pull-down) HIGH when untouched, LOW when touched

Indem man den GND-Pin und den ESP32-Eingangspin für jede der vier Möglichkeiten austauscht, ergeben sich insgesamt acht verschiedene Möglichkeiten, einen ESP32 mit einem Endschalter zu verbinden.

Unter den acht Wegen wird sich das Tutorial auf eine Methode konzentrieren, genauer gesagt auf die erste Methode, die als Beispiel dient.

Verdrahtungsdiagramm

  • So verbindet man ESP32 und Endschalter mit Breadboard
ESP32 Endschalter-Schaltplan

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.

So verbinden Sie ESP32 und Grenzschalter

Um die Verdrahtungsverbindung stabil und fest zu machen, empfehlen wir die Verwendung von , um Drähte und den Pin des Grenzschalters miteinander zu verlöten, und danach verwenden wir , um es sicher zu machen.

Für eine stabile und sichere Verbindung wird empfohlen, einen Lötkolben zu verwenden, um die Drähte und die Pins des Grenzschalters miteinander zu löten, und anschließend Schrumpfschläuche zur zusätzlichen Sicherheit zu verwenden.

ESP32-Code - Endschalter

Genau wie ein Knopf muss auch ein Grenzschalter entprellt werden (Weitere Informationen unter ). Das Entprellen macht den Code kompliziert. Zum Glück unterstützt die ezButton-Bibliothek die Entprell-Funktion. Die Bibliothek verwendet außerdem einen internen Pull-up-Widerstand. Dies erleichtert uns das Programmieren.

Ähnlich wie ein Taster benötigt auch ein Endschalter eine Entprellung (weitere Informationen finden Sie unter Warum benötigt man eine Entprellung für den Taster/Endschalter?). Die Entprellung kann den Code komplexer machen. Allerdings bietet die ezButton-Bibliothek Entprellungsfunktionen und verwendet interne Pull-up-Widerstände, was das Programmieren erleichtert.

※ Notiz:

Zwei gängige Anwendungsfälle für einen Endschalter sind:

  • Der erste Anwendungsfall: Wenn der Schalter BERÜHRT ist, wird eine bestimmte Aktion ausgeführt. Wenn der Eingangsstatus NICHT BERÜHRT ist, wird die gegenteilige Aktion ausgeführt.
  • Der zweite Anwendungsfall: Wenn sich der Zustand des Schalters von NICHT BERÜHRT zu BERÜHRT (oder BERÜHRT zu NICHT BERÜHRT) ändert, wird eine bestimmte Aktion ausgeführt.
/* * 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-limit-switch */ #include <ezButton.h> ezButton limitSwitch(19); // create ezButton object that attach to ESP32 pin GPIO19 void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

Schnelle Schritte

  • Folgen Sie dem oben bereitgestellten Verdrahtungsdiagramm, um Ihren Grenzschalter mit dem ESP32 zu verbinden.
  • Verbinden Sie Ihren ESP32 über ein USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino-IDE-Software.
  • Installieren Sie die ezButton-Bibliothek. Siehe die Anweisungen
  • Wählen Sie das passende Board und den Port in der Arduino-IDE aus.
  • Kompilieren und laden Sie den Code auf das ESP32-Board hoch, indem Sie auf die Schaltfläche Hochladen in der Arduino IDE klicken.
  • Testen Sie den Grenzschalter, indem Sie ihn berühren und loslassen.
  • Beobachten Sie die Ausgabe im Serial Monitor der Arduino-IDE.
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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!