Introduction: Arduino Password Security System With Magnetic Door Sensors

In this Instructables guide I will show you how to make your own password security system by using the Arduino uno board and some magnetic door switches. I made my own circuit by using the ATmega328 micro controller but this is an optional step. In this guide I will help you to make it easily on breadboard by using the Arduino uno board, and I will give you some extra tips on how you can make your own Arduino-based custom circuit.

By using this system you will be able to arm and disarm the security system. You can disarm it by typing the correct password and pressing the '*' button. If you want to change the current password, you can do it by pressing the 'B' button, and if you want to skip or abort an operation you can do it by pressing the '#' button. It also has a buzzer for making various tones during operation.

You can arm the system by pressing the 'A' button. System will give you 10 seconds to leave from your place, after 10 seconds the system will be armed. You can put as many windows magnetic switched you want. In this tutorial I will use two for windows and one for door. When a window opens, and the system is armed, you will hear the alarm tone from buzzer. You can still disarmed it by typing the correct password. When a door opens the system will give you 20 seconds to give the correct password. After 20 second you will hear the alarm tone. The system also uses an ultrasonic sensor that can detect motion.

Watch the operation video:

This device was made only for educational and presentation purpose reasons, it can't be used in real life. If you want to use it on your home's make sure that it's enough safe , for example use a metal box and put the power cables "inside the wall".


Let's get started!

Step 1: What You Will Need

For this project you will need:

  • Arduino uno board
  • High contrast LCD display 16x2
  • Keypad 4x4
  • 10~20k potentiometer
  • 3x (or more) magnetic door switch
  • 3x (or more) 2 pins screw driver circuit
  • HC-SR04 Ultrasonic sensor

(ONLY) If you want to make your own custom - Arduino based - circuit you will also need:

  • DIP socket for atmega328
  • 16Mhz crystal osc
  • 2x 22pF ceramic, 2x 0.22uF electrolytic capacitors
  • 1x 10K resistor
  • DC power jack
  • pcb prototyping board
  • 5V power source

And one box to fit them all!

Tools:

  • Something to cur the plastic box
  • Hot glue gun
  • Drill for opening holes on the box

Step 2: The Circuit

The connections are pretty easy, watch the above image with the breadboard circuit schematic.

Some notes:
High contrast LCD:

  • Pin1 - Vdd to GND
  • Pin2 - Vss to 5V
  • Pin3 - Vo (to middle pin of the potentiometer!)
  • Pin4 - RS to Arduino pin 8
  • Pin5 - RW to GND
  • Pin6 - EN to Arduino pin 7
  • Pin11 - D4 to Arduino pin 6
  • Pin12 - D5 to Arduino pin 5
  • Pin13 - D6 to Arduino pin 4
  • Pin14 - D7 to Arduino pin 3
  • Pin15 - Vee (to right or left pin of the potentiometer)

Keypad 4x4:

From left to the right pin:

  • Pin1 to Arduino pin A5
  • Pin2 to Arduino pin A4
  • Pin3 to Arduino pin A3
  • Pin4 to Arduino pin A2
  • Pin5 to Arduino pin 13
  • Pin6 to Arduino pin 12
  • Pin7 to Arduino pin 11
  • Pin8 to Arduino pin 10

Step 3: The Code

Here's the code, embedded using Codebender!

Try downloading the codebender plugin and clicking on the Run on Arduino button to program your Arduino with this sketch. And that's it, you've programmed your Arduino board! If you want to make any changes in the code below just click the "Edit" button.

For example you can change the default password "8520" at line 32.

Note: If you will not use the Codebender IDE for programming your Arduino board you will need to manual install additional libraries in your Arduino IDE. Where to find it? Search the web, don't ask me... Or just use the easy and simple way of Codebender.

Step 4: Make Your Own Custom Arduino - Based Circuit

Now that you have successfully test your new project with the Arduino uno board, you can start making your own Arduino-based custom circuit! The procedure it's easy, but you will need some extras skills for making it.

