You must have seen automatic door openers in shopping malls and other commercial buildings. They open the door when someone comes near the entrance and close it after sometime. A number of technologies are available to make such kinds of systems like PIR sensors, Radar sensors, Laser sensors, Infrared sensors, etc. In this arduino based project, we have tried to replicate the same system by using a PIR sensor.
It uses a motion-detecting sensor (PIR sensor) to open or close the door which detects the infrared energy omitted from human's body. When someone comes in front of the door, the infrared energy detected by the sensor changes and it triggers the sensor to open the door whenever someone approaches the door. The signal is further sent to arduino uno that controls the door.
Circuit Components
- Arduino UNO
- 16x2 LCD
- PIR Sensor
- Connecting wires
- Bread board
- 1 k resistor
- Power supply
- Motor driver
- CD case (DVD Troly)
PIR Sensor
PIR sensor detects any change in heat, and whenever it detects any change, its output PIN becomes HIGH. They are also referred as Pyroelectric or IR motion sensors.
Here we should note that every object emits some amount of infrared when heated. Human also emits infrared because of body heat. PIR sensors can detect small amount of variation in infrared. Whenever an object passes through the sensor range, it produces infrared because of the friction between air and object, and get caught by PIR.
The main component of PIR sensor is Pyroelectric sensor shown in figure (rectangular crystal behind the plastic cap). Along with BISS0001 ("Micro Power PIR Motion Detector IC"), some resistors, capacitors and other components used to build PIR sensor. BISS0001 IC take the input from sensor and does processing to make the output pin HIGH or LOW accordingly.
Pyroelectric sensor divide in two halves, when there is no motion, both halves remain in same state, means both senses the same level of infrared. As soon as somebody enters in first half, the infrared level of one half becomes greater than other, and this causes PIRs to react and makes the output pin high.
Pyroelectric sensor is covered by a plastic cap, which has array of many Fresnel Lens inside. These lenses are curved in such a manner so that sensor can cover a wide range.
Circuit Diagram and Explanation
Connections for arduino based door opener circuit are shown in the above diagram. Here a PIR sensor is used for sensing human motion which has three terminals Vcc, GND and Dout. Dout is directly connected to pin number 14 (A0) of arduino uno. A 16x2 LCD is used for displaying the status. RS, EN pins of LCD connected to 13 and 12 of arduino and data pins D0-D7 are connected to arduino digital pin numbers 11, 10, 9, 8. RW is directly connected to ground. L293D motor driver is connected to arduino pin 0 and 1 for opening and closing the gate. Here in circuit we have used a motor for gate.
Programming Explanation
The concept used here for programming is very simple. In program we have only used digital input output.
DigitalRead is used for reading output of PIR sensor.
After that, if PIR sensor senses any motion then program sends an command to open gate, stop gate, closing gate and stop gate.
See below the complete code for arduino based automatic door opener.
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
#define PIR_sensor 14
#define m11 0
#define m12 1
void setup()
{
lcd.begin(16, 2);
pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
pinMode(PIR_sensor, INPUT);
lcd.print(" Automatic ");
lcd.setCursor(0,1);
lcd.print(" Door Opener ");
delay(3000);
lcd.clear();
lcd.print("CIRCUIT DEGEST ");
delay(2000);
}
void loop()
{
if(digitalRead(PIR_sensor))
{
lcd.setCursor(0,0);
lcd.print("Movement Detected");
lcd.setCursor(0, 1);
lcd.print(" Gate Opened ");
digitalWrite(m11, HIGH); // gate opening
digitalWrite(m12, LOW);
delay(1000);
digitalWrite(m11, LOW); // gate stop for a while
digitalWrite(m12, LOW);
delay(1000);
lcd.clear();
lcd.print(" Gate Closed ");
digitalWrite(m11, LOW); // gate closing
digitalWrite(m12, HIGH);
delay(1000);
digitalWrite(m11, LOW); // gate closed
digitalWrite(m12, LOW);
delay(1000);
}
else
{
lcd.setCursor(0,0);
lcd.print(" No Movement ");
lcd.setCursor(0,1);
lcd.print(" Gate Closed ");
digitalWrite(m11, LOW);
digitalWrite(m12, LOW);
}
}
Comments
Aug 22, 2015
thanks :)
Nov 08, 2015
This project is good..
Oct 12, 2016
it is very simple project .pls dont use aurdino board .
don't do ur projects only based on concept
just try to do with compactness and simple cost ,reliabled one .
Oct 14, 2016
thnx :)
Nov 08, 2015
I want make it so I require help from it...
Nov 08, 2015
its is best project for ever.
Dec 30, 2015
i want to chhosse topic but i have no ppt so pls send me mail ppt
Jan 19, 2016
LCD is important for this project
Jan 21, 2016
No
there is no need of LCD.
we just add it here only for demonstration.
you may remove it.
Feb 03, 2016
Great job. I want to do this same project, so my questions are what programming language did you used and how were you able to put the code inside the ardino uno. I would really appreciate your help and guidance. Thanks.
Dec 15, 2017
In order to write the code , you need to download arduino onto your computer . Go to the arduino official website and download it . then copy the code .
Feb 06, 2016
Arduino simply supports C/C++ language, and Arduino language itself derived from C/C++. Means it supports all the C++'s OOPS concept, operators, conditions statements etc. And there is a Arduino IDE, which is used to verify and upload the code to the Arduino, you just need to connect Arduino board to the PC using USB. Arduino IDE (Arduino Nightly) can be downloaded from here: https://www.arduino.cc/en/Main/Software
Feb 07, 2016
can we use ir sensor instead of pir sensor??
Feb 08, 2016
yes, you can use IR sensor.
Feb 10, 2016
What is this m11 and m12 stands for??
Feb 11, 2016
These are just the variable name, used to define PIN 0 and 1 of Arduino, you can use any name.
Feb 29, 2016
what type of should i use in this project please tell me i m interested to make this project
Mar 03, 2016
how does the motor work?!!!
Mar 11, 2016
check the code in void_loop() function, motor rotate in one direction to Open the gate and then rotate in another direction to Close the gate.
Apr 02, 2016
Please any one help me to make a project report on this topic
Apr 07, 2016
what type of ic use in this project please tell me
Apr 08, 2016
Could you please enlarge a little on the type of motor you used? Geared, stepper, servo, etc., and also its specifications?
Apr 08, 2016
How can I connectthe L293D on the motor? My dvd troly is from an actual dvd and I cant figure out how to connect it because it has 4 pins
Apr 17, 2016
You need to find out the two wires, which are connected to rotating motor of DVD tray.
Apr 14, 2016
If I use ultrasonic sensor instead of PIR sensor,which parts should I change of the program? Also could you tell the kind of the motor used?
Apr 17, 2016
check this for Ultrasonic sensor interfacing: Arduino Based Distance Measurement using Ultrasonic Sensor
Apr 19, 2016
I tried all possible solutions. Nothing works :(
Apr 21, 2016
As tharun said nothing works for now. Same program,same proteus connections,same materials,but there is a mistake which I do not understand. There is power on the LCD,but the sentences are not seen. Motor rotates almost independent from the PIR sensor :/ ıf there is a extra code or something else,please uniform us
Apr 27, 2016
sir
can we use pins other than 0 and 1 for motor...because i need pin 0 and 1 to connect bluetooth module.
Apr 28, 2016
yes you can use.
Apr 29, 2016
my pir sensor is getting high no matter how far i go from it...it is written somewhere in the internet that the range of a pir sensor is 15 - 20 feet..can you please tell me what to do...
May 06, 2016
Learn about PIR sensor and how to adjust its distance range here : PIR Sensor
Apr 30, 2016
hello.can u plz tell me how to connect a 12v dc motor to it using relay
May 17, 2016
You can check our Home automation projects to Interface Relay with Arduino, then connect DC motor to Relay.
May 08, 2016
what is the function of the ICSP pin in arduino uno
Jun 02, 2016
WHat type of motor have you used? And please tell me how to choose a motor to operate a door that is @kgs heavy.
Jun 11, 2016
We have used DVD Trolley from the computer here, but you can use simple DC motor, attached to gate. You can choose the DC Motor accordingly and need to provide the power supply accordingly.
Jun 28, 2016
how to encode those code?
Jul 02, 2016
can we use ultrasonic sensor?
Jul 11, 2016
actually i am thinking of a project where i am using barrier instead of door and when vehicle will come nearer then pir sensor will work n open up the barrier. now i want to achieve linear motion in vertical plane (as of a bollard) can u guide how i can achieve it. i would appreciate ur help....
Jul 12, 2016
I want to add a counter for how many people are enter /out in the door? is it possible in this project? how? plz let me know if its possible
Aug 13, 2016
Check this Project : Automatic Room Light Controller with Bidirectional Visitor Counter
Jul 14, 2016
I've done this project left out the LCD added a motor driver and servo motor but can't get it to run the TX keeps flashing for some reason any ideas
Jul 25, 2016
I can't get this to work at all
I don't have the screen attached sour tried with the code the same and changed to delete it limes of code related to screen
Doesn't work
I changed motors I added a stepper motor
Changed code again to include stepper code still don't work
Changed it all back again and it runs full sequence with out the regard for timing
Aug 13, 2016
You should use simple DC motors with the given code, servo and stepper wont work with this code. Also adjust the sensitivity of PIR sensor.
Jul 28, 2016
dear brother i want to try this project simulation on proteus but i did't find some equipment like arduino uno,pir sensor u use in this simulation
Aug 13, 2016
You need to install Libraries for them in Proteus.
Aug 23, 2016
How i connect wire and motor with CD drive ?
Sep 17, 2016
CD Drive itself has the DC motor, you don't need to connect any additional motor. You need to find connections to this CD drive motor.
Sep 29, 2016
There is no display in the lcd, how do the wirings work?
Oct 05, 2016
If I connect with dc motor and battery,should I change the code?,and what's power supply use?
Oct 07, 2016
This project already using a 9v Battery, and you can take power supply for motor from Arduino (connected to computer) or a 9v battery should work.
Oct 08, 2016
can i replace cd case with the door(build manually) that connected with dc motor? is the code still the same?
Oct 15, 2016
Yes, the code will remain the same.
Oct 10, 2016
can i know how to design correctly this circuit diagram by using proteus..
Oct 26, 2016
Can u please upload or mail me he actual circuit images from different angles ... since i am new to this and cant do it by the graphical circuit diagram ... and i have seen a few differences in the first pic and the one in the video... please help
Nov 07, 2016
just a quick question i'm not sure if anyone asked this but what about using 2 pir sensors
Nov 23, 2016
I am making an door open close system for a real gate which works on high voltage moters do arduino is capable of that much of volt at list a fans moter
Dec 02, 2016
You can use Relay to trigger High voltage AC motors. Learn about relay here.
Nov 25, 2016
I didn't get how you connect the cd rom with the motor driver...please let me know the connection of cd drive to motor driver
Dec 02, 2016
you need to find only two wires which leads to CD drives Motor.
Jan 12, 2017
Sir I made this project but the sensor is not working. Door automatically opens after some delay. Plz solve this issue I've tried every possible solution.
Jan 15, 2017
sir, your helping nature is fantastic and i really thank u for the project.
i have a doubt sir... that.. which type of motors can i use instead of cd driver because i don't have it.
Jan 15, 2017
sir where should we give power supply.. like 9v battery so that i can carry to my clg
Jan 19, 2017
What can i do to the code to stop the door from opening and closing when the sensor is still detecting?
Jan 21, 2017
I am interested about this project.But i have a small doubt about this ,I can't find a perfect schematic on this project.could you guys help me out
Jul 12, 2017
Schematic is already given the in Article, please check.
Jan 25, 2017
Can I connect 2 sensors to the same pins and still perform as intended?
This is so that the door can open from both sides.
thanks
May 08, 2017
whats the name of small device in right side of lcd in breed board....
Jul 12, 2017
Its Motor Driver IC L293D.
May 28, 2017
i wanna try this project ...may you send the circuit diagram
Jun 11, 2017
can this project configured to use from a browser?
Jun 22, 2017
hello,
we are using PIR sensor, Arduino, cd disc drive for this project.will you please, help me how to connect because I tried it with LCD but couldn't complete this project.
Sep 16, 2017
instead of PIR sensor, we will use bluetooth sensor because we will make a face detection application and then we will have to connect it with bluetooth. any suggestions?
Sep 17, 2017
Wow nice idea, I think it is very much possible! But, what will you use to do face detection? If I were you i would use openCV with Arduino thorugh serial COM. How are you thinking to do it.
Oct 08, 2017
in my project the the pir is not getting stable, the error occurs with pir is its sensitivity,in my case i have used arduino code to run pir but the pir is continious sensing the motion even when there is no movement ahead of the pir.
How i can remove this erro??????
Oct 09, 2017
The problem could either be with the module or code. So check the module separelty by using an LED to it output pin and check if it is working properly then proceed with arduino.
Oct 11, 2017
i want the code of this project in c language.
Oct 27, 2017
please help me my motor keep move clockwise and anticlockwise non-stop is this code problem ?
Nov 13, 2017
i want to implement this on LABVIEW plz suggest me..
Dec 25, 2017
which DC motor is connected (voltage)....???
Dec 26, 2017
I think its a normal motor and it operates in +5V as shown in the circuit diagram
Jan 27, 2018
Project is very efficient....can you please tell me what cd disk have u used ....can we get that piece online
Feb 18, 2018
If I change pir sensor to ir sensor.does code same????
Mar 09, 2018
how can we use if we want connect with servomotor in order to interface hydraulic sysytem
Mar 11, 2018
Servo motors can be easily interfaced with Arduino. You can refer the link below
https://circuitdigest.com/microcontroller-projects/arduino-servo-motor-c...
Mar 31, 2018
Sir what is the power source which We give hear if it is a battery what is the rating of battery
Apr 09, 2018
hello, i was wondering where did you connect your power supply ?
Apr 10, 2018
Just power your arduino with the programming cable and the whole project will be powered.
If you want to use a battery then use a 9V battery with its negative to ground and positive to Vin.
Apr 11, 2018
How can i lower the speed of my dc motor, and reduce the time of the motor spinning
Pages