This tutorial of Robo India explain the working concept of PIR motion sensor module using Arduino
1. Introduction
The tutorial PIR sensors allow you to sense motion, almost always used to detect whether a human has moved in or out of the sensors range. They are small, inexpensive, low-power, easy to use. They are commonly found in appliances and gadgets used in homes or businesses.
The PIR motion sensor is ideal to detect movement. PIR stand for “Passive Infrared”. Basically, the PIR motion sensor measures infrared light from objects in its field of view. So, it can detect motion based on changes in infrared light in the environment.
The sensor in a motion detector is actually split in two halves. The reason for that is that we are looking to detect motion (change) not average IR levels. The two halves are wired up so that they cancel each other out. If one half sees more or less IR radiation than the other, the output will swing high or low.
The sensor in the figure above has two built-in potentiometers to adjust the delay time (the potentiometer at the left) and the sensitivity (the potentiometer at the right).
1.2 Hardware required
S.No. | Item | Quantity |
1 | Arduino UNO | 1 |
2 | PIR motion sensor | 1 |
3 | Male to Female jumper wire | 3 |
2 Connection
S.No. | Arduino UNO | PIR Sensor |
1 | GND | GND |
2 | 5V | VCC |
3 | Digital Pin 2 | Output Pin |
3. Programming :
Once the circuit part is done, Here is the code to run this circuit PIR motion sensor.
You may download this code (Arduino Sketch) from here.
int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH){ // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; } } }
4.Output
After the connection you will copy and paste this code in Arduino IDE.Open the serial monitor the Arduino led is on the motion detected after a few second the led is off the motion is ended.
If you have any query please write us at support@roboindia.com
Thanks and Regards
Content Development Team
Robo India
https://roboindia.com