So, I will try to give you some tips here to try it out by yourself:

  • 10K resistor must be connected between 1st (reset) pin and 7th (Vcc) of the Atmega328 micro controller.
  • 16MHz crystal oscillator must be connected at pins 9 and 10, labeled as XTAL1 and XTAL2
  • Connect to each pin of oscillator one 22pF capacitor. The other pin of capacitors goes to pin 8 (GND) of micro controller.
  • Remember to connect the second power line of the ATmega328 with your power source, pins 20-Vcc and 22-GND.
  • All other information for the Arduino pinout can be found at the second image above.
  • If you will use power source above 6V: Use the LM7805 with two 0.22uF electrolytic capacitors (on input and output pins) to take 5V from your 12V power source. This is important! Do not provide more than 6V on your custom circuit!!! It will burn your Atmega micro controller and lcd circuit.

Step 5: Put It in a Box

Take your time and configure your box to fit your circuit. You can make it as big (or small) you want.

Step 6: Well Done!

That's it! You have successfully completed this guide and now you have your own Arduino security system with password.

You can find more Arduino tutorials and cool projects here.

I hope you liked this, let me know in the comments!

Comments

author
nhattinh92 made it! (author)2017-07-20

Hi there ! How if i want to add 2 pin to active and deactive system ? My mean is pin 12 == High to active, pin 13==High to deactive. I had added code but it's not work. Please help me. Thanks

author
khylander made it! (author)2017-03-17

I can´t upload the code!

Arduino:1.8.0 (Windows 10), Kort:"Arduino/Genuino Uno"

C:\Users\kenny\Documents\Arduino\larm\Larm.ino: In function 'void loop()':

Larm:54: error: 'systemIsArmed' was not declared in this scope

systemIsArmed(); //Run function to activate the system

^

Larm:57: error: 'systemIsUnarmed' was not declared in this scope

systemIsUnarmed(); //Run fuction to de activate the system

^

C:\Users\kenny\Documents\Arduino\larm\Larm.ino: In function 'void systemIsUnarmed()':

Larm:92: error: 'systemIsArmed' was not declared in this scope

systemIsArmed(); //by calling the systemIsArmed function

^

Larm:99: error: 'changePassword' was not declared in this scope

changePassword();

^

C:\Users\kenny\Documents\Arduino\larm\Larm.ino: In function 'void systemIsArmed()':

Larm:144: error: 'alarmFunction' was not declared in this scope

alarmFunction(); //Call alarm!

^

Larm:147: error: 'unlockPassword' was not declared in this scope

unlockPassword(); //Disarm the system with correct password

^

Larm:151: error: 'alarmFunction' was not declared in this scope

alarmFunction();

^

C:\Users\kenny\Documents\Arduino\larm\Larm.ino: In function 'void unlockPassword()':

Larm:181: error: 'alarmFunction' was not declared in this scope

alarmFunction(); //Times is up, ALARM!

^

C:\Users\kenny\Documents\Arduino\larm\Larm.ino: In function 'void changePassword()':

Larm:314: error: 'newPassword' was not declared in this scope

newPassword(); //Password is corrent, so call the newPassword function

^

exit status 1

'systemIsArmed' was not declared in this scope

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

author
SajjadF made it! (author)2017-02-23

Hey there
That is a great project, I am gonna add a blutooth HC-05 module to the circuit and send the unlock password with the module's terminal ports so that the alarm would be turned off.
But I got a problem sending a number through serial ports, I tried some ways But they did not work! Actually my main question is: How To Send The Password By HC-05 module to the system??
I will be appriciated if anyone can help me.
Thanks

author
MahmoudM116 made it! (author)2017-02-05

hello

please tell me how I can make this code that the issuing sound after 5 minutes please and please where I have put the code line

author
Kamyk made it! (author)Kamyk2017-02-22

Hi. Great project! I have similar question. I wish to activate alarm after 30 sec. When motion will be detected or door will be open I wish to not start alarm or do something in first 30sec. Could you tell me what should I change? Thank you!

author
TheKarolukaz made it! (author)2017-01-17

Awesome project!

I have a question though - how can I add a 5v relay to switch on a powerful buzzer (how to code it)? I tried to change the code but it wasn't successful unfortunately...

