Any ARDUINO board will work. These can be programmed and wired up to other elements like LEDs, buttons or screens.
In this procedure, 6x6 push buttons and common cathode LEDs
A RFID card reader (comes with a card and a fob). Both contain a S50 chip which works on a frequency of 13.56MHz. These S50 chips each contain a UID
This power source would allow us to power the whole system with a plug, originally for a solenoid but it was malfunctioning
A lightweight servo motor (rotary/linear actuator) that we will use in the lock/door mechanism
A bluetooth module allows our ARDUINO circuit to connect to apps on our mobile devices
Follow the schematic below to build the RFID circuit
Opening up the ARDUINO IDE and installing a special package for our RFID module, we can load in a sketch named DumpInfo.
Upload this sketch to our ARDUINO and scan a card. If it shows a hex dump, congrats!
The following 3 will be added to the circuit:
3 LEDs will light up according to access status, and what mode the user is in
Servo will drive the door mechanism, which we are not going into detail here
A wipe button will reset all the UID data for convenience
Next, code a program in the ARDUINO IDE to upload to our ARDUINO. The finished code is found here. The code should ask for a tag to be scanned (which will be the master tag) on the first run
The following is a flowchart explaining what else the code does
Below is an explanation of the pins on the HC-05 module:
Now connect the HC-05 module as follows:
Before getting to the actual app, we should test the functionality of our module. This section will lead to an app that Turns an LED on and off
First, create an application in MIT app inventor, such as the image below. The names given are important to programming the components, so it's best to follow:
Head over to the BLOCKS tab and add the following (explanations below):
TOP BLOCK: btChooseText will show a list of available bt devices to connect to when clicked
BOTTOM BLOCK: The app will connect to a device when its name is clicked on
This block will change connectedStateText to show "CONNECTED" if the app is connected to a bt device, and "NOT CONNECTED" otherwise
These blocks will send the number "1" (decimal 49 in ASCII) when onBtn is clicked, and the number "0" (decimal 48 in ASCII) when offBtn is clicked
In the arduino IDE, comment out the whole code and add in this code. This will turn on the red LED at pin 4 (refer to Step A2) if it receives a 1 from the BT module, and turns it off if it receives a 0
Now the actual application will be made. Note that the edited ARDUINO code will be shown AT THE END OF C3
The following subparts will build up the application:
Sarah Amsler & Sharon Shea, TechTarget, Mar 2021
Ian Buckley, MakeUseOf, Apr 2017
Aryan Verma, GeeksforGeeks, Oct 2021
Dejan Nedelkovski, How To Mechatronics, Mar 2016
Ruzell Ramirez, CircuitRocks, Aug 2020