How to Build a Simple Motion Sensor Alarm with Arduino and PIR Sensor
Making a simple motion sensor alarm using an Arduino and a PIR sensor is an easy DIY electronics project that can be completed in an afternoon. With just a few components, I can build a device that will detect movement in a room and sound an audible alarm. Here is a step-by-step guide on how I built my own motion sensor alarm.
What You Will Need
To build the motion sensor alarm, you will need the following components:
-
Arduino board - I used an Arduino Uno, but any Arduino board will work. The Arduino is the brain of the alarm.
-
PIR sensor - The PIR (passive infrared) sensor detects motion by measuring infrared radiation. It will detect when someone moves within its range.
-
Buzzer - The buzzer will sound the alarm when motion is detected. Any small 5V buzzer will work.
-
Jumper wires - To connect the components to the Arduino.
-
Breadboard - For easily connecting the components.
-
9V battery - To power the Arduino and components. The 9V battery connects to the Vin pin of the Arduino.
How a PIR Motion Sensor Works
Before assembling the alarm, it helps to understand how a PIR sensor detects motion.
The PIR sensor has a pyroelectric sensor that can detect levels of infrared radiation. Everything emits some low level radiation, and the hotter something is, the more radiation is emitted. The PIR sensor has a special filter that is sensitive to infrared radiation at 8-14 μm wavelength, which is the range that humans emit.
When a human (or animal) moves within the PIR sensor's range, the amount of infrared radiation in the field of view changes quickly. The PIR sensor detects this change in infrared levels and sends a high signal to the Arduino when motion is detected.
Assembling the Motion Sensor Alarm Circuit
With an understanding of how the PIR motion sensor works, I can now assemble the alarm circuit:
1. Connect the PIR sensor to the Arduino
The PIR sensor has 3 pins - power, ground, and signal. I connected the power pin to 5V and ground to GND. The signal pin connects to a digital pin on the Arduino. I used pin 2.
2. Connect the buzzer
The buzzer also has 2 pins - positive and negative. The positive pin connects to digital pin 3 on the Arduino, and negative connects to ground.
3. Add power
With the Arduino connected by USB, I powered the circuit with a 9V battery plugged into the Vin pin. Make sure the power switch is in the "on" position!
And that's it - the motion sensor alarm hardware is assembled!
Loading the Arduino Sketch
Now I need to load a program onto the Arduino so it knows what to do when motion is detected. This program code is called a sketch.
The sketch needs to:
- Initialize the PIR pin as an input
- Initialize the buzzer pin as an output
- Continuously check the PIR sensor pin for motion
- Turn the buzzer on when motion is detected
Here is the Arduino sketch I used:
```cpp
const int pirPin = 2; // Input for PIR sensor
const int buzzer = 3; // Output for buzzer
void setup() {
pinMode(pirPin, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
if(digitalRead(pirPin) == HIGH) {
// Motion detected
digitalWrite(buzzer, HIGH);
}
else {
// No motion
digitalWrite(buzzer, LOW);
}
}
```
I loaded this sketch onto the Arduino board using the Arduino IDE.
Testing and Using the Motion Sensor Alarm
After loading the sketch, it's time to test the alarm!
When I walk in front of the PIR sensor, the buzzer starts buzzing loudly to alert me of the detected motion. The alarm works!
The sensitivity can be adjusted by changing the delay in the sketch. A longer delay means the alarm will only sound if motion is detected for a longer period of time.
The alarm will run continuously on battery power, so it's easy to set up anywhere that needs motion detection. And there you have it! A simple DIY motion sensor alarm using Arduino.