author
KEITHS123 made it! (author)2016-12-21

AWESOME PROJECT!!! I changed it to a 4X3 keypad, a 20X4 LCD using the I2C library! The most helpful part of the code was your notes on each line of what it is doing in english v.s. code language. You should do more of these!

author
DouweK made it! (author)2016-07-02

Nice project! But i can't get my LCD working, I've connected all the wires following your instruction ut all i got are questionmarks, degree signs or just white blocks.

Can you or someone help me?

Thanks

author
Ardumotive_com made it! (author)Ardumotive_com2016-07-02

Hi! Do you have a high contrast LCD 16x2 display?

author
DouweK made it! (author)DouweK2016-07-02

I did some research and it seems that i have a standard LCD while i tought it was a high contrast.
Do you have a code for the normal LCD?

author
Ardumotive_com made it! (author)Ardumotive_com2016-12-04

Here you can find a useful tutorial for your screen:

http://www.ardumotive.com/how-to-use-an-lcd-dislpa...

It will be very easy to make the changes after you complete this tutorial.

author
ErikH19 made it! (author)2016-07-11

Just what i was looking for. I had already started programming myself, but this is much easier. I will replace the reed relays by PIR sensors, i probably have to change nothing because you are switching the reed relays to VCC.

I will test, if i can use it, thank you for the time you invested!

author
Ardumotive_com made it! (author)Ardumotive_com2016-12-04

Great! you can post a photo of your setup here! ;)

author
georgi-iliev made it! (author)2016-08-24

What happen if don't enter correct pass when the alarm activate from the door sensor? Sorry for my bad english.

author
Ardumotive_com made it! (author)Ardumotive_com2016-12-04

The alarm will be activated. To turn off the alarm, enter the correct password.

author
educ8s made it! (author)2016-08-25

Πολύ ωραίο project! Συγχαρητήρια!

author
Ardumotive_com made it! (author)Ardumotive_com2016-12-04

Ευχαριστώ !!!

author
nhattinh92 made it! (author)2016-11-12

Hi, how if i want save password to EPROM ??

author
Ardumotive_com made it! (author)Ardumotive_com2016-12-04

I am still trying it... sometimes it works, but not all the times :P

author
delfegi1 made it! (author)2016-06-07

thanks for sharing your project: it's almost what i was looking for since a while!
would it be feasible replacing the Ultrasonic sensor with a PIR?
And, probably more tricky, is it possible to connect something louder than a buzzer? Maybe using some relays?

author
Ardumotive_com made it! (author)Ardumotive_com2016-06-07

Thank you for your comment. You can use an PIR sensor, but you must do some changes in the code, just replace the ultrasonic's code with the PIR's code.

About the buzzer, you can connect a more louder, if it's need more current you can easily use it with an NPN transistor. No need to change anything in the code.

author
prototype_mechanic made it! (author)2016-06-05

Hello.

In future replace this keyboard to classical USB keyboard. Chinas keyboard have smal time of life :(

in my instructable was how-to connect

author
pallaviaris made it! (author)2016-06-02

Foverooo . Euxaristo
The project is fantastic thx for sharing
I hope u have another.....

author
Ardumotive_com made it! (author)Ardumotive_com2016-06-03

Thanks πατρίδα!! ;)

author
ElijahH3 made it! (author)2016-06-01

Amazing and awesome, thanks for sharing!

author
Ardumotive_com made it! (author)Ardumotive_com2016-06-01

Thank you for your comment!! :D

author
tharindurc made it! (author)2016-06-01

Really good project !!!

author
Ardumotive_com made it! (author)Ardumotive_com2016-06-01

Thank you!!!

author
clauculo made it! (author)2016-05-31

Really amazing! Thank you!

author
Ardumotive_com made it! (author)Ardumotive_com2016-05-31

Thank you for your comment!! :D

About This Instructable

16,982views

239favorites

License:

More by Ardumotive_com:"GRECO" - Arduino Object Avoiding Robotfor BeginnersArduino 3D Printed Digital Thermometer With DHT-22 SensorArduino 3D Printed Compass
Add instructable to: