Raspberry Pi - SW-420 Vibrationssensor

Das SW-420-Vibrationssensormodul erfasst Stöße, Klopfen oder Erschütterungen an dem Gegenstand, an dem es befestigt ist. Es eignet sich für Projekte wie eine Einbruchsalarmanlage, die reagiert, wenn jemand gegen eine Tür stößt, ein Paket, das eine grobe Behandlung meldet, oder eine Maschine, die ungewöhnliche Erschütterungen anzeigen soll.

Dieses Tutorial zeigt Ihnen, wie Sie den Raspberry Pi und einen SW-420-Vibrationssensor verwenden, um Vibrationen zu erkennen. Wir behandeln:

Sobald dies funktioniert, können Sie den Code erweitern, um eine LED einzuschalten, einen Summer ertönen zu lassen oder eine relaisgesteuerte Lampe auszulösen, sobald eine Vibration erkannt wird.

Erforderliche Hardware

1×Raspberry Pi 5
1×SW-420 Vibration Sensor Module
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit

Oder Sie können die folgenden Kits kaufen:

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 den SW-420-Vibrationssensor

Das SW-420-Vibrationssensormodul reagiert auf Stöße und Erschütterungen. Im Inneren des Moduls befindet sich ein kleiner federbasierter Vibrationsschalter in der Nähe eines Metallkontakts. Ein integrierter LM393-Komparator überwacht diesen Schalter und wandelt jede Störung in ein sauberes digitales Signal um, während Sie mit einem integrierten Potentiometer einstellen können, wie stark die Erschütterung sein muss, bevor der Ausgang auslöst.

Pinbelegung

Der SW-420-Vibrationssensor hat drei Pins:

  • VCC-Pin: muss mit der Versorgungsspannung (3,3V bis 5V) verbunden werden
  • GND-Pin: muss mit Masse (0V) verbunden werden
  • DO-Pin: ist ein Ausgangspin: LOW, solange alles ruhig ist, und HIGH, sobald eine Vibration oder ein Stoß erkannt wird. Dieser Pin muss mit einem Eingangspin des Raspberry Pi verbunden werden.
Pinbelegung des SW-420-Vibrationssensors
image source: diyables.io

Das SW-420-Vibrationssensormodul verfügt über zwei LED-Anzeigen:

  • Eine LED zeigt den Betriebszustand an.
  • Eine weitere LED zeigt den Auslösezustand an und leuchtet auf, sobald der DO-Pin auf HIGH geht.

Funktionsweise

So verhält sich der Ausgangspin des Sensors:

  • Solange das Modul ruhig liegt, bleibt der Federschalter offen und der Ausgangspin liest LOW.
  • Wenn eine Vibration oder ein Stoß den Federschalter bewegt, schließt er den Kontakt und der Ausgangspin wird auf HIGH gesetzt.

Schaltplan

Raspberry Pi SW-420-Vibrationssensor Schaltplan

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

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Wie man den SW-420-Vibrationssensor programmiert

  • Konfiguriert den Raspberry Pi-Pin mit der Funktion GPIO.setup() als digitalen Eingang.
GPIO.setup(SENSOR_PIN, GPIO.IN)
  • Liest den aktuellen Zustand des Raspberry Pi-Pins mit der Funktion GPIO.input().
vibration_state = GPIO.input(SENSOR_PIN)

Raspberry Pi Code - Vibrationen erkennen

Schnelle Schritte

  • Stellen Sie sicher, dass Raspbian oder ein anderes mit dem Raspberry Pi kompatibles Betriebssystem auf Ihrem Pi installiert ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Wenn Sie den Raspberry Pi zum ersten Mal verwenden, lesen Sie wie man den Raspberry Pi einrichtet
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, entweder mit dem integrierten SSH-Client unter Linux und macOS oder mit PuTTY unter Windows. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass die Bibliothek RPi.GPIO installiert ist. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei vibration_sensor.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi 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/raspberry-pi/raspberry-pi-sw-420-vibration-sensor import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number where the SW-420 vibration sensor is connected SENSOR_PIN = 7 # Set the GPIO mode and configure the vibration sensor pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(SENSOR_PIN, GPIO.IN) # Initialize the previous state variable with the current state prev_vibration_state = GPIO.input(SENSOR_PIN) try: while True: # Read the current state of the vibration sensor vibration_state = GPIO.input(SENSOR_PIN) # Check for a state change (LOW to HIGH or HIGH to LOW) if vibration_state != prev_vibration_state: if vibration_state == GPIO.HIGH: print("Vibration detected!") else: print("Vibration stopped!") # Update the previous state variable prev_vibration_state = vibration_state # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal eingeben:
python3 vibration_sensor.py
  • Klopfen Sie ein paar Mal auf den SW-420-Sensor oder schütteln Sie ihn.
  • Sehen Sie sich das Ergebnis im Terminal an.
PuTTY - Raspberry Pi
Vibration detected! Vibration stopped! Vibration detected! Vibration stopped!

Das Skript läuft in einer Endlosschleife, bis Sie im Terminal Ctrl + C drücken.

Von hier aus können Sie den Code anpassen, um eine LED blinken zu lassen, einen Summer ertönen zu lassen oder eine relaisgesteuerte Lampe einzuschalten, sobald eine Vibration erkannt wird. Ausführliche Anleitungen und weitere Informationen finden Sie in den Tutorials am Ende dieser Anleitung.

Fehlerbehebung

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

  • Empfindlichkeit einstellen: Drehen Sie am integrierten Potentiometer, um die Stärke der Erschütterung zu erhöhen oder zu verringern, die zum Auslösen des Ausgangs nötig ist.
  • Vor Umgebungsvibrationen schützen: Befestigen Sie das Modul fest und fern von Motoren, Lüftern oder Laufwegen, die Fehlauslösungen verursachen könnten.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO korrekt angeschlossen sind.
  • Stromversorgung prüfen: Sorgen Sie für eine stabile Stromversorgung ohne elektrische Störungen, um gleichbleibende Messwerte zu erhalten.

Mit diesen Schritten sollten Sie mögliche Probleme mit dem SW-420-Vibrationssensor beheben 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.

Funktionsreferenzen

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!