Arduino - SW-420 Vibrationssensor

Stöße, Schläge und Erschütterungen spüren wir leicht, doch ein einfacher Arduino bemerkt sie von sich aus kaum. Das SW-420 Vibrationssensormodul schließt diese Lücke: Es überwacht mechanische Störungen und meldet sie als einfaches digitales Signal. Das ist praktisch für Alarmanlagen, Aufprall-Logger oder jedes Projekt, das reagieren muss, wenn etwas angestoßen oder geschüttelt wird.

In diesem Tutorial lernen wir:

Arduino SW-420 Vibrationssensor

Sobald der grundlegende Sketch läuft, können Sie ihn erweitern, um einen Summer ertönen zu lassen, eine LED blinken zu lassen oder eine Warnung zu senden, sobald eine Vibration erkannt wird.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×SW-420 Vibration Sensor Module
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino 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.

Über den SW-420 Vibrationssensor

Das SW-420 Vibrationssensormodul reagiert auf Schütteln, Stöße oder Erschütterungen in seiner Umgebung. Im Modul befindet sich ein kleiner federbasierter Schalter nahe an einem Metallkontakt. Wenn eine Vibration die Feder auslenkt, wandelt ein LM393-Komparator auf der Platine diese mechanische Störung in ein sauberes digitales Signal um. So muss der Arduino nur einen HIGH- oder LOW-Pegel lesen, statt sich mit verrauschten analogen Messwerten zu befassen.

Pinbelegung des SW-420 Vibrationssensors

Das SW-420-Modul hat drei Pins:

  • VCC-Pin: muss mit VCC (3,3V bis 5V) verbunden werden
  • GND-Pin: muss mit GND (0V) verbunden werden
  • DO-Pin: ist ein Ausgangspin: LOW, solange alles ruhig ist, HIGH, sobald eine Vibration oder Erschütterung erkannt wird. Dieser Pin muss mit einem Eingangspin des Arduino verbunden werden.
Pinbelegung des SW-420 Vibrationssensors
image source: diyables.io

Auf der Platine befinden sich zwei LEDs:

  • Eine LED-Anzeige für die Stromversorgung
  • Eine LED-Anzeige, die aufleuchtet, sobald der DO-Pin auf HIGH geht (Vibration erkannt)

Mit einem kleinen Potentiometer auf der Platine können Sie die Empfindlichkeit erhöhen oder verringern, sodass je nach Einstellung schon leichtes Antippen oder nur stärkere Stöße den Ausgang auslösen.

Wie es funktioniert

  • Solange das Modul ruhig liegt, bleibt der Federschalter offen, der Komparator hält seinen Ausgang auf LOW und die Auslöse-LED bleibt aus.
  • Sobald eine Vibration oder Erschütterung die Feder auslenkt, schließt sich der Schalter kurzzeitig, der Komparator setzt den Ausgang auf HIGH und die Auslöse-LED leuchtet auf.

Verdrahtungsdiagramm

Arduino SW-420 Vibrationssensor Verdrahtungsdiagramm

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

Wie man den SW-420 Vibrationssensor programmiert

  • Setzt den Arduino-Pin mit der Funktion pinMode() in den digitalen Eingangsmodus. Zum Beispiel Pin 5
pinMode(5, INPUT);
  • Liest den aktuellen Logikpegel dieses Pins mit der Funktion digitalRead().
int vibrationState = digitalRead(5);

Arduino-Code - Vibration erkennen

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino 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/arduino-sw-420-vibration-sensor */ // Arduino's pin connected to DO pin of the SW-420 vibration sensor #define SENSOR_PIN 5 int previousState = LOW; // the previous reading from the input pin (LOW = idle) int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the input pin: currentState = digitalRead(SENSOR_PIN); if (previousState == LOW && currentState == HIGH) Serial.println("Vibration detected!"); else if (previousState == HIGH && currentState == LOW) Serial.println("Vibration stopped."); // save the current state for the next loop previousState = currentState; }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den Arduino hochzuladen
  • Tippen Sie das SW-420-Modul leicht an oder schütteln Sie es sanft
  • Sehen Sie sich das Ergebnis im Serial Monitor an.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Vibration detected! Vibration stopped. Vibration detected! Vibration stopped.
Ln 11, Col 1
Arduino Uno on COM15
2

Von hier aus können Sie einen Summer auslösen, eine LED einschalten oder eine Benachrichtigung senden, sobald eine Vibration auftritt. Weitere Informationen und Schritt-für-Schritt-Anleitungen finden Sie in den Tutorials am Ende dieses Tutorials.

Fehlerbehebung

Wenn der SW-420 Vibrationssensor nicht richtig funktioniert, versuchen Sie die folgenden Schritte:

  • Empfindlichkeit einstellen: Drehen Sie das Potentiometer auf der Platine, um das Modul empfindlicher oder unempfindlicher zu machen; wenn es nie auslöst, drehen Sie es in die andere Richtung.
  • Modul entkoppeln: Maschinen, Lüfter oder Schritte in der Nähe können die Oberfläche, auf der das Modul montiert ist, erschüttern und Fehlauslösungen verursachen. Montieren Sie es daher fern von fremden Vibrationsquellen.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO richtig angeschlossen sind.
  • Stromversorgung prüfen: Sorgen Sie für eine stabile Stromversorgung, um gleichbleibende Messwerte zu erhalten.

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!