ESP32 - Endschalter
Diese Anleitung zeigt Ihnen, wie Sie einen Endschalter mit dem ESP32 und MicroPython verwenden. Wir behandeln folgende Punkte:
- Wie Sie den Endschalter mit dem ESP32 verbinden.
- Wie Sie MicroPython-Code für den ESP32 schreiben, um den Zustand des Endschalters auszulesen.
- Wie Sie MicroPython-Code für den ESP32 schreiben, um die Ereignisse „berührt“ und „nicht berührt“ des Endschalters zu erkennen.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Limit Switch
Er wird Endschalter genannt, weil seine Hauptfunktion darin besteht, zu erkennen, wann ein sich bewegendes Objekt seinen Endpunkt erreicht. Er ist auch als Positionsschalter bekannt. Man nennt ihn auch Wegschalter.
Pinbelegung
Es werden häufig verschiedene Arten von Endschaltern verwendet, z. B. der KW12-3 und der V-156-1C25. Jedes Modell hat 3 Pins.
- C-Pin: Dies ist der gemeinsame Pin. Er wird sowohl im offenen als auch im geschlossenen Zustand verwendet.
- NO-Pin: Das ist der Öffner-Pin (normally open). Er wird im offenen Zustand verwendet.
- NC-Pin: Das ist der Schließer-Pin (normally closed). Er wird im geschlossenen Zustand verwendet.

Funktionsweise
Der Endschalter hat drei Pins, aber normalerweise werden nur zwei davon verwendet: der C-Pin und einer der beiden anderen Pins. Es gibt vier Möglichkeiten, den Endschalter anzuschließen. Hier ist eine Tabelle mit der Verdrahtung des Endschalters und den Messwerten am ESP32 für alle vier Methoden:
| C-Pin | NO-Pin | NC-Pin | Zustand des ESP32-Eingangspins | |
|---|---|---|---|---|
| 1 | GND | ESP32-Eingangspin (mit Pull-up) | NICHT verbunden | HIGH, wenn nicht berührt, LOW, wenn berührt |
| 2 | GND | NICHT verbunden | ESP32-Eingangspin (mit Pull-up) | LOW, wenn nicht berührt, HIGH, wenn berührt |
| 3 | VCC | ESP32-Eingangspin (mit Pull-down) | NICHT verbunden | LOW, wenn nicht berührt, HIGH, wenn berührt |
| 4 | VCC | NICHT verbunden | ESP32-Eingangspin (mit Pull-down) | HIGH, wenn nicht berührt, LOW, wenn berührt |
Bei jeder Methode können wir die Positionen des GND-Pins und des Eingangspins am ESP32 vertauschen. Dadurch ergeben sich 8 verschiedene Möglichkeiten, den ESP32 mit einem Endschalter zu verbinden.
Wir müssen nur eine der vier oben genannten Methoden auswählen. In diesem Tutorial verwenden wir die erste Methode.
Verdrahtungsdiagramm
- So verbinden Sie ESP32 und Endschalter über ein Breadboard

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- So verbinden Sie ESP32 und Endschalter über ein Schraubklemmen-Breakout-Board

ESP32 MicroPython-Code - Endschalter
Ein Endschalter muss, ähnlich wie ein Taster, entprellt werden, um richtig zu funktionieren. Das Entprellen kann den Code komplizierter machen. Glücklicherweise bietet die DIYables_MicroPython_Button-Bibliothek eine Entprellfunktion und nutzt einen internen Pull-up-Widerstand, was die Programmierung vereinfacht.
Hier sind zwei typische Situationen:
- Erstens: Wenn der Schalter BERÜHRT ist, tun Sie etwas. Wenn er NICHT BERÜHRT ist, tun Sie das Gegenteil.
- Zweitens: Wenn der Schalter von NICHT BERÜHRT zu BERÜHRT oder von BERÜHRT zu NICHT BERÜHRT wechselt, tun Sie etwas.
Sehen wir uns an, wie das MicroPython-Skript in beiden Fällen geschrieben wird.
ESP32 MicroPython-Code - Zustand des Endschalters lesen
Schnelle Schritte
So richten Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE ein und führen ihn aus:
- Stellen Sie sicher, dass die Thonny IDE auf Ihrem Computer installiert ist.
- Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board installiert ist.
- Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte mit Schritt-für-Schritt-Anweisungen.
- Verbinden Sie das ESP32-Board gemäß dem Schaltplan mit dem Endschalter.
- Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
- Öffnen Sie die Thonny IDE auf Ihrem Computer.
- Gehen Sie in der Thonny IDE zu Tools Options.
- Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32) aus.
- Stellen Sie sicher, dass der richtige Port ausgewählt ist. Die Thonny IDE erkennt ihn normalerweise automatisch, eventuell müssen Sie ihn aber manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
- Navigieren Sie in der Thonny IDE zu Tools Manage packages.
- Suchen Sie nach “DIYables-MicroPython-Button” und finden Sie die von DIYables erstellte Button-Bibliothek.
- Klicken Sie auf DIYables-MicroPython-Button und dann auf die Schaltfläche Install, um die Button-Bibliothek zu installieren.

- Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
- Speichern Sie den Code auf Ihrem ESP32:
- Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
- Wählen Sie im Speicherdialog MicroPython device.
- Nennen Sie die Datei main.py.
- Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
- Drücken Sie den Endschalter, halten Sie ihn und lassen Sie ihn dann los, während Sie die Meldung in der Shell unten in Thonny beobachten.
ESP32 MicroPython-Code - Berührt/Nicht-berührt-Ereignis des Endschalters prüfen
- Kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Thonny IDE ein.
- Speichern Sie das Skript auf Ihrem ESP32.
- Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen. Das Skript wird ausgeführt.
- Drücken Sie den Endschalter, halten Sie ihn und lassen Sie ihn dann los, während Sie die Meldung in der Shell unten in Thonny beobachten.
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.