Skip to main content

47. Security system using Vibration sensor module

Hello everyone!
Today I will teach you to make a security system using the vibration sensor module. The vibration sensor module comes with a SW-420 vibration sensor, and in this project, it senses the vibration across the solderless breadboard. Once a vibration is detected, a HIGH signal is sent to the Arduino Nano microcontroller. According to my sketch, the microcontroller switches on the LED and triggers the RF 433MHz transmitter module. The RF transmitter module sends a decimal code to the RF receiver module. According to my sketch, my Arduino Uno turns on the LED and makes the LCD display module show that a shock is detected.


Hardware components used in this project

Transmitter circuit

  • Arduino Nano
  • USB Type A to mini B cable (for Arduino Nano)
  • Vibration sensor module
  • RF 433MHz transmitter module
  • LED
  • Solderless Breadboard - Mini
  • Male-to-Male Jumper wires (x2) - 10cm
  • Jumpers (x9) - to reduce the usage of wires

Receiver circuit

  • Arduino Uno
  • USB Type A/ B cable (for Arduino Uno)
  • RF 433MHz receiver module
  • LED
  • 16 x 2 LCD display module with I2C interface
  • Solderless Breadboard - Mini
  • Male-to-Male Jumper wires (x4) - 10cm
  • Female-to-Male Jumper wires (x4) - 20cm

Setup



Your setup must look somewhat similar to those in the pictures above.

Connections

RF 433MHz transmitter module

  • GND - Ground
  • VCC - 5V
  • DATA - D10

RF 433MHz receiver module

  • GND - Ground
  • VCC - 5V
  • DATA (any one of the two data pins) - D2

16 x 2 LCD display module with I2C interface

  • GND - Ground
  • VCC - 5V
  • SDA - A4
  • SCL - A5

Vibration sensor module

  • D0 - D7
  • GND - Ground
  • VCC - 5V

LED

  • Cathode - Ground
  • Anode (Transmitter circuit) - D2
  • Anode (Receiver circuit) - D12

Coding

For this project, I have used the 'rc-switch' library by sui77. To download this library, please follow the hyperlink. Go to File---->Examples---->rc-switch and open the sketches for the transmitter circuit and receiver circuit. 
  • Transmitter circuit - SendDemo
  • Receiver circuit - ReceiverDemo_Simple
Upload these example sketches to the respective Arduino microcontrollers to test whether your modules are working or not.
Watch the YouTube video in the last section of this page to learn how this project works.

Transmitter circuit

Include the 'rc-switch' library in your sketch. Use RCSwitch( ) function to create your switch object, similar to the one in the examples sketch. Within void setup( ), use pinMode( ) function to configure the pins 2 and 7 as OUTPUT and INPUT, respectively. Use enableTransmit( ) function to attach your switch to D10.
Within void loop( ), you must program your microcontroller such that the vibration sensor module triggers the RF transmitter once vibration is detected. When the sensor module detects vibration, it sends a HIGH signal to the arduino nano microcontroller. When a HIGH signal is sent, the LED is switched on and the RF transmitter module is triggered. Use send( ) function to make the RF transmitter send a decimal code (24 bits). The syntax used here must be the name of your switch object. The status of the LED must be LOW when the state of the vibration sensor module is LOW. Set a delay period of one second before completing the void loop( ) function.

Receiver circuit

You will need the Arduino LiquidCrystal I2C library, 'rc-switch' library, and Wire library for this project. You can download the .ZIP version of this library from GitHub by following the hyperlink. The Wire library is a built-in library. To add this .ZIP folder to your Arduino IDE, go to sketch----> include library---->Add .ZIP library. Set the LCD address  to 0x27 for a 16 chars and 2 line display. 
Within void setup( ), use pinMode( ) function to configure pin 12 as OUTPUT. Use enableReceive( ) function to attach the receiver to interrupt 0 which is D2 and initialize the lcd. Use lcd.print( ) function to make your LCD display the message, 'Welcome!'.
Within void loop( ), use if( ) function and its parameter should be available( ) function with the syntax as the name of the switch object you created. Within the if( ) function, create a local variable named 'code'. The decimal code received by the RF receiver must be stored in the 'code' variable. To receive the decimal code, use getReceivedValue( ) function with syntax as the name of the switch object. If the value stored in the 'code' variable equals the decimal code sent by the RF transmitter, the LED must be switched on for 6 seconds.Use lcd.clear( ) function to clear the display before printing 'Shock status:' in the first row and 'Detected' or 'Not detected' in the second row. The LCD must display 'Detected' while the LED is on, and 'Not detected' while the LED is off. Set a delay of 1 second before resetting the RF receiver.

