Vibrationssensor SW-420 Arduino anschließen & verwenden

Der Arduino-Vibrationssensor (ky-002) wird verwendet, um das Vorhandensein von externen Vibrationen auf dem Modul zu erkennen und wird bei der Erstellung von Hausalarmen verwendet. Sehen wir uns einige Beispiele für die Verwendung des Sensors an, stellen wir einige Schaltpläne für den Anschluss des Vibrationssensors an das Arduino-Board vor und demonstrieren wir einen einfachen Sketch mit der while-Schleife.




Bestandteile:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • Vibrationssensor SW-420 / KY-002
  • LEDs und Widerstände
  • Taster
  • Breadboard
  • Dupont-Kabel

Im Inneren des Sensors befindet sich eine Metallkugel auf einer Feder, die auf Erschütterungen reagiert. Die Sensoren funktionieren wie ein Knopf – während die Kontakte auf dem Knopf geschlossen werden, wenn der Knopf gedrückt wird, werden die Kontakte im betreffenden Sensor geschlossen, wenn Vibrationen auftreten. Schauen wir uns nun an, wie man den Vibrationssensor an das Arduino-Board anschließt.

Vibrationssensor SW-420 Arduino pinout, datasheet

Vibrationssensor SW-420 Arduino datasheet, pinout

Merkmale des Vibrationssensor SW-420 (datasheet)

  • Versorgungsspannung: 3.3 – 5 V
  • Stromverbrauch: 5 mA
  • Empfindlichkeit: einstellbar
  • Schnittstelle: digital

Der Sensors SW-420 / KY-002 hat drei Ausgänge – GND und VCC für die Stromversorgung und einen analogen Signalausgang A0, der mit einem beliebigen Analogeingang verbunden werden kann. Das Modul 140C001 801S verfügt über einen optionalen digitalen Anschluss. Bei Erreichen einer bestimmten Schwingungsstärke wird eine logische Null an den Anschluss angelegt – so kann es eigenständig, ohne Mikrocontroller, verwendet werden.

Wie man einen Vibrationssensor an einen Arduino anschließt

Wie man einen Vibrationssensor an einen Arduino anschließt

Um ein KY-004-Modul oder SW-420-Modul als Vibrationssensor zu verwenden, sind unterschiedliche Schaltpläne zu verwenden. Das SW-420-Modul oder der Vibrationssensor 140c001 801s sollte direkt an den Arduino gemäß dem obigen Diagramm angeschlossen werden. Der HDX-Sensor als Einzelelement sollte über einen Widerstand an den digitalen oder analogen Eingang des Mikrocontrollers Arduino angeschlossen werden.

Programm für Vibrationssensor SW-420 Arduino




#define VIB A1
#define LED 12

int val;
 
void setup() {
   pinMode(LED, OUTPUT);
   pinMode(VIB, INPUT);
   Serial.begin(9600);
}
 
void loop() {
   val = analogRead(VIB);
   Serial.print("Vibrations - ");
   Serial.println(val);

   if (sens > 500) { digitalWrite(LED, HIGH); }
   if (sens < 500) { digitalWrite(LED, LOW); }
}
  1. Die Werte der Variablen val können absolut unterschiedlich sein – es kommt auf die Einstellung der Empfindlichkeit des Vibrationsdetektors an;
  2. Die bedingte Anweisung if else ermöglicht es Ihnen, eine Aktion unter einer wahren Bedingung zu definieren.

Anschließen eines SW-420 mit Taster an den Arduino

Anschließen eines SW-420 mit Taster an den Arduino

Im vorherigen Programm leuchtet die LED nur bei Vibrationen auf, was für die Erzeugung eines Alarms nicht geeignet ist. Im folgenden Beispiel wird die LED nicht ausgeschaltet, wenn die Vibration endet (sonst würden wir nicht bemerken, dass der Sensor ausgelöst wurde), sondern kehrt in den Standby-Modus zurück, wenn die Taste gedrückt wird. Zu diesem Zweck wird die while-Schleife so lange ausgeführt, bis die Bedingung falsch wird.

Programm für Vibrationssensors Arduino mit Taster

#define LED 12
#define VIB A1
#define BUT 2

int val = 0;
byte w = 0;
 
void setup() {
   pinMode(LED, OUTPUT);
   pinMode(VIB, INPUT);
   pinMode(BUT, INPUT);
   Serial.begin(9600);
}
 
void loop() {
   val = analogRead(VIB);
   Serial.print("Vibration - ");
   Serial.println(val);

   if (sens > 500) { digitalWrite(LED, HIGH); w = 1; }
   if (sens < 500) { digitalWrite(LED, LOW); }

   while (w == 1) {
     Serial.println("DANGER");
     if (digitalRead(2) == HIGH) { digitalWrite(LED, LOW); w = 0; }
  }
}
  1. Wenn der Sensor ausgelöst wird, ändern wir den Wert der Variablen w = 1; dies ist notwendig, damit die while-Schleife im Programm gestartet wird;
  2. In der while()-Schleife wird die Bedingung falsch, wenn die Taste gedrückt wird – wir ändern den Wert der Variablen auf „0“ und verlassen die Schleife.

Schlussfolgerung. Der Vibrationssensor kann als Modul hergestellt werden, z.B. SW-420 oder KY-002. Die Grundlage des SW-420-Sensors ist eine Metallfeder in einem Kunststoffrohr, die bei Erschütterungen in Schwingung gerät. Das Modul verfügt über einen Signalverstärker, einen Trimmwiderstand zur Einstellung der Empfindlichkeit des Sensors und drei Pins zum Anschluss an den Mikrocontroller Arduino Uno / Nano.

5/5 - (1 vote)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert