ECE 110/120 Honors Lab Section : Remote Controlled Door Lock with App

NameNetIDSection
Arnav Jaggiajaggi3ECE 120
Vishesh Prasadvprasad3ECE 120


Statement of Purpose

Our goal with this project is to create an electronic mechanism to seamlessly unlock your door using an app on your phone. Constantly carrying and worrying about your keys can be a hassle, and as everything is becoming increasingly automated and controlled through a smartphone, it only makes sense to unlock your door remotely. We will learn Arduino/Raspberry Pi, CAD, and Java to aid us in our project.

Background Research

Our background research includes looking at remote door locks that are currently on the market. Most consumer-available door locks are separate mechanisms that must be installed inside the door and don't allow customization of the door lock mechanism. Our project differs from this in that it is a separate mechanism that can be attached to any door. This will allow us to keep the cost of the total parts low as it is a smaller machine. It also allows the door mechanism to be customized. The door lock our group is working on also allows the mechanism to be moved around to different doors without much hassle, which differs from other remote locks that are fixed onto one door. Our group is driven to work on this project in order to find a solution to the problem of having to carry our dorm keys everywhere. Our thought process was to create an app and remote door lock so that we can lock and unlock the doors with the use of our phones without having to carry the key everywhere and potentially losing it.

Block Diagram / Flow Chart


Flow chart:



Start by launching the app that is connected via arduino to our mechanism. The user will then choose to lock or unlock their door (entered as input). If the input is lock we set lock to be true, and then we will set the servo to 90 degrees (so vertical), and send the completion message, terminating the program. Else, if not, we check the value of unlock. If for some reason unlock is set to false, then we will send error message. If it is set to true, we set the servo to 0 degrees (so horizontal) and send the completion message, terminating the program. 


System Overview

This first image is a top view of our design. It is a little hard to see due to glare, but you can see that the Servo is coming out the back of our side. In addition, we have encased the servo in a crate like case that we will be 3-d printing. The front of said crate (bottom of picture) will be extremely thin, so as to fit in between the lock and the screws that connect it to the door. The rest of the crate will envelope the actual turning mechanism of the lock with enough space for our turn hands to fit (more on them below).

This is the front view of our design. The holes that can be seen prominently on the bottom are replicated on the top. The design is much bigger than projected, for the purposes of detail and emphasis. The holes seen are for screwing the crate to the lock. We are heavily considering changing the design to have 2 middle holes instead of 4 top and bottom. 

Here is the inside view of our crate, the actual turning mechanism. The hands that turn the lock are depicted in the reddish color, going horizontal in the picture. The servo is labeled, (black in the back), and the purple connector latches the hands to the servo mechanism. The servo mechanism is depicted in green.

Parts

NameLinkPriceQuantity
Arduino MKR WIFI 1010https://www.digikey.com/en/products/detail/arduino/ABX00023/9486713?s=N4IgTCBcDaIIICcAmBXAlgOwPYAICyA0gEo4DqAkgGLk4CMADAyALoC%2BQA$33.90x1
Servohttps://www.digikey.com/en/products/detail/sparkfun-electronics/ROB-11965/5766906?utm_adgroup=Motors%20-%20AC%2C%20DC&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Motors%2C%20Solenoids%2C%20Driver%20Boards%2FModules_NEW&utm_term=&utm_content=Motors%20-%20AC%2C%20DC&gclid=Cj0KCQjwwNWKBhDAARIsAJ8HkhchIi1qgXQAFC3iTC_etlWdnmmSl5A5wetKaDUtfTXd9klUVSbAJSEaAsFAEALw_wcB$12.95x1
Breadboard

https://www.digikey.com/en/products/detail/bud-industries/BB-32621/4156445?utm_

adgroup=Solderless%20Breadboards&utm_source=google&utm_medium=cpc

&utm_campaign=Shopping_Product_Prototyping%2C%20Fabrication%20Products_

NEW&utm_term=&utm_content=Solderless%20Breadboards&gclid=CjwKCAjwy7CKBh

BMEiwA0Eb7avjnYoXnvTHzxfSSb_HY7c5wtlFuhr1iiH9XCFx4-xwDYJo0mKik-BoC9agQAvD_BwE

$4.80x1
Breadboarding Wire Bundlehttps://www.adafruit.com/product/153$4.95x1
Pushbutton Switchhttps://www.digikey.com/en/products/detail/omron-electronics-inc-emc-div/B3F-1020/44059?utm_adgroup=Tactile%20Switches&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Switches_NEW&utm_term=&utm_content=Tactile%20Switches&gclid=Cj0KCQjwwNWKBhDAARIsAJ8Hkhc4LvzY-ahyXex0IHI0tvSrXsUcYjL7npqCFgaVZ_rBdijUz2FSRvUaAgXSEALw_wcB$0.36x10
LEDhttps://www.digikey.com/en/products/detail/rohm-semiconductor/SLR-56VRT32/12350929?utm_adgroup=Optoelectronics&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Supplier_Rohm%20Semiconductor_0846_Co-op&utm_term=&utm_content=Optoelectronics&gclid=CjwKCAjwy7CKBhBMEiwA0Eb7apLhRFWpv3HzZW3RsnRy5-cAP_1PXa4kUOuf_1vtlBWb3kWEJQGA_xoC6ikQAvD_BwE$0.62x5
Power Sourcehttps://www.digikey.com/en/products/detail/bud-industries/BBP-32701/8602382?utm_adgroup=Evaluation%20Boards%20-%20Linear%20Voltage%20Regulators&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Development%20Boards%2C%20Kits%2C%20Programmers_NEW&utm_term=&utm_content=Evaluation%20Boards%20-%20Linear%20Voltage%20Regulators&gclid=CjwKCAjwy7CKBhBMEiwA0Eb7aogv4D5xGlkUozCIZ1UAdqdwXvL1YHdW1H2VtNh0JzLag1bVkfwnBxoCN5cQAvD_BwE$6.30x1
Resistorshttps://www.digikey.com/en/products/detail/te-connectivity-passive-product/CFR50J470R/3477472$0.128x20