If anyone has any questions about the codes, please feel free to comment below or send me an email at arduinoprojectsbyr@gmail.com.

Final Look

If anyone has any questions, or suggestions, about this project, please feel free to comment below or send me an email at arduinoprojectsbyr@gmail.com.


Comments

Popular posts from this blog

85. Analog and Digital Clock on Adafruit TFT Display using Arduino

 Hey everyone, Sorry I have not posted in a while. Today, I will be presenting you my Analog and Digital Clock on Adafruit TFT Display using Arduino. You can find the schematic and code explanation within this post. Read on further to learn how I did this project. Hardware components used in this project Arduino Mega 2560 Adafruit 2.8" TFT Touch Shield for Arduino w/ Capacitive Touch - You could also use any other Arduino compatible TFT display DS1307 RTC Module Solderless Breadboard - Half+ (This is optional if you are connecting the RTC module to the development board directly) Jumper wires (x4) - Male/Male jumper wires if using solderless breadboard. Female/Male if connecting RTC module directly to Arduino Mega. Software apps Arduino IDE - latest version is recommended Setup Connections DS1307 RTC Module SCL - A5 SDA - A4 VCC - 5V GND - Ground Adafruit TFT Touch shield You can simply place the Adafruit TFT Touch shield onto your Arduino Mega 2560 development board. Make sure to...

77. Controlling Micro servo Robotic Arm with MPU-6050 sensor module

 Hey everyone! I am back with an interesting project. Today, you will be learning about controlling a Simple 2 axis Robotic Arm, made from Micro servo motors, with an MPU-6050 sensor module. Please feel free to visit my previous blog post to learn about the MPU-6050 sensor module. Hardware components used in this project Arduino Mega 2560 - You could use any other Arduino microcontroller, but make sure you use an external power supply. USB Type A/B cable (for Arduino Mega 2560) MPU-6050 sensor module SG-90 Tower Pro Micro Servo motor (x2) Male-to-Male Jumper wires (x6) Male-to-Female Jumper wires (x5) Setup Schematic MPU-6050 sensor module VCC - 3.3V GND - Ground SDA - D20 (Arduino Mega 2560), A4 (Arduino Uno and Nano) SCL - D21 (Arduino Mega 2560), A5 (Arduino Uno and Nano) INT - D2 Micro servo motor (Roll) S (Yellow/ Orange) - D9 + (Red) - 5V - (Black/ Brown) - GND  Micro servo motor (Pitch) S (Yellow/ Orange) - D10 + (Red) - 5V - (Black/ Brown) - GND Coding As I alread...

70. Arduino Stopwatch and Timer

Hello everyone! Today I am going to explain you about making an Arduino Stopwatch and Timer, which can be used for time based projects. Read on further to learn more about this project. Hardware components used in this project Arduino Uno USB Type A/ B cable Solderless Breadboard - Full+ LCD display module with I2C interface - 16x2 Potentiometer - 10K Push-buttons (x5) Active Buzzer module (KY-012) LED - Red Resistors (x6) - 10kΩ (x5) and 220Ω (x1) Male-to-Male Jumper wires - 10cm and 20cm Jumpers - to reduce the usage of wires Hardware setup Connections 10K Potentiometer S - A0 (+) - 5V (-) - Ground (GND) Active Buzzer module S - D7 (+) - 5V (-) - Ground (GND) 16x2 LCD display module with I2C interface GND - Ground VCC - 5V SDA - A4 SCL - A5 Push-buttons (+) - 5V (-) - Ground (GND) S - D2, D3, D4, D5, D6 Coding Now, I will explain you about how this real-time project works and you can figure out the coding by this idea.  Push-buttons and their functions D2 - Set Countdown timer D3...