ESP32 - Endschalter

Diese Anleitung zeigt Ihnen, wie Sie einen Endschalter mit dem ESP32 und MicroPython verwenden. Wir behandeln folgende Punkte:

ESP32 MicroPython mit Endschalter

Ü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.
Endschalter Pinbelegung
image source: diyables.io

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
ESP32 MicroPython Endschalter Schaltplan

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

So verbinden Sie ESP32 und Endschalter

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

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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-micropython/esp32-micropython-limit-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the limit switch connected to GPIO19 pin of the ESP32 limit_switch = Button(19) # Set debounce time to 50 milliseconds limit_switch.set_debounce_time(50) while True: limit_switch.loop() # Update the button state state = limit_switch.get_state() if state == 1: # GPIO HIGH print("The limit switch: UNTOUCHED") else: print("The limit switch: TOUCHED")

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.
ESP32 MicroPython Button-Bibliothek
  • 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.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED 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: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

ESP32 MicroPython-Code - Berührt/Nicht-berührt-Ereignis des Endschalters prüfen

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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-micropython/esp32-micropython-limit-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the limit switch connected to GPIO19 pin of the ESP32 limit_switch = Button(19) # Set debounce time to 50 milliseconds limit_switch.set_debounce_time(50) while True: limit_switch.loop() # Update the button state if limit_switch.is_pressed(): print("The limit switch: UNTOUCHED -> TOUCHED") if limit_switch.is_released(): print("The limit switch: TOUCHED -> UNTOUCHED")
  • 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.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED -> UNTOUCHED
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

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!