This project is a digital door locking system using concepts of interactive hardware. The presented content in this repository is about a prototype developed according to the proposed design as a part of the final project of the semester. This project is an extension of Security Panel System by Mert Arduino.
- /documentation - Contains the project proposal and design report of this project which was submitted to the instructor.
- /hardware - Contains PCB design files.
- /img - Contains all the image files of this project
- /libraries - Contains all the libraries that is required to buid this project.
- /src - Contains the .ino files for Arduino Mega and ESP8266 Wifi Module.
- /LICENSE - Contains the details of the license for this project.
The libraries required to build this project are as follows:
The Software required for this project is Arduino IDE.
Bill of Hardware Materials:
- 1 X Arduino Mega 2560 (Rev3)
- 1 X Breadboard (optional)
- 1 X Piezo Speaker
- 3 X Leds (Red, Blue, Green)
- 1 X Matrix Keypad(4 x 4)
- 1 X 28BYJ-48 Stepper Motor
- 1 X ULN2003A - Stepper Driver Board
- 3 X 220 ohm Resistors
- 1 X Loud Speaker
- 1 X LCD-16x2
- 1 X 1K ohm potentiometer
- 1 X ESP8266 ESP-12E UART WIFI Shield
The below schematic gives an idea about how the components are put together to build the system.
To know the connections in detail refer to the below circuit diagram.
To assemble this system gather the materials mentioned in Requirements and Materials.
-
Connect USB cable of arduino to the PC.
-
Open Arduino IDE then goto File->New or press Ctrl+N.
-
Then goto Tools->Port and select the COM port for Arduino Mega 2560 (for Mac users it would be something like /dev/tty).
-
Copy the code from Arduino-Mega_Code.ino and paste it in Arduino sketch.
-
Download all the libraries from here. Then go to Documents\Arduino\libraries and pase them here.
-
Compile the sketch by clicking the check button below file option or press ctrl+R.
-
After the sketch gets compiled with no errors press the right arrow button below edit option or press Ctrl+U to upload the sketch to Arduino Mega 2560.
Now before uploading the code to ESP8266 ESP-12E UART WIFI Shield we need to manipulate the DIP buttons on the shield. For more details refer to this link. We can also upload the sketch to the ESP8266 ESP-12E UART WIFI Shield with the help of Arduino Uno or Mega 2560.
-
Before connecting align the DIP buttons to (DOWN, DOWN, UP, UP) from 1 to 4 respectively.
-
Connections: Make the connections from Arduino Uno to Wifi shield according to the table below.
Arduino Uno ESP8266 ESP-12E UART WIFI Shield Rx Rx Tx Tx GND GND +3.3V +3.3V Connect RESET pin of Arduino Uno to GND -
After the above connections are made, follow next step.
-
Open you IDE and click on "File -> Preferences".
-
In "Aditional Boards Manager URLs" add this line and click on "OK": "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
-
Go to "Tools -> Board -> Boards Manager", type "ESP8266" and install it.
-
Go again to "Tools -> Board" and select "Generic ESP8266 Module".
-
Copy the code from here and paste it in the Arduino IDE.
-
Then compile the sketch and upload it the same way it was done for Arduino Mega.
After the above steps are completed with no errors disconnect the connections and connect the components again according to the schematic in Build Instructions.
(Note:- Change the DIP pins of Wifi Shield to (DOWN,DOWN,DOWN,DOWN,) respectively before turning on the system.)
Before turning on the the system create a hotspot or connect to any access point(Note:- Change the credentials accordingly in the code of ESP8266 Wifi shield before uploading to it.). Now Turn ON the system by providing a 9V to 12V power supply.
Now the system can be monitored and controlled by 2 ways:-
First connect your machine or mobile phone to the same hotspot or access point. Then type the IP address of the server (This can be found on the serial monitor of ESP8266 WIfi Module) as URL in the web browser. Now, from here you can perform OPEN/CLOSE to the door lock system and also monitor the state of the system.
The door lock can be opened by entering the 4-digit passcode in the keypad. And, the door can be closed by pressing '*' in the keypad. The status of the system can be monitored simultaneoulsy through the webpage.
The build team consists of:
- Trushil Patel (Role: Coding and Documentation)
- Akash Singh (Role: Testing and Documentation)
These are the third parties which deserves a credit for motivating us for this project:
- Trevor Tomesh, instructor- CS 807 Interactive Hardware
- Mert Arduino
- electronic GURU
- Family and friends cannot be forgotten :)
© Trushil Patel, Computer Science, University Of Regina
Licensed Under MIT License.