The project Arduino and RFID Based Attendance System is a simple and is used at any place where attendance is taken for maintaining register.
Previously we had posted a project using RFID and microcontroller AT89C52 called RFID Based Security System using Microcontroller AT89C52, used for open door. RFID (Radio Frequency Identification) use an electromagnetic field to detect unique tag assigned to object in the vicinity. RFID tag is more secure and conventional because RFID traces tags hidden inside objects unlike bar codes. It distinguishes authorize and un-authorize user in order to maintain monthly weekly or monthly log.
Working of Arduino and RFID Based Attendance System
The company or institution provides RFID card to their employees, say there are 10 employees and each one gets their own RFID card, before giving that card to their employees the system must be updated with their RFID tag corresponding to user name. When any of the user swipes his/her RFID card to RDID 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 add to his/her working time. In the system Arduino and RFID Based Attendance System admin can delete log and change various aspect as per code. In software code admin must be defined before 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 basically consist 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 few other electronics 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 digital pin (pin 8, 9, 10 and 11) of arduino respectively as shown in figure 1. Similarly, pin 12 and 13 of arduino is connected to RS and E pin of LCD, where RW pin of LCD is grounded to perform write operation on LCD. The data from arduino uno is sent in ASCII format to LCD. When data signal is sent RS pin become high and when command signal is sent RS pin become null. The variable resistor VR1 is used to adjust the contrast of LCD. The LCD module (20×4) is used to display various aspect like real date and time, Menu, total staff, worked hour 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 figure.
The four switches (SW1 through SW4) is used to select the menu as displayed in 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 pull up resistor because we are using “INPUT_PULLUP” in our program which eliminate the use of pull up resistor.
Glowing LED1 is used to indicate un-authorize user where glowing LED2 is used to indicate authorize users. Buzzer BZ1 shows audio indication whether it accept the user or not according to program.
The circuit of Arduino and RFID Based Attendance System utilize a RTC (Real Time Clock) module DS1307 for indicating real date and time. RTC module DS1307 is a serial real-time clock IC with function like calendar, 12-hour and 24-hour time format with AM and PM indication. The two-line SDA and SCL of DS1307 module is connect to arduino pin A4 and A5 respectively. For communication between RTC and arduino. This module is responsive for calculation of days, weekly, monthly etc.
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 below link and use it in your system. Before using code, you must first add RFID tag code and its corresponding name (name of person to whom that RFID card is assigned). You have to edit line number 18 and 19 of 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.
PARTS LIST OF ARDUINO AND RFID BASED ATTENDANCE SYSTEM
|Resistors (all ¼-watt, ± 5% Carbon)|
|R1, R2 = 330 Ω
VR1 = 10 KΩ
|Arduino Uno Board
RTC1 = DS1307
RFID Module = EM-18 RFID Reader Module
LED1 = 5mm RED color LED
LED2 = 5mm GREEN color LED
|BZ1 = Buzzer
SW1 – SW4 = Push-to-on switch