Arduino Nano ESP32 - SW-420 Vibrationssensor

Das SW-420 Vibrationssensormodul kann plötzliche Stöße oder Erschütterungen in seiner Umgebung erfassen und ist damit ein praktischer Baustein für Klopfdetektoren, Aufprallalarme oder jedes Projekt, das einen Stoß bemerken muss.

In dieser Anleitung lernen wir, wie man den SW-420 Vibrationssensor mit dem Arduino Nano ESP32 verwendet. Im Detail lernen wir:

Arduino Nano ESP32 und SW-420 Vibrationssensormodul

Sobald der Basis-Sketch funktioniert, können Sie ihn so anpassen, dass er einen Summer ertönen lässt, eine LED blinken lässt oder eine Benachrichtigung sendet, sobald das Modul eine Erschütterung erfasst.

Erforderliche Hardware

1×Arduino Nano ESP32
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) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

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 Schütteln, Klopfen oder Stöße in seiner Umgebung. Im Modul befindet sich ein kleiner federbasierter Schalter neben einem Metallkontakt; ein LM393-Komparator auf der Platine überwacht diesen Schalter und erzeugt ein sauberes digitales Signal, sobald eine Vibration ihn stört. Mit einem Trimmpotentiometer auf der Platine können Sie einstellen, wie stark die Erschütterung sein muss, bevor ein Auslösen gemeldet wird.

Pinbelegung

Das SW-420 Vibrationssensormodul hat drei Pins:

  • VCC-Pin: mit VCC verbinden (3,3V bis 5V)
  • GND-Pin: mit GND verbinden (0V)
  • DO-Pin: digitaler Ausgangspin, LOW solange das Modul in Ruhe ist, und HIGH, sobald eine Vibration oder ein Stoß erfasst wird. Verbinden Sie diesen Pin mit einem Eingangspin des Arduino Nano ESP32.
SW-420 Vibrationssensor Pinbelegung
image source: diyables.io

Zwei LEDs auf der Platine helfen bei einer schnellen Sichtprüfung:

  • Eine Betriebs-LED leuchtet, solange das Modul mit Strom versorgt wird.
  • Eine Auslöse-LED leuchtet zusammen mit dem DO-Pin auf, wann immer eine Vibration erkannt wird.

Funktionsweise

Der Ausgangspin folgt dem Zustand des internen Schalters:

  • In Ruhe bleibt der Federschalter offen, sodass der Komparator den Ausgangspin auf LOW hält.
  • Wenn ein Stoß oder eine Vibration den Schalter stört, schließt er kurzzeitig, und der Komparator setzt den Ausgangspin auf HIGH.

Schaltplan

Schaltplan Arduino Nano ESP32 SW-420 Vibrationssensor

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

Wie man den SW-420 Vibrationssensor programmiert

  • Konfigurieren Sie den mit dem DO-Ausgang des Sensors verbundenen Pin mit pinMode() als digitalen Eingang. Zum Beispiel Pin D3
pinMode(D3, INPUT);
int vibrationState = digitalRead(D3);

Arduino Nano ESP32 Code - Vibration erkennen

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-sw-420-vibration-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the DO pin of the SW-420 vibration sensor int prev_vibration_state = LOW; // The previous reading from the input pin (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(9600); // 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

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn Sie den Arduino Nano ESP32 zum ersten Mal verwenden, lesen Sie wie man die Umgebung für den Arduino Nano ESP32 in der Arduino IDE einrichtet.
  • Verdrahten Sie die Komponenten gemäß dem obigen Schaltplan.
  • Kopieren Sie den obigen Code in die Arduino IDE.
  • Wählen Sie das richtige Board und den COM-Port aus und klicken Sie dann auf die Schaltfläche Upload.
  • Tippen Sie leicht auf das Sensormodul oder schütteln Sie es sanft.
  • Öffnen Sie den Seriellen Monitor, um die gemeldeten Ereignisse anzuzeigen.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
Vibration detected! Vibration stopped. Vibration detected! Vibration stopped.
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Von hier aus können Sie den Sketch erweitern, um eine LED leuchten zu lassen, einen Summer ertönen zu lassen oder eine Benachrichtigung zu senden, wann immer der SW-420 eine Erschütterung meldet. Schauen Sie sich die am Ende dieser Seite verlinkten Tutorials an, um Ideen für die nächsten Schritte zu bekommen.

Fehlerbehebung

Wenn sich der SW-420 Vibrationssensor nicht wie erwartet verhält, gehen Sie diese Prüfungen durch:

  • Empfindlichkeit einstellen: Drehen Sie am Potentiometer auf der Platine, um die zum Auslösen des Ausgangs nötige Erschütterungsstärke zu erhöhen oder zu verringern.
  • Umgebungsvibrationen fernhalten: Montieren Sie das Modul entfernt von Motoren, Lüftern oder anderen Quellen ständiger Hintergrundvibration, die Fehlauslösungen verursachen können.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO mit den richtigen Pins des Arduino Nano ESP32 verbunden sind.
  • Stromversorgung prüfen: Stellen Sie sicher, dass das Modul eine stabile Versorgung von 3,3V bis 5V erhält.

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!