Fingerprint Scanner and Keypad Safe
This engineering project is to add extra security to a normal box by adding a fingerprint scanner and a passcode. The safe will not open, even when there is no power supply, until both security measures have been authenticated.
Engineer
Elaine H.
Area of Interest
Electrical Engineering, Computer Science
School
BASIS Independent Silicon Valley
Grade
Incoming Sophomore
Reflection
Final Milestone
Final Milestone
For my final milestone, I converted my circuit from. a breadboard to 2 PCB boards. I also attached my components to my box and created a locking mechanism.
Description
For my final milestone, I attached a locking mechanism to my fingerprint scanner and keypad. I created a locking mechanism using two metal l braces. When the box is in a locked state, the two l braces would be intertwined with each other. When the box is in an unlocked state, the two l braces would be separated. To do this, I attached a servo to the bottom l brace. This way, the l brace could turn and therefore latch on and latch off the other l brace, therefore creating the two states.
Problems/Solutions
For this milestone, I actually had troubles with the LED lights as I took them out since the last milestone I didn’t think that I would use it when I attached the components to my box. However, I realized that I should probably keep the LED lights as they were good indicators that allows the user to determine whether their fingerprint is valid or not and whether they put in the correct passcode or not. When adding the LEDS, I encountered a problem: the red LED light would keep blinking every two milliseconds. I realized this was because I used to use the Arduino loop function to check whether a fingerprint was placed on the fingerprint scanner or not. However, now that I created it into a function that gets called from another function’s while loop, if you don’t place your fingerprint, it assumes that the fingerprint is invalid and turns on the red light. To fix this, I added a while loop to my fingerprint code. I also learned to be more careful and that I needed to be more careful with my parts, as I accidentally shorted my green LED as I connected the two pins of the LED together.
Second Milestone
Milestone 2
For my second milestone, I attached my keypad to the breadboard and combined the code for my keypad and fingerprint scanner.
Description
For my second milestone, I attached my keypad to my Arduino board and made it so that a green light turns on if a correct password is entered and a red light turns on if an incorrect password is entered. I also incorporated my keypad code with my fingerprint scanner code so that after an enrolled fingerprint is scanned, you have to enter the correct passcode to turn on the green led light and the red light.
Problems/Solutions
When completing this milestone, I had some problem connecting my keypad to the breadboard as I wasn’t sure which pins were for rows and which pins were for columns. To test out which was which, I disconnected each individual pin and checked to see which buttons became dysfunctional. To test out which was which, I disconnected each individual pin and checked to see which buttons became dysfunctional. Through this process, I was able to run the example code. Afterwards, I was able to combine my code my the keypad and the cod for my fingerprint scanner as the Arduino board is only able to run one program at a time.
Future Plans
For my next milestone, I hope to add the servos so that with the correct passcode and fingerprint, the servo would turn which can be used to open the box.
First Milestone
Milestone 1
For my first milestone, I was able to complete the circuit for my fingerprint scanner. I also attached an LED to test whether a fingerprint is valid or not.
Description
For my first milestone, I was able to get the fingerprint scanner to recognize whether or not the finger pressed was enrolled or not. When a recognized finger is pressed onto the scanner, the red led lights up. However, if a finger is not recognized, the led does not light up. The fingerprint scanner will later be used to open the lockbox with the servo.
Problems/Solutions
For this project, I had to look at some schematics and guides on how to connect my scanner to Arduino board. I had some trouble with this step as the receiver of the fingerprint scanner can only take in about 3.3 V while the Arduino board outputs 5V. Therefore, I added a voltage regulator to help fix this problem. Afterwards, I had to code the fingerprint scanner to enroll fingerprints and to be able to determine whether a fingerprint had been enrolled or not. Using a library I found online, I was able to complete the task.
Learnings
From this milestone, I learned how to use a breadboard to create connections between some components to my Arduino board as well as learning how to code in the Arduino environment.
Future Plans
For my next milestone, I am going to attach my keypad to the Arduino board and use it to test whether a password is correct
Extra Resource
Starter Project – MiniPOV
For my starter project, I created an miniPOV which uses its LED lights to project images to the air.
Intro
My starter project was the MiniPOV 4 Kit by Adafruit. POV stands for persistence of vision and is an optical illusion where multiple discrete images blend into a single image in the human mind. In this project, when you wave the POV, the LEDS would project multiple images which your brain would see as one image.
Learnings
Through this project, I have learned how to solder and learned about the different components in a circuit. The components included resistors, diodes, capacitors, etc. Resistors help to decrease the current as to not burn the other components in a circuit (in this case LEDS and transistors). These resistors were all nonpolar which meant that when soldering, the orientation of the resistors didn’t matter Zener Diodes helps to makes sure that the current only flows in one direction, and unlike resistors, its orientation did matter when soldering. Capacitors help to stabilize the current flow in the circuit. Transistors help amplify the electrical signals that came from the microcontroller (in this case, they were used to control the RGB values of each LED) Potentiometers translates rotation into resistance ( in this case, it is used to set the speed of the LED light blinking to form the image). There was a 12MHz Crystal that keeps track of time (in this case it ensures that all the LEDs turn on and off at the same time). The microcontroller is the brain of the operation (in this case it contains the instructions to form the image projected). Finally, there were the LEDS which had four pins to control the RGB value for the LED and projects the image.
Problems/Solutions
When soldering the LEDS onto the PCB board, I accidentally placed one LED with the wrong orientation, so I had to desolder the LED. From this experience, I learned to look at the instructions more carefully and that soldering correctly the first time was crucial as desoldering was a long process that should and can be avoided.