Overview
I created an ID scanner that unlocks an auto-locking dormitory door for my freshman-year dorm at Georgia Tech! To use it, simply scan a pre-programmed NFC card to the scanner, and the device uses a motor to turn the door latch, unlocking the door.
Every NFC card has a unique identifier, or UID, to uniquely identify the card. This UID can be used to identify the specific NFC card or tag being scanned. For this project, I obtained the UID of my Buzzcard (Georgia Tech ID card) and programmed it in the Arduino IDE to grant access to my room whenever detected.
Technologies Used
- Arduino Uno
- 1 Breadboard
- Servo Motor
- RFID/NFC Scanner (RC522 module)
- Jumper wires
- 3D printed materials
Difficulties
- I had to design a way to unlock the door using a mechanical assembly. The doors in my dorm are auto-locking, and can only be unlocked by turning the key from the outside or turning the door handle from the inside. The most practical way to unlock the door with this project was to turn the door handle. This meant that I had to use some kind of motor to turn the door handle, and I began researching ways to do this.
- Out of the many ways to create a motorized arm using a motor, I decided to go with a rack and pinion, as I could connect the servo motor directly to the gear, and turn the arm a specific amount based on the rotation of the gear. It was very rigid and produced high torque.
- The hardware assembly for this project is a custom model I designed in TinkerCad and 3D printed at an on-campus makerspace. It was difficult to create the assembly so that it was the correct distance away from the door handle.
- This overall project took several iterations and fixes to finally get a working prototype.
Next Steps
- For this project, I will consider using a more powerful motor in the next iteration. I realized that servo motors have limited turning range and torque, which sometimes was not enough to turn the door latch fully unlocked. I am looking into using a DC motor for this project as it as much higher torque, but this means I will need a new way to attach the rack and pinion to the motor.
- I would also like to try to make the wiring for this project more clean and compact by making a custom PCB for this build. Currently, all the wiring for the motors and NFC scanner goes through a breadboard. I will consider either soldering all the wires directly between the microcontroller, motor, and scanner, or creating a PCB.
- I would also like to create a 3D-printed module to house all the wiring and electronics from plain view, which will result in a more presentable prototype.
- I found Arduinos to be very useful for hardware projects, and will continue to use them in the future.