Projects Hub, lesson 12 of 81

Building a Vibration Sensor with LCD Feedback

intermediate2 min read

Introduction

Vibration sensors are valuable components in the world of electronics and engineering. They are used in various applications, from monitoring machinery for faults to ensuring the stability of structures. In this article, we will explore how to create a vibration sensor system with LCD feedback using Arduino. This project allows you to detect vibrations and display the intensity on an LCD screen, making it a useful tool for a range of applications, including home security, industrial monitoring, and structural health monitoring.

Working Principle

The working principle of this project relies on a vibration sensor, also known as a piezoelectric sensor. Piezoelectric sensors generate a voltage when they experience mechanical stress, such as vibrations. The greater the vibration, the higher the voltage output. We will connect the vibration sensor to an Arduino, which will read the sensor's voltage and display the intensity on an LCD screen.

Things You Need

Before you get started, gather the following components:

  1. Arduino Uno or compatible board
  2. A vibration sensor (piezoelectric sensor)
  3. 16x2 LCD display
  4. Potentiometer (for adjusting LCD contrast)
  5. Breadboard and jumper wires
  6. 10kΩ resistor (for pull-down on the sensor signal pin)

Circuit Diagram

Connect the components as shown in the circuit diagram below:

Place a circuit diagram pics here...

Working of the System with Arduino

  1. Connect the VCC and GND pins of the vibration sensor to the 5V and GND pins of the Arduino, respectively.
  2. Connect the signal pin of the vibration sensor to an analog input pin (e.g., A0) on the Arduino. Place a 10kΩ resistor between this pin and the ground (GND) to serve as a pull-down resistor.
  3. Connect the 16x2 LCD display to the Arduino as follows:
    • Connect VCC and GND to 5V and GND on the Arduino.
    • Connect SDA and SCL to A4 and A5 on the Arduino, respectively.
  4. Adjust the contrast of the LCD display using the potentiometer.

Now, let's look at the code that makes this system work.

Loading the circuit…Arduino Uno
Press Run to upload the code to the Arduino.

Arduino Code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address to 0x27 for a 16x2 display
 
int sensorPin = A0; // Analog input pin for the vibration sensor
 
void setup() {
  lcd.init();                      // Initialize the LCD
  lcd.backlight();                 // Turn on the backlight
  lcd.setCursor(0, 0);
  lcd.print("Vibration Sensor:");
  pinMode(sensorPin, INPUT);       // Set the sensor pin as an input
  Serial.begin(9600);
}
 
void loop() {
  int sensorValue = analogRead(sensorPin);
  lcd.setCursor(0, 1);
  lcd.print("Intensity: " + String(sensorValue));
  delay(1000); // Update the LCD every second
}

Conclusion

By building this vibration sensor system with LCD feedback using Arduino, you've created a valuable tool for monitoring and displaying vibration intensity. You can now use this project for various applications, such as detecting unusual vibrations in machinery, monitoring the stability of structures, or even creating a simple home security system. This project showcases the versatility of Arduino and the practicality of vibration sensors in the world of electronics and engineering. Experiment with different sensitivity settings and use cases to tailor it to your specific needs. Happy tinkering!