Arduino UNO R4 - SW-420 Vibrationssensor

In dieser Anleitung lernen wir, wie man einen SW-420-Vibrationssensor mit dem Arduino UNO R4 verwendet. Im Einzelnen lernen wir:

Arduino UNO R4 SW-420 Vibrationssensor

Sobald dieser 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, wann immer Ihr Projekt angestoßen oder geschüttelt wird.

Über den SW-420-Vibrationssensor

Das SW-420-Vibrationssensormodul (auch als Erschütterungssensor oder Vibrationsschaltermodul bekannt) basiert auf einem kleinen federbasierten Schalter, der in seinem Metallgehäuse dicht neben einem Metallkontakt sitzt. Ein integrierter LM393-Komparator überwacht diesen Schalter ständig und wandelt jede Störung in ein sauberes digitales Signal um, während ein kleines Potentiometer auf der Platine einstellt, wie viel Schütteln oder Erschütterung nötig ist, bevor der Ausgang seinen Zustand ändert.

Pinbelegung des SW-420-Vibrationssensors

Das SW-420-Vibrationssensormodul hat drei Pins:

  • VCC-Pin: Mit VCC (3,3V bis 5V) verbinden.
  • GND-Pin: Mit GND (0V) verbinden.
  • DO-Pin: Dies ist ein Ausgangspin. Er bleibt LOW, solange das Modul ruhig ist, und wechselt auf HIGH, sobald eine Vibration oder Erschütterung erkannt wird. Verbinden Sie diesen Pin mit dem Eingangspin des Arduino UNO R4.
Pinbelegung des SW-420-Vibrationssensors
image source: diyables.io

Das SW-420-Vibrationssensormodul hat außerdem zwei LED-Anzeigen.

  • Eine LED-Anzeige für die Stromversorgung
  • Eine LED-Anzeige, die aufleuchtet, sobald eine Vibration erkannt wird

Wie es funktioniert

  • Solange nichts das Modul erschüttert, bleibt der Federschalter in seiner Ruheposition und der LM393-Komparator hält den Ausgangspin auf LOW.
  • Sobald eine Vibration oder Erschütterung den Federschalter stört, schaltet der Komparator den Ausgangspin auf HIGH. Durch Drehen des integrierten Potentiometers erhöhen oder verringern Sie, wie stark diese Störung sein muss, bevor dies geschieht.

Verdrahtungsdiagramm

Schaltplan Arduino UNO R4 SW-420-Vibrationssensor

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

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Wie man den SW-420-Vibrationssensor programmiert

  • Konfiguriert den Pin des Arduino UNO R4 mit der Funktion pinMode() als digitalen Eingang. Zum Beispiel Pin 8
pinMode(8, INPUT);
  • Verwendet die Funktion digitalRead(), um den Zustand eines Pins am Arduino UNO R4 abzufragen.
int vibration_state = digitalRead(8);

Arduino UNO R4 Code - Vibrationen erkennen

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-sw-420-vibration-sensor */ #define SENSOR_PIN 8 // The Arduino UNO R4 pin connected to DO pin of the SW-420 vibration sensor int prev_vibration_state = LOW; // the previous state from the input pin (LOW means no vibration) int vibration_state; // 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 the 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 the last state prev_vibration_state = vibration_state; }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn Sie den Arduino Uno R4 WiFi/Minima zum ersten Mal verwenden, lesen Sie das Tutorial zum Einrichten der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie den SW-420-Vibrationssensor gemäß dem bereitgestellten Schaltplan mit dem Arduino Uno R4.
  • Verbinden Sie das Arduino Uno R4 Board über ein USB-Kabel mit Ihrem Computer.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4 Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code an den Arduino UNO R4 zu senden.
  • Klopfen Sie auf den Tisch oder schütteln Sie den SW-420-Sensor leicht, um ihn auszulösen.
  • Überprüfen Sie die Ergebnisse im seriellen Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Vibration detected! Vibration stopped Vibration detected! Vibration stopped
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Fehlerbehebung

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

  • Empfindlichkeit einstellen: Drehen Sie das integrierte Potentiometer, um zu erhöhen oder zu verringern, wie viel Schütteln oder Erschütterung zum Auslösen des Ausgangs nötig ist.
  • Von Umgebungsvibrationen isolieren: Montieren Sie den Sensor entfernt von Motoren, Lüftern oder anderen ständigen Vibrationsquellen, die Fehlauslösungen verursachen könnten.
  • Verdrahtung prüfen: Stellen Sie sicher, dass die Pins VCC, GND und DO richtig angeschlossen sind.
  • Stromversorgung prüfen: Stellen Sie sicher, dass die Stromversorgung stabil ist, um zuverlässige 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!