The project Arduino and RFID Based Attendance System is simple and is used at any place where attendance is taken for maintaining the register.
Previously we had posted a project using RFID and microcontroller AT89C52 called RFID Based Security System using Microcontroller AT89C52 used for the open door. Similarly, Arduino and RFID-based Door Access System RFID (Radio Frequency Identification) uses an electromagnetic field to detect unique tags assigned to object in the vicinity. An RFID tag is more secure and conventional because RFID traces tags hidden inside objects, unlike bar codes. It distinguishes authorized and unauthorized users to maintain monthly weekly or monthly logs.
Working of Arduino and RFID Based Attendance System
The company or institution provides RFID cards to their employees, say there are 10 employees and each one gets their RFID card, before giving that card to their employees the system must be updated with their RFID tag corresponding to the user name. When any of the users swipe his/her RFID card to RFID modules, the initial time is stored in the EEPROM of the Arduino. Similarly, when that used again swipes his/her RFID card, the system records the end time and adds to his/her working time. In the system, Arduino and RFID Based Attendance System admin can delete the log and change various aspects as per code. In software code, the admin must be defined before the use of the system.
Circuit Description of Arduino and RFID Based Attendance System
The circuit diagram of Arduino and RFID Based Attendance System is shown in figure 1. This circuit consists of Arduino Uno (Central Control Unit), RFID Module (RFID Tag Receiver), RTC Module (for showing real date and time), LCD Module (for displaying Output), Push-to-on Switch (for selecting menu), and a few other electronic components like resistors, LED, buzzer, etc.
LCD interface with Arduino in 4-bit mode by connecting higher data line of LCD (pin 11, 12, 13, and 14) to a digital pin (pin 8, 9, 10, and 11) of Arduino respectively as shown in figure 1. Similarly, pin 12 and 13 of Arduino are connected to RS and E pin of LCD, where RW pin of LCD is grounded to perform a write operation on LCD. The data from Arduino Uno is sent in ASCII format to LCD. When a data signal is sent RS pin becomes high and when the command signal is sent RS pin becomes null. The variable resistor VR1 is used to adjust the contrast of LCD. The LCD module (20×4) is used to display various aspects like real date and time, Menu, total staff, worked hours, etc.
Pin D0 (RXD) of the Arduino is used to interface with RFID module pin Tx of RFID module is connected to RXD pin of Arduino as shown in the figure.
The four switches (SW1 through SW4) are used to select the menu as displayed in the LCD module like attendance, view all, clear all, Go Back, Total Staff, etc. These four switches are connected to analog pin A0 to A3 respectively as shown in figure 1. Here, in this circuit, we are not using a pull-up resistor because we are using “INPUT_PULLUP” in our program which eliminates the use of a pull-up resistor.
Glowing LED1 is used to indicate unauthorize users whereas glowing LED2 is used to indicate authorized users. Buzzer BZ1 shows audio indication whether it accepts the user or not according to the program.
The circuit of Arduino and RFID Based Attendance System utilizes an RTC (Real Time Clock) module DS1307 for indicating real date and time. RTC module DS1307 is a serial real-time clock IC with functions like calendar, 12-hour, and 24-hour time format with AM and PM indication. The two-line SDA and SCL of the DS1307 module are connected to Arduino pin A4 and A5 respectively. For communication between RTC and Arduino. This module is responsible for the calculation of days, weekly, monthly, etc.
The Software | Arduino, and RFID Based Attendance System
The software of Arduino and RFID Based Attendance System is written in Arduino programming language and compiled using Arduino IDE. You can directly download the code from the below link and use it in your system. Before using the code, you must first add the RFID tag code and its corresponding name (name of the person to whom that RFID card is assigned). You have to edit line number 18 and 19 of the software code with RFID code and corresponding user name respectively. The code given below is designed for 10 users and can be increased and decreased as per our required by changing software code.
CLICK HERE TO DOWNLOAD SOFTWARE CODE
PARTS LIST OF ARDUINO AND RFID BASED ATTENDANCE SYSTEM
Resistors (all ¼-watt, ± 5% Carbon) |
R1, R2 = 330 Ω
VR1 = 10 KΩ |
Semiconductors |
Arduino Uno Board
RTC1 = DS1307 RFID Module = EM-18 RFID Reader Module LED1 = 5mm RED color LED LED2 = 5mm GREEN color LED |
Miscellaneous |
BZ1 = Buzzer
SW1 – SW4 = Push-to-on switch |