Possible Challenges

Challenges that our group foresee in working on the project includes deciding on a power source for the door lock. We have to decide whether to use an external power source or a wired connection. We also have to come up with a design for the remote lock that is not too bulky in size while also being functional. The casing for the lock must also be rigid enough to allow the servo to properly apply the necessary force needed to turn the lock. Other challenges include being able to successfully merge the Arduino with the servo and get the motor to be fully functional. This is also combining the Arduino with the app and to be able to get a seamless connection from the hardware to the software without errors.


References

All About Circuits. 2021. Servo Motor Control with an Arduino. [online] Available at: <https://www.allaboutcircuits.com/projects/servo-motor-control-with-an-arduino/> [Accessed 20 September 2021].

Report

https://docs.google.com/document/d/1nuJlQzxX3FV1lxS0xqJwMKHxe6oJm8oaSa1ayk3r3rw/edit?usp=sharing

Remote Controlled Door Lock with App

Arnav Jaggi

Vishesh Prasad

University of Illinois at Urbana - Champaign

ECE 120 Honors Lab Report

Introduction

The goal of this project was to create an electronic mechanism to seamlessly unlock your dorm door using only an app on your phone (that we design). Constantly carrying and worrying about your keys can be a hassle, and many students living in the dorms, adjusting to college life for the first time, have shared this concern with us. As everything is becoming increasingly controlled through a smartphone, it only makes sense for you to be able to unlock your door with your phone as well.

Design

Our original design involved the following flowchart:






We wanted to have the user start by launching the app that we built, that would be connected to the arduino via a mechanism. When we started out, we didn’t know exactly what we would use for it, but we ended up coming with a concrete technique. We would connect our Arduino to our app using bluetooth or wifi, and then connect the arduino to our breadboard, which is then connected to the servo. The entire servo and breadboard system was to be powered by an external source, likely a battery.

Results

Most of our plans came through, but we had to change a little bit to make things work. We ended up buying a MKR Wifi 1010 Arduino, which has both bluetooth and wifi capabilities. We connected our servo and breadboard to a power source, with a 9V Energizer battery. We were unable to CAD the claw that would actually latch onto the lock of our door, but we did get the servo functioning completely. We started by coding our servo in the offline Arduino IDE. We then built an app, using the MIT app builder, which was complete with bluetooth capabilities, and reading and writing from and to bluetooth. We also used Xcode for an apple app but we didn’t completely develop it as we found that it doesn’t have bluetooth capability that works with the arduino. However, we were unable to completely connect the app, phone and servo, as mentioned below. We decided against putting in an LED, and switches, due to lack of functionality. Seeing as we didn’t have the CAD, and servo connection, we decided to prioritize the latter, as opposed to extra features that we would gain by adding a LED and push-button switches. In order to build our app, we had to use logic gates. We used NOT and AND gates the most. For instance, we used a NOT gate to check whether or not bluetooth is connected to the phone. We also used a lot of multidimensional if loops to control the locking and unlocking mechanism, which meant that we used advanced AND gates. 

Problems and Challenges

The main challenge that we faced with this project was controlling the arduino using the app. We experimented with different types of connections (WIFI vs bluetooth). WIFI was the ideal mode of connection as the code that connects the app and the arduino is simpler and the connection is more secure. WIFI, however, didn’t work as the UIUC wifi needs authentication for a connection and the arduino doesn’t have those capabilities. We then decided to connect using low energy bluetooth. We attempted to connect to the arduino, through bluetooth, using our laptops (macbooks and windows), but these connections were sporadic and we were never able to get a constant connection. We also attempted to connect using our iPhone and android app emulators on the laptops, but these emulators didn’t have bluetooth capabilities. We then connected using our iPhones and a third party app, and were able to get a successful connection but couldn’t run the app we built as it was an android app. As a last resort we tracked down an android phone and were able to get a successful connection again through a separate third party app, but were unable to connect the phone or our own app due to unforeseen technical issues.

Future Plans

We feel as though the natural progression of our project is to first start by finding better ways to fix the connection between the servo, arduino, and phone. Once we fix up the connection issues, we will then add on the CAD of the claw, and then design a lightweight case for the entire system, so that it can be latched onto the door. 

References 

http://appinventor.mit.edu/

https://www.raywenderlich.com/2295-arduino-tutorial-integrating-bluetooth-le-and-ios

All About Circuits. 2021. Servo Motor Control with an Arduino. [online] Available at: <https://www.allaboutcircuits.com/projects/servo-motor-control-with-an-arduino/> [Accessed 20 September 2021].


Project Demo Video



Attachments:

Arnav Jaggi - Sep 19 2021.pdf (application/pdf)
image2.jpeg (image/jpeg)
image1.jpeg (image/jpeg)
image0 (1).jpeg (image/jpeg)
image1 (1).jpeg (image/jpeg)

Comments:

Looks like a good project idea! I think your challenges are very valid but I would add that a challenge may also be making the casing for everything rigid enough for the servo to properly apply the force to the lock. 

Keep the 120 requirement of adding some discrete logic gates in mind!

I will approve the project. Your group will be group #12

Posted by dbycul2 at Sep 25, 2021 21:44