ESP32 S3 - SW-420 Vibrationssensor

Ein ESP32 S3 in Kombination mit einem SW-420-Vibrationssensor kann ein Klopfen, ein Schütteln oder einen plötzlichen Stoß in dem Moment erkennen, in dem er auftritt. Das macht ihn zu einem hervorragenden Ausgangspunkt für Alarmanlagen, Versandüberwachung oder einfache, durch Schütteln aktivierte Geräte. Dieses Tutorial zeigt Ihnen, wie Sie das Modul verdrahten und die Firmware schreiben, die in Echtzeit auf Vibrationen reagiert.

Was Sie bauen werden:

  1. Einen Überblick darüber, wie das SW-420-Modul Stöße und Vibrationen erkennt
  2. Eine verdrahtete Verbindung zwischen dem SW-420-Modul und dem ESP32 S3
  3. Firmware, die den digitalen Pin des Sensors überwacht und auf Änderungen reagiert
  4. Ausgaben im seriellen Monitor, die Beginn und Ende von Vibrationsereignissen bestätigen
ESP32 S3 SW-420 Vibrationssensor

Sobald der grundlegende Sketch läuft, können Sie ihn erweitern, um bei jedem erkannten Stoß einen Summer ertönen zu lassen, eine WLAN-Benachrichtigung zu senden oder ein Relais zu schalten.

Erforderliche Hardware

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×SW-420 Vibration Sensor Module
1×Breadboard
1×Verbindungskabel
1×(Optional) 5V Power Adapter
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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.

Überblick über SW-420 Vibration Sensor

Das SW-420-Vibrationssensormodul erkennt Stöße und Vibrationen mithilfe eines kleinen federbasierten Schalters, der neben einem Metallkontakt montiert ist. Jedes Klopfen oder Schütteln bringt die Feder in Bewegung, und ein integrierter LM393-Komparator wandelt diese Störung in ein sauberes digitales Signal um, das der ESP32 S3 direkt lesen kann – ohne Analogpin und ohne zusätzliche Berechnungen.

Wichtige Spezifikationen

  • Betriebsspannung: 3,3 V bis 5 V DC
  • Nur digitaler Ausgang (kein Analogpin an diesem Modul)
  • Empfindlichkeit über ein integriertes Potentiometer/Trimmer einstellbar
  • Komparator: integrierter LM393
  • Integrierte Power-LED sowie eine Trigger-LED für den digitalen Ausgang

Pinbelegung des SW-420-Vibrationssensors

Drei Pins des SW-420-Moduls werden direkt mit dem ESP32 S3 verbunden, zusätzliche Bauteile sind nicht erforderlich.

  1. VCC-Pin: Mit der Stromversorgung verbinden (3,3 V bis 5 V)
  2. GND-Pin: Mit Masse verbinden (0 V)
  3. DO-Pin: Digitaler Ausgangspin – bleibt im Ruhezustand LOW und wechselt auf HIGH, sobald eine Vibration oder ein Stoß erkannt wird – mit einem digitalen Eingangspin des ESP32 S3 verbinden
Pinbelegung des SW-420-Vibrationssensors
image source: diyables.io

Zusätzliche Funktionen:

  • Die Power-LED bestätigt, dass das Modul mit Spannung versorgt wird
  • Die Trigger-LED leuchtet, sobald der DO-Pin auf HIGH geht – praktisch zum Testen ohne seriellen Monitor
  • Mit dem integrierten Potentiometer stellen Sie ein, wie stark geschüttelt werden muss, bevor DO auf HIGH schaltet

Funktionsweise

Der Federschalter im SW-420 ruht entweder ungestört oder wird durch einen Stoß kurzzeitig in Kontakt gebracht, und der Komparator wandelt dies in ein Signal um, das Ihr Sketch abfragen kann.

Verhalten des digitalen Ausgangs:

  • Im Ruhezustand, ohne Vibration: Der Federschalter bleibt offen → Ausgangspin liest LOW
  • In dem Moment, in dem eine Vibration oder ein Stoß die Feder bewegt: Der Schalter schließt kurzzeitig → Ausgangspin liest HIGH

Verdrahtungsdiagramm

Verbinden Sie die drei Pins des SW-420-Moduls wie unten gezeigt mit dem ESP32 S3 und halten Sie die Verbindungen auf dem Breadboard kurz und fest.

Sicherheitshinweise

Schließen Sie den VCC-Draht an einen 3,3-V- oder 5-V-Pin Ihres ESP32 S3 an, niemals an eine höhere Spannung, und stellen Sie sicher, dass GND fest verbunden ist, da eine schwebende Masse eine häufige Ursache dafür ist, dass sich der DO-Pin nie stabilisiert. Wenn das Modul nach geprüfter Verdrahtung immer noch zufällig auslöst, drehen Sie das integrierte Potentiometer, um die Empfindlichkeit zu verringern, bevor Sie den Code verdächtigen.

Verdrahtungsplan ESP32 S3 SW-420-Vibrationssensor

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

SW-420 Vibrationssensor-Pin ESP32 S3 Pin
VCC 3,3 V oder 5 V
GND GND
DO D16 (GPIO16)

Wie man den SW-420-Vibrationssensor programmiert

Die Firmware muss nur einen digitalen Eingangspin einrichten und dann in der Schleife beobachten, wie sich sein Zustand ändert. Unten wird Pin D16 als Eingang konfiguriert und kontinuierlich abgefragt. Der Sketch gibt eine Meldung im seriellen Monitor aus, sobald der Wert von Ruhe auf ausgelöst wechselt, und erneut, wenn er sich wieder beruhigt.

Schritt 1 - Eingangspin konfigurieren:

pinMode(D16, INPUT);

