ESP32 - SW520D Neigungssensor (MicroPython)

Diese Anleitung zeigt Ihnen, wie Sie einen SW520D Neigungssensor und den ESP32 mit MicroPython verwenden, um eine Neigung zu erkennen. Im Einzelnen lernen wir:

ESP32 MicroPython SW520D Neigungssensor

Später können Sie den Code so ändern, dass eine LED oder eine Lampe (über ein Relais) eingeschaltet wird, wenn eine Neigung erkannt wird, oder dass sich ein Servomotor dreht.

Überblick über SW520D Tilt Sensor

Ein SW520D Neigungssensor kann verwendet werden, um Neigungen oder Lageänderungen zu erkennen. Im Inneren des Moduls befindet sich eine kleine Metallkugel, die je nach Neigungswinkel zwischen zwei elektrischen Kontakten rollt. Das Modul liefert ein einfaches digitales EIN- oder AUS-Signal.

Pinbelegung des SW520D Neigungssensors

Der SW520D Neigungssensor hat drei Pins:

  • VCC-Pin: Verbinden Sie ihn mit VCC, zwischen 3,3V und 5V.
  • GND-Pin: Verbinden Sie ihn mit GND, also 0V.
  • DO-Pin: Dieser Ausgangspin geht auf HIGH, wenn der Sensor aufrecht steht, und auf LOW, wenn er geneigt ist. Verbinden Sie ihn mit dem Eingangspin Ihres ESP32.
SW520D Neigungssensor Pinbelegung
image source: diyables.io

Das SW520D Neigungssensormodul hat zwei LED-Anzeigen.

  • Eine LED zeigt an, dass die Stromversorgung eingeschaltet ist
  • Eine LED für den Neigungszustand: Sie leuchtet, wenn der Sensor aufrecht steht, und erlischt, wenn er geneigt ist

Funktionsweise

Das Modul verwendet einen einfachen Kugelschalter-Mechanismus.

  • Wenn der Sensor aufrecht steht, schließt die Metallkugel den Kontakt, und der Ausgangspin ist HIGH.
  • Wenn der Sensor geneigt ist, öffnet die Metallkugel den Kontakt, und der Ausgangspin ist LOW.

Verdrahtungsdiagramm

  • So verbinden Sie ESP32 und SW520D Neigungssensor mithilfe eines Steckbretts
ESP32 MicroPython SW520D Neigungssensor Schaltplan

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

So verbinden Sie ESP32 und SW520D Neigungssensor

So programmieren Sie den SW520D Neigungssensor

  • Setzt den ESP32-Pin als digitalen Eingang.
sensor_pin = Pin(SENSOR_PIN, Pin.IN)
  • Prüft den Zustand eines Pins am ESP32.
tilt_state = sensor_pin.value()

ESP32 MicroPython Code - Neigung erkennen

/* * 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-sw520d-tilt-sensor */ from machine import Pin import time SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to DO pin of the SW520D tilt sensor prev_tilt_state = 1 # the previous state from the input pin tilt_state = 1 # the current reading from the input pin # Initialize the sensor pin as an input sensor_pin = Pin(SENSOR_PIN, Pin.IN) # Main loop while True: # Read the state of the input pin tilt_state = sensor_pin.value() if prev_tilt_state == 1 and tilt_state == 0: print("The tilt has been detected") elif prev_tilt_state == 0 and tilt_state == 1: print("The tilt has disappeared") # Save the last state prev_tilt_state = tilt_state time.sleep(0.1) # Delay for 100 milliseconds

Schnelle Schritte

Hier finden Sie eine Anleitung, wie Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE einrichten und ausführen:

  • Stellen Sie sicher, dass Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board geladen ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Verbinden Sie den SW520D Neigungssensor gemäß dem bereitgestellten Schaltplan mit dem ESP32.
  • Verbinden Sie das ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
  • Öffnen Sie Thonny IDE auf Ihrem Computer.
  • Gehen Sie in Thonny IDE zu Tools Options.
  • Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32).
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Thonny IDE erkennt ihn normalerweise automatisch, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • 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 den Save-Button oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Nennen Sie die Datei main.py.
  • Klicken Sie auf den grünen Run-Button (oder drücken Sie F5), um das Skript auszuführen.
  • Neigen Sie den SW520D Sensor hin und her.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The tilt has been detected The tilt has disappeared The tilt has been detected The tilt has disappeared
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Fehlerbehebung

Wenn der SW520D Neigungssensor nicht richtig funktioniert, versuchen Sie die folgenden Schritte:

  • Ausrichtung prüfen: Der SW520D reagiert empfindlich auf seinen Montagewinkel. Stellen Sie sicher, dass er für eine zuverlässige Erkennung in der richtigen aufrechten Position eingebaut ist.
  • Vibrationen reduzieren: Damit der Sensor nicht auf Vibrationen reagiert, befestigen Sie ihn fest auf einer stabilen Oberfläche.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO korrekt verbunden sind.
  • Stromversorgung prüfen: Stellen Sie für gleichbleibende Messwerte sicher, dass die Stromversorgung stabil ist.

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.

Verwandte Tutorials

※ 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!