Vibration Sensor Module - SW-420

sw-4201
The Vibration Sensor Module Vibration Switch SW-420 is based on the vibration sensor SW-420 and Comparator LM393 to detect if there is any vibration beyond the threshold. The threshold can be adjusted by the on-board potentiometer. When there is no vibration, this module gives output logic LOW the signal indicate LED light, and vice versa.

Features of The Vibration Sensor Module Vibration Switch SW-420:

  • Normally closed type vibration sensor SW-420
  • The comparator output, signal clean, good waveform, driving ability is strong, for more than 15 ma
  • The working voltage of 3.3V to 5V
  • Output form: digital switch output (0 and 1)
  • Has a fixed bolt hole, convenient installation
  • Small board PCB size: 3.2cm x 1.4cm
  • Use the LM393 wide voltage comparator

Package Includes:

1 x The Vibration Sensor Module Vibration Switch SW-420

sw-420-vibration-sensor-300x136
Arduino Hookup with SW-420
vibration sensor sw 420 arduino interface

Connect Vcc pin of sensor board to 5V pin of Arduino board, connect Gnd pin to Gnd pin of Arduino, Connect DO output signal pin of sensor board to Arduino digital pin D3. Do some calibration and adjust the sensitivity threshold, then upload the following sketch to Arduino board.

Arduino Code for Logic State Output from sensor module, here onboard LED of Arduino indicates the presence of vibration.


int vibr_pin=3;
int LED_Pin=13;
void setup() {
  pinMode(vibr_pin,INPUT);
  pinMode(LED_Pin,OUTPUT);
}

void loop() {
  int val;
  val=digitalRead(vibr_pin);
  if(val==1)
  {
    digitalWrite(LED_Pin,HIGH);
    delay(1000);
    digitalWrite(LED_Pin,LOW);
    delay(1000);
   }
   else
   digitalWrite(LED_Pin,LOW);
}

Arduino Code for Value Reading and serial printing Vibration value, this code turns ON the onboard LED when measurement goes greater than 1000, you can adjust this threshold to your need.

int LED_Pin = 13;
int vibr_Pin =3;

void setup(){
  pinMode(LED_Pin, OUTPUT);
  pinMode(vibr_Pin, INPUT); //set vibr_Pin input for measurment
  Serial.begin(9600); //init serial 9600
 // Serial.println("----------------------Vibration demo------------------------");
}
void loop(){
  long measurement =TP_init();
  delay(50);
 // Serial.print("measurment = ");
  Serial.println(measurement);
  if (measurement > 1000){
    digitalWrite(LED_Pin, HIGH);
  }
  else{
    digitalWrite(LED_Pin, LOW); 
  }
}

long TP_init(){
  delay(10);
  long measurement=pulseIn (vibr_Pin, HIGH);  //wait for the pin to get HIGH and returns measurement
  return measurement;
}

Screenshot

vibration-sensor-sw-420-reading