The project posted here is a simple Fingerprint Attendance System using Arduino and can be very useful for any place where attendance is taken for maintaining register like office, school etc. Previously, we had posted RFID based attendance system, Arduino Fingerprint Sensor Lock etc.
The project posted here utilize thumb impression for taking attendance. The Fingerprint Attendance System using Arduino is based on simple algorithm called matching algorithm and compare with previously stored templets of fingerprint against user’s fingerprint for authentication.
Maintaining a register for attendance is normally used for traditional attendance system, but it is much more tedious. In this attendance system, user places a finger on the sensor, the attendance is taken and message is displayed in LCD along with person name.
Circuit description of Fingerprint Attendance System using Arduino
The circuit shown in figure 1 utilize 5V power supply which can be taken out from arduino board. The brain or processing component of the project Fingerprint Attendance System using Arduino is an Arduino board. As we all know, Arduino board is based on a ATmega328/ATmega328P microcontroller. It is equipped with 14 digital Input or output pin multiplexed together, 6 analogue inputs with inbuilt 32k flash memory. It also has 16MHz crystal oscillator, a USB connection power jack, ICSP header and reset button. Arduino uno board can be programmed using Arduino IDE software.
Fingerprint sensor module R305 (connected across CON1) has UART interface with direct connection with Arduino UNO board. The user can store finger print sample in the module and can be configured in 1:1 or 1:N mode for identification for right user. The fingerprint sensor module R305 is power with +5V power supply which is connected to 5V pin of arduino board. Tx and Rx pin of fingerprint sensor module is connected to arduino digital pins 2 and 3 as shown in circuit diagram. This connection is used for serial communication because only one individual pin is used for transmitter and receiver thus parallel communication is not possible.
A 16×2 alphanumeric LCD is used to display message during operation like name, authentication etc. The higher order data pin of LCD (pin 11, 12, 13 and 14) are connected to digital pin 8, 9, 10 and 11 of Arduino uno board. The RS and E pin of LCD is connected to pin 12 and 13 of arduino uno board. RW pin of LCD is grounded because we only perform write operation in LCD. Preset VR1 is used to adjust contrast of LCD. Pin no 15 and 16 of LCD not shown in circuit diagram is used to glow backlight LED.
The circuit Fingerprint Attendance System using Arduino also utilize a RTC (Real Time Clock) module for storing date and time of attendance. In this project we had used DS1307 RTC, it is a serial real-time clock IC with inbuilt various types of functions like calendar, 24-hour and 12-hour time format with AM and PM indication. Two-line SDA and SCL of DS1307 module is connected to analog pin A4 and A5 of arduino uno board as shown in figure 1. The module has inbuilt 3V button cell which help RTC module to run internally for few days (approx. 10 days) even external power supply is not connected.
The four switch SW1 to SW4 connected to four analog pin A0 to A3 of arduino uno board respectively. Switch SW1 and SW2 is multiplexed i.e. various operation is perform by single switch. Table show below explain the operation of switches uses in circuit diagram.
|Table 1: Operation of Switch|
To Enroll new user.
- Power on the circuit.
- Press the Enroll switch (SW1), and follow the message displayed in LCD.
- User input the ID by using UP and Down switch (SW3 and SW3).
- Press the OK switch (SW2)
- A message on LCD screen displayed and ask user to put finger on fingerprint module. And follow the message as shown in LDC i.e. remove finger and again put finger on module.
- System store the fingerprint image in memory i.e. user is registered and can take attendance.
To Delete Existing User
- Press DELETE switch (SW2).
- LCD ask for user ID to delete.
- User ID is selected by sculling UP and DOWN using switch SW3 and SW4.
- If ID is selected press OK switch (SW2).
- Confirmation message is displayed on LCD.
Glowing LED1 is used to indicating either system is ready or not where piezo buzzer is used for sound alert.
Software: Software of Fingerprint Attendance System Arduino is written in Arduino Programming language and is compiled using Arduino IDE. You can directly download software code from the link given below.
PARTS LIST OF FINGERPRINT ATTENDANCE SYSTEM USING ARDUINO
R1 = 1 KΩ, Resistor
VR1 = 10 KΩ, Preset
ARD1 = Arduino UNO Board
RTC Module = DS1307
Fingerprint Sensor Module = R305
LCD1 = 16×2 LCD
SW1 – SW4 = Push-to-on Switch
LED1 = 5mm any color LED
BUZ1 = Piezo Buzzer