ESP8266 - SW-420 Vibrationssensor

Das SW-420-Vibrationssensormodul reagiert auf Schütteln, Klopfen oder Erschütterungen des Gegenstands, an dem es befestigt ist. Es eignet sich für Projekte wie eine einfache Einbruch- oder Manipulationsalarmanlage, ein Paket, das eine grobe Behandlung meldet, oder eine Maschine, die eine Warnung braucht, wenn sie ungewöhnlich stark zu vibrieren beginnt.

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

ESP8266 NodeMCU NodeMCU SW-420 Vibrationssensor

Davon ausgehend lässt sich der Code leicht erweitern, um einen Summer ertönen zu lassen, eine LED blinken zu lassen oder eine Benachrichtigung zu senden, sobald eine Vibration erkannt wird.

Erforderliche Hardware

1×ESP8266 NodeMCU ESP-12F
1×Alternativ: ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternativ: ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternativ: ESP8266 NodeMCU ESP-12F (SMD-form)
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×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266

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 ist dafür gebaut, Schütteln, Klopfen oder Erschütterungen des Gegenstands zu erfassen, an dem es befestigt ist. In seinem Metallgehäuse sitzt ein kleiner federbasierter Schalter nahe an einem Metallkontakt; ein LM393-Komparator auf der Platine überwacht diesen Schalter und wandelt jede Störung in ein sauberes digitales Signal um, während Sie mit einem kleinen Potentiometer auf der Platine einstellen können, wie stark die Erschütterung sein muss, bevor er auslöst.

Pinbelegung des SW-420-Vibrationssensors

Der SW-420-Vibrationssensor 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, und HIGH, sobald eine Vibration oder Erschütterung erkannt wird. Dieser Pin muss mit einem Eingangspin des ESP8266 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 Stromversorgungsstatus an.
  • Eine weitere LED leuchtet auf, wenn der DO-Pin auf HIGH geht, also wenn eine Vibration erkannt wird.

Wie es funktioniert

So verhält sich der Sensor:

  • Solange das Modul ruhig liegt, bleibt der interne Federschalter offen und der DO-Pin bleibt LOW.
  • Sobald das Modul geschüttelt, angestoßen oder gerüttelt wird, berührt der Federschalter den Kontakt und der LM393-Komparator setzt den DO-Pin auf HIGH.
  • Durch Drehen des Potentiometers auf der Platine im oder gegen den Uhrzeigersinn erhöhen oder verringern Sie, wie stark eine Erschütterung sein muss, bevor der Ausgang schaltet.

Verdrahtungsdiagramm

  • Der Schaltplan zwischen ESP8266 und SW-420-Vibrationssensor
Schaltplan ESP8266 NodeMCU SW-420-Vibrationssensor

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

Wie man den SW-420-Vibrationssensor programmiert

  • Initialisiert den ESP8266-Pin mit der Funktion pinMode() als digitalen Eingang. Zum Beispiel Pin D7
pinMode(D7, INPUT);
  • Liest den Zustand des ESP8266-Pins mit der Funktion digitalRead().
int vibrationState = digitalRead(D7);

ESP8266-Code - Vibrationen erkennen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-sw-420-vibration-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to the DO pin of the SW-420 vibration sensor int last_state = LOW; // The last reading from the input pin, LOW means idle (no vibration) int cur_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP8266's input pin cur_state = digitalRead(SENSOR_PIN); if (last_state == LOW && cur_state == HIGH) Serial.println("vibration detected"); else if (last_state == HIGH && cur_state == LOW) Serial.println("vibration stopped"); // save the current state for the next comparison last_state = cur_state; }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino IDE zu starten, folgen Sie diesen Schritten:

  • Sehen Sie sich das Tutorial Einrichtung der Umgebung für den ESP8266 in der Arduino IDE an, wenn Sie den ESP8266 zum ersten Mal verwenden.
  • Verdrahten Sie die Bauteile wie im Schaltplan gezeigt.
  • Verbinden Sie das ESP8266-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board (z. B. NodeMCU 1.0 (ESP-12E Module)) und den zugehörigen COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP8266 hochzuladen
  • Klopfen Sie auf den SW-420-Sensor oder schütteln Sie ihn
  • Sehen Sie sich das Ergebnis im Serial Monitor an.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
vibration detected vibration stopped vibration detected vibration stopped
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

Von hier aus lässt sich der Sketch erweitern, sodass der ESP8266 einen Summer ertönen lässt, eine LED einschaltet oder eine Benachrichtigung sendet, sobald eine Vibration erkannt wird. Ausführliche Anleitungen und weitere Informationen finden Sie in den Tutorials am Ende dieser Anleitung.

Fehlerbehebung

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

  • Empfindlichkeit einstellen: Drehen Sie das Potentiometer auf der Platine, um den Sensor empfindlicher oder unempfindlicher zu machen, falls er zu leicht oder gar nicht auslöst.
  • Von Umgebungsvibrationen isolieren: Montieren Sie das Modul entfernt von Motoren, Lüftern oder anderen Quellen ständiger Hintergrundvibration, 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: Sorgen Sie für eine saubere und 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!