ESP32 - SW-420 Vibrationssensor (MicroPython)

Dieses Tutorial zeigt Ihnen, wie Sie einen SW-420 Vibrationssensor mit einem ESP32 unter MicroPython kombinieren, damit Sie in Ihrem eigenen Projekt Erschütterungen und Vibrationen erfassen können. Das lernen Sie dabei:

ESP32 MicroPython SW-420 Vibrationssensor

Sobald alles funktioniert, können Sie auf demselben Code aufbauen, um einen Summer ertönen zu lassen, eine LED blinken zu lassen oder eine Benachrichtigung zu senden, wann immer eine Vibration erkannt wird.

Überblick über SW-420 Vibration Sensor

Ein SW-420 Vibrationssensormodul ist immer dann praktisch, wenn Sie ein Klopfen, einen Stoß oder ein Rütteln an dem Gegenstand bemerken müssen, an dem es befestigt ist. Im Inneren des Moduls befindet sich ein kleiner federbasierter Schalter dicht neben einem Metallkontakt; der LM393-Komparator auf der Platine überwacht diesen Schalter und gibt in dem Moment, in dem eine Vibration oder Erschütterung ihn stört, ein sauberes digitales Signal aus. Mit einem kleinen Potentiometer auf der Platine können Sie genau einstellen, wie stark das Rütteln sein muss, bevor der Ausgang auslöst.

Pinbelegung

Das SW-420 Vibrationssensormodul hat drei Pins:

  • VCC-Pin: mit VCC verbinden (3,3 Volt bis 5 Volt)
  • GND-Pin: mit GND verbinden (0 Volt)
  • DO-Pin: Dieser Ausgangspin bleibt LOW, solange alles ruhig ist, und springt auf HIGH, sobald eine Vibration oder Erschütterung erkannt wird. Verbinden Sie ihn mit einem Eingangspin Ihres ESP32.
SW-420 Vibrationssensor Pinbelegung
image source: diyables.io

Das Modul hat außerdem zwei LEDs auf der Platine.

  • Eine LED bestätigt einfach, dass die Platine mit Strom versorgt wird
  • Eine LED leuchtet, wann immer der DO-Pin auf HIGH geht, was bedeutet, dass eine Vibration erkannt wurde

Funktionsweise

Unter der Abdeckung sitzt ein winziger Federschalter neben einem festen Kontakt.

  • Solange das Modul in Ruhe ist, berührt die Feder den Kontakt nicht, sodass der Ausgangspin LOW liest.
  • Wenn eine Vibration oder ein Stoß die Feder gegen den Kontakt drückt, setzt der Komparator den Ausgangspin auf HIGH.
  • Durch Drehen des Potentiometers auf der Platine erhöhen oder verringern Sie, wie stark das Rütteln sein muss, um den Schalter auszulösen, sodass Sie ihn von leichtem Antippen bis zu harten Stößen einstellen können.

Verdrahtungsdiagramm

  • So verdrahten Sie einen ESP32 mit einem SW-420 Vibrationssensor mithilfe eines Steckbretts
ESP32 MicroPython SW-420 Vibrationssensor Schaltplan

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

So verbinden Sie ESP32 und SW-420 Vibrationssensor

So programmieren Sie den SW-420 Vibrationssensor

  • Konfiguriert den ESP32-Pin als digitalen Eingang.
sensor_pin = Pin(SENSOR_PIN, Pin.IN)
  • Liest den aktuellen Zustand dieses Pins am ESP32.
vibration_state = sensor_pin.value()

ESP32 MicroPython Code - Vibration 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-sw-420-vibration-sensor */ from machine import Pin import time SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to DO pin of the SW-420 vibration sensor prev_vibration_state = 0 # the previous state from the input pin vibration_state = 0 # 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 vibration_state = sensor_pin.value() if prev_vibration_state == 0 and vibration_state == 1: print("Vibration detected!") elif prev_vibration_state == 1 and vibration_state == 0: print("Vibration stopped") # Save the last state prev_vibration_state = vibration_state time.sleep(0.1) # Delay for 100 milliseconds

Schnelle Schritte

Folgen Sie diesen Schritten, um das MicroPython-Skript über die Thonny IDE auf Ihrem ESP32 auszuführen:

  • Installieren Sie Thonny IDE auf Ihrem Computer, falls noch nicht geschehen.
  • Stellen Sie sicher, dass auf Ihrem ESP32-Board bereits die MicroPython-Firmware aufgespielt ist.
  • Kombinieren Sie MicroPython zum ersten Mal mit einem ESP32? Arbeiten Sie zuerst die Anleitung ESP32 MicroPython Erste Schritte durch, bevor Sie fortfahren.
  • Verdrahten Sie den SW-420 Vibrationssensor gemäß dem obigen Schaltplan mit dem ESP32.
  • Schließen Sie den ESP32 mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie Thonny IDE.
  • Gehen Sie in Thonny 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 findet ihn normalerweise selbst, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den folgenden MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie das Skript 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.
  • Drücken Sie den grünen Run-Button (oder F5), um das Skript zu starten.
  • Tippen Sie auf den SW-420 Sensor oder schütteln Sie ihn, damit er eine Vibration erfassen kann.
  • Beobachten Sie den Shell-Bereich unten in Thonny für die ausgegebenen Meldungen.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Vibration detected! Vibration stopped Vibration detected! Vibration stopped
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Fehlerbehebung

Wenn sich der SW-420 Vibrationssensor nicht wie erwartet verhält, versuchen Sie die folgenden Schritte:

  • Empfindlichkeit einstellen: Drehen Sie das Potentiometer auf der Platine, um den Sensor empfindlicher oder unempfindlicher zu machen, und testen Sie dann erneut mit einem leichten Antippen und einem festeren Stoß.
  • Von Fremdvibrationen isolieren: Montieren Sie den Sensor fest und entfernt von Motoren, Lüftern oder Oberflächen, die von selbst vibrieren, damit er nicht durch Umgebungseinflüsse auslöst.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO korrekt und fest verbunden sind.
  • Stromversorgung prüfen: Stellen Sie sicher, dass der ESP32 eine stabile Stromversorgung erhält, da Spannungseinbrüche zu unregelmäßigen Messwerten führen können.

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!