Piezo Vibration Monitoring Sensor with Arduino

Last Updated on March 16, 2024

vibration-monitoring-sensors

Detecting and measuring vibration can be used for several applications, Decision making circuits or alarm circuits. The best method to detect vibration is Piezo electric method. The vibration sensor or Piezo electric vibration detector is affordable sensing device that can be easily reachable by electronic designers, Engineers and hobbyist. If you are looking for Vibration Monitoring system or vibration alarm this article gives considerable idea about the design and implementation.




 Piezoelectric pressure transducer working principle  

piezoelectric-pressure-transducer-working-principle

Pizo sensor or Vibration sensor is made by the piezo element, this is uses the piezo electric effect. The Piezo Electric sensor element is a transducer which converts Pressure, Force, Strain some times Temperature into Electrical Charge.

You may heard about Buzzer (Piezo alarm device) that is also uses the piezo element, when we apply electric charge this element gets vibration at different frequency range (depends on the size of piezo material) so that it gives buzzer beep sound. For the both transducer and buzzer, piezo element is placed between two metal plates. the illustration represents working principle of piezo element when the pressure applied electric charge induced in piezo elements and that is measured through the voltmeter.

Piezo Vibration Monitoring Sensor

piezo-vibration-monitoring-sensor-pinout

MiniSense 100 Vibration Sensor from Measurement Specialties is a low-cost cantilever-type vibration sensor loaded by a mass to offer high sensitivity at low frequencies. The pins are designed for easy installation and are solderable.
Horizontal and vertical mounting options are offered as well as a reduced height version. The active sensor area is shielded for improved RFI/EMI rejection. Rugged, flexible PVDF sensing element withstands high shock overload. Sensor has excellent linearity and dynamic range, and may be used for detecting either continuous vibration or impacts.

FEATURES
• High Voltage Sensitivity (1 V/g)
• Over 5 V/g at Resonance
• Horizontal or Vertical Mounting
• Shielded Construction
• Solderable Pins, PCB Mounting
• Low Cost
• < 1% Linearity
• Up to 40 Hz (2,400 rpm) Operation Below Resonance   (Source Datasheet minisense_100).

vibration-monitoring

This sensor has only two terminals as +Ve and -Ve, hence it is easy to interface with most micro-controllers, embedded systems and Arduino development board.

Piezo Vibration Sensor Arduino Hookup

pizo-sensor-with-arduino

By simply connecting Ground terminal to GND and +ve (signal out) terminal of vibration sensor to Arduino Analog input pin A0, we can create high sensitivity vibration monitoring equipment. By interfacing RF wireless Transceiver modules we can make wireless vibration monitoring device.

In this article simple sensor interface only done, after the hookup is over upload the following Arduino code of piezo vibration sensor.

Arduino Code for Piezo vibration monitor 

int piezo_Pin= 0;
int LED_Pin= 13;

//Set the threshold levels
int threshold= 500;

//Wakeup the Serial Monitor 
void setup()
{
Serial.begin(9600);
pinMode(LED_Pin, OUTPUT);
}

//if the reading is higher than the threshold value, then the LED is turned ON for a Second You can edit to your sepecification
void loop()
{
int reading= analogRead(piezo_Pin);
Serial.println(reading);
if (reading > threshold)
{
digitalWrite(LED_Pin, HIGH);
delay(1000);
digitalWrite(LED_Pin, LOW);
}
}

This code sense the vibrations or impacts and gives visible alert through LED connected at pin D13 of arduino, you can connect buzzer device instead of LED for sound alert. Vary the threshold level depends on you need here i have taken threshold level as 500 for an example.

Arduino Code for Piezo vibration Sensor (Read ADC)

const int PIEZO_PIN = A0; // Piezo output

void setup() 
{
  Serial.begin(9600);
}

void loop() 
{
  // Read Piezo ADC value in, and convert it to a voltage
  int piezoADC = analogRead(PIEZO_PIN);
  float piezoV = piezoADC / 1023.0 * 5.0;
  Serial.println(piezoV); // Print the voltage.
}

This code helps you to serial print the piezo sensor output voltage level.

NOTE: If you need graph for serial data output from the vibration sensor use higher version Arduino IDE (opensource software).




4 thoughts on “Piezo Vibration Monitoring Sensor with Arduino

  1. hallo,
    I’m looking for vibration detecting system to be connected to electric machine.
    (lathe or drilling or similar in a work shop)
    I need recording the series of repeating vibrating sequence to collect productivity data.
    I plan to install on each machine a board with sensor.
    create a database values on a main server.
    each sensor/board can collect the data, at given intervals connect to the server via WiFi
    the database will show on dashboard productive values for each equipment minotred.

    do you have components suitable for this task?
    tks
    Daniele P


    1. if (reading > threshold)
      {
      digitalWrite(LED_Pin, HIGH);
      }
      else
      {
      digitalWrite(LED_Pin, LOW);
      }

Leave a Reply

Your email address will not be published. Required fields are marked *