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!
- 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.
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)
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.