Schritt 2 - Aktuellen Wert abfragen:

int vibrationState = digitalRead(D16);

ESP32 S3 Code - Vibration erkennen

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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-s3/esp32-s3-sw-420-vibration-sensor */ #define SENSOR_PIN 16 // The ESP32 S3 pin 16 connected to the DO pin of the SW-420 vibration sensor int prev_vibration_state = LOW; // The previous state from the input pin (LOW = idle, resting state) int vibration_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP32's input pin vibration_state = digitalRead(SENSOR_PIN); if (prev_vibration_state == LOW && vibration_state == HIGH) Serial.println("Vibration detected"); else if (prev_vibration_state == HIGH && vibration_state == LOW) Serial.println("Vibration stopped"); // save the last state prev_vibration_state = vibration_state; }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahtung prüfen: Vergleichen Sie jeden Draht mit dem obigen Diagramm, bevor Sie das Board mit Strom versorgen
  3. Code kopieren: Kopieren Sie den obigen Sketch in ein neues Arduino-IDE-Fenster
  4. Board auswählen: Wählen Sie ESP32 S3 im Board-Menü aus
  5. Sketch hochladen: Klicken Sie auf Upload, um den Code auf Ihren ESP32 S3 zu übertragen
  6. Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein
  7. Leicht antippen: Klopfen Sie vorsichtig auf das SW-420-Modul oder schütteln Sie es
  8. Werte beobachten: Bestätigen Sie, dass der serielle Monitor für jedes Antippen ein Paar aus „detected“ und „stopped“ protokolliert
  9. Profi-Tipp: Wenn jedes kleinste Klopfen den Sensor auslöst, drehen Sie das integrierte Potentiometer schrittweise im oder gegen den Uhrzeigersinn, bis die Empfindlichkeit für Ihr Projekt passt
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
11:02:07.318 - Vibration detected 11:02:07.664 - Vibration stopped 11:02:11.902 - Vibration detected 11:02:12.130 - Vibration stopped 11:02:15.477 - Vibration detected 11:02:15.951 - Vibration stopped
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Von hier aus können Sie die Serial.println()-Aufrufe durch alles ersetzen, was Sie benötigen – eine LED einschalten, ein Relais schalten oder eine Benachrichtigung senden – sobald eine Vibration erkannt wird. Die folgenden Projektideen und Herausforderungen zeigen einige mögliche Richtungen.

Anwendungen und Projektideen

Ein so einfacher digitaler Vibrationsschalter eignet sich für weit mehr als nur Labordemos – hier einige Möglichkeiten, ihn mit einem ESP32 S3 einzusetzen.

  1. Erschütterungsalarm: Einen Summer oder eine Sirene auslösen, sobald ein unerwartetes Klopfen oder ein Aufprall erkannt wird
  2. Stoßprotokollierung für Pakete: Zeitstempel jedes Stoßes protokollieren, den ein Paket während des Transports erfährt
  3. Unwuchtüberwachung für Waschmaschinen: Übermäßiges Schütteln während des Schleudergangs melden, bevor es zum Problem wird
  4. Sicherheitsüberwachung für Werkstattwerkzeuge: Abnormale Vibrationen an einem laufenden Elektrowerkzeug erkennen und automatisch die Stromversorgung unterbrechen
  5. Mini-Seismograph-Demo: Vibrationsereignisse im Zeitverlauf grafisch darstellen – für ein einfaches Erdbebendetektor-Projekt im Unterricht

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.

Fordern Sie sich heraus

Probieren Sie diese Herausforderungen aus, um auf dem grundlegenden Vibrations-Sketch aufzubauen und Ihr ESP32-S3-Projekt weiterzuentwickeln.

  1. Anfänger: Eine LED einschalten, sobald eine Vibration erkannt wird, und sie ausschalten, wenn sich alles beruhigt hat
  2. Anfänger: Den Vibrationszustand auf einem LCD statt nur im seriellen Monitor anzeigen
  3. Fortgeschritten: Die Anzahl der Vibrationsereignisse laufend zählen und jede Minute eine Summe ausgeben
  4. Fortgeschritten: Den Sensor mit einem Relais verbinden, sodass ein Stoß automatisch die Stromversorgung eines anderen Geräts unterbricht
  5. Experte: Die Messwerte mehrerer SW-420-Module kombinieren, die um ein Objekt herum platziert sind, um zu ermitteln, wo die Vibration am stärksten ist

Fehlerbehebung

Wenn Ihr ESP32 S3 und der SW-420-Vibrationssensor nicht wie erwartet funktionieren, gehen Sie diese Prüfungen durch.

Häufige Probleme und Lösungen:

  • Potentiometer einstellen: Zu empfindlich, und er löst bei jedem Schritt aus; zu unempfindlich, und er verpasst echtes Antippen – drehen Sie den integrierten Trimmer schrittweise und testen Sie nach jeder Drehung erneut
  • Von Umgebungsvibrationen isolieren: Montieren Sie das Modul fern von Motoren, Lüftern oder einem wackeligen Tisch, damit Hintergrundvibrationen nicht als echtes Ereignis erscheinen
  • Verdrahtung prüfen: Bestätigen Sie erneut, dass VCC, GND und DO mit dem Verdrahtungsplan übereinstimmen – ein lockerer DO-Draht sieht im seriellen Monitor genauso aus wie „keine Vibration“
  • Stromversorgung überprüfen: Eine instabile oder verrauschte 3,3-V/5-V-Quelle kann dazu führen, dass der Komparatorausgang von selbst flattert
  • Trigger-LED beobachten: Die integrierte LED sollte bei jedem Klopfen aufblinken – wenn nicht, liegt der Fehler beim Sensor und nicht in Ihrem Code

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!