Professional Documents
Culture Documents
Project Report
On
IOT BASED BIOMETRIC ATTENDANCE SYSTEM
USING ARDUINO
Submitted
In partial fulfilment
For the award of the Degree of
BACHELOR OF TECHNOLOGY
In
INFORMATION TECHNOLOGY
1
Candidate’s Declaration
I hereby declare that the work, which is being presented in the Major Project, entitled
“IOT BASED BIOMETRIC ATTENDANCE SYSTEM
USING ARDUINO ” in partial fulfilment for the award of Degree of “Bachelor of
Technology” in Department of Informaiton Technology with Specialization in
Computer Engineering, and submitted to the Department of Computer Science &
Engineering, Arya Institute of Engineering & Technology, is a record of my own
investigations carried under the Guidance of Ritika Sharma , Assistant Professor,
Department of Computer Science & Engineering.
Certificate
3
Acknowledgement
We wish to express our deep sense of gratitude to our Project Guide Er.
Ritika Sharma, Assistant Professor, Department of computer science and
engineering, Arya Institute of Engineering & Technology, Jaipur for guiding
us from the inception till the completion of the project. We sincerely
acknowledge her for giving her valuable guidance, support for literature
survey, critical reviews and comments for our Project.
We would like to first of all express our thanks to Dr. Arvind Agarwal,
Chairman, Arya Group of colleges and Dr. Pooja Agarwal, President, Arya
Group of Colleges for providing us such a great infrastructure and
environment for our overall development.
We express sincere thanks to Our Principal Sir, AIET, for his kind
cooperation and extendible support towards the completion of our project.
Words are inadequate in offering our thanks to Mr. Manish Mukhija sir,
Head, Department of CSE/IT, for consistent encouragement and support for
shaping our project in the presentable form.
We also express our deepest thanks to Mr. Indra Kishor sir, Project
Coordinator, for his support in providing technical requirement and fulfilling
our various other requirements for making our project success.
We also like to express our thanks to all supporting CSE faculty members
who have been a constant source of encouragement for successful completion
of the project.
4
Table Of Contents
Certificate……………….................................................................................................(i)
Candidate’s Declaration……………………….………………………….…………....(ii)
Acknowledgement……………………………….………………..……………………(iii)
Table of content...............................................................................................................(iv)
List of Figures………………………………….…………………………………….....(v)
1.2 Motivation 9
5
5.2 Fingerprint Module R307 20
6
List Of Figures
Fig 1.1 Traditional attendance process
Fig 3.1 Student using fingerprint senstor to mark their attendance
Fig 3.2.1 Flow Chart Of Fingerprint
Fig 3.2.2 Flow Chart Of Fingerprint Matching (Attendance)
Fig 3.3 Flow Chart Diagram of Project
Fig 4.2.2.1 Research Paper -1
Fig 4.2.2.2 Research Paper -2
Fig 4.2.2.3 Research Paper -3
Fig 5.1.1 Arduino UNO
Fig 5.1.2 Digital Pins Arduino Uno
Fig 5.1.3 Analog Pins Arduino UNO
Fig 5.2.1 Fingerprint Module R307
Fig 5.2.2 Circuit Diagram of Fingerprint Module R307
Fig 5.3.1 GSM Module
Fig 5.3.2 GSM Module Circuit Diagram
Fig 5.4.1 RTC Modules DS3231
Fig 7.1 Arduino UNO Fingerprint Process
Fig 7.2 FingerPrint Scan Process
Fig 7.3 Enrollment Process
Fig 9.1.1 Circuit Digarma Of Project
Fig 9.2.1 Integrated Project’s Hardware Components
Fig 9.2.2 Project with Arduino UNO
Fig 9.2.3 Fingerprint Scanning Process
7
Chapter -1
History Of the Project
1.1 Project Background
Student academic attendance is very important since it will affect the students from
gaining knowledge and skills as well as their grades. This project has related about the
student attendance system through the matching of their fingerprint to confirm their
attendance. The main purpose of carrying out this project is to develop a biometric
attendance system using Arduino to obtain the attendance of student by fingerprint and
post/review the attendance results.
As we know, there is one and only one fingerprint occurs in the world for each person
which will never has duplication. So, fingerprint attendance system can be known as the
best authentication to detect the individual student attendance record.
In addition, according to the technology nowadays, it is not unusual anymore to take the
attendance of students through their fingerprint. Nowadays, most universities and colleges
are still using the traditional attendance system which requires student to sign on a piece of
paper every time they attend a class throughout the whole semester or teachers have to
maintain the student’s attendance and students have to mark it verbally by saying yes or
now.
Using the traditional attendance system, we can obviously see that there are few problems
such as it will be no backup for the attendance records once the lecturer accidentally lost
the attendance sheet, course mate help those who did not attend the class sign the
attendance which also known as buddy-signing as well, hard in analyzing and tracking
student performances based on attendance factor, student lack of knowledge and skills due
to the poor attendance in attending classes, and etc.
It is important to overcome these problems since it will help in improving the academic
performance of students as well as the teaching environment of the lecturers. Hence, the
purpose of carrying out this project is to prevent unwanted situation occur and to find out
the problems that causes these problems as well as find the solutions to overcome these
problems.
Thus, through the problems analyzed, the objective of this project is to develop a
fingerprint student attendance system in recording their attendance effectively in every
class in order to prevent student skip classes. Other than that, student will not be able to
ask their buddy to sign for them anymore since the system requires their fingerprint to
prove their attendance in the class. In addition, it will be easier to evaluate and analyze the
student performance based on their attendance since the system will record the attendance
more accurately and efficiently with minimum possible error.
Furthermore, student academic performance will increase as well since they cannot fake
their attendance through the developed system which means they have to attend all the
classes in order to prevent them from get bar. Last but not least, the
It will also send messages to student’s parents so they also have the information about their
wards.
8
As a conclusion, using an electronicbased system is better than using a paper-based system
in order to collect, process, store, and produce the attendance results and perform long-
term analysis.
1.2 Motivation
The motivation to develop this project is to solve some problems that are currently
occurring in every colleges/universities. This project purpose is to improve the current
paper-based traditional attendance management system that is still in use by many colleges
and universities. From the observation, most of the problems found are normally caused by
the use of traditional attendance system in these colleges and universities. Therefore, a
fingerprint-based student attendance management system will be developed in order to
solve these problems.
The system is believed will be needed in order to improve the ways the
colleges/universities in managing their student’s attendance. Since most of the
colleges/universities still using the traditional attendance system, so, a bold assumption is
made which most of the problems faced by these colleges/universities are almost same.
In addition, this project will be able to reduce the workload of every lecturer in key-in the
student’s attendance records to the system at every end of semester since this system will
record all student’s attendance accurately and automatically in every classes attended by
students throughout the whole semester.
Besides that, students have paid the colleges/universities in order to gain knowledge that
helps them in building up their future career. Therefore, every colleges/universities must
provide the responsibilities in ensuring their students will really attend all the classes for
the subjects they had registered.
9
a. No backup for the attendance records once the lecturer accidentally lost the attendance
sheet. Throughout the whole semester, lecturer will only record and evaluate the student
attendance through a piece of attendance sheet. Almost last few weeks before the semester
end, the student attendance will be key-in to the current system by lecturer in order to
generate the bar-list report. But if the lecturer lost the attendance sheet, which mean the
record will be lost as well and lecturer will end up unable to enter the correct attendance
records to the system at the last few weeks of the semester.
b. Course mate help those who did not attend the class sign the attendance which also
known as ‘buddy-signing’. Most of the time, lecturer facing a problem which the
classroom is empty but the attendance list is full. It is because most of the student will only
attend the class for the first few weeks but after then they will request their friends who
always attend the class to help them sign the attendance.
Since lecturer always busy in lecturing and have no time to check their attendance one-by-
one, so students take advantages from this point to help their friends sign.
d. Student lack of knowledge and skills due to the poor attendance in attending classes.
Student who absent from the class will not be able to learn what lecturer had taught in the
classes which may result them to know nothing about the subject and end-up with poor
academic performances. Without the student participation in a class, they may unable to
absorb what lecturer teaches in the class and at the same time, it will affect the passing rate
of that subject as a result.
e. In today’s world crime rate is increasing day by day that is why security of the students
is the biggest concern in schools/universities for their parents.
10
Chapter 2
Objective & Scope
1.1 Project Objective
In developing this system, some project objectives had been specified. The main purpose
of this project is to improve the current existing student attendance system that in use by
most of the colleges/universities by develop a fingerprint-based student attendance
management system. Some objectives of this project had been identified and listed below.
i. To replace the current existing student attendance system process to fully computerized
and automated student attendance system.
ii. To develop a arduino based application that obtains the student fingerprint every time
they attend the classes for attendance marking purpose.
iii. To eliminate the chances for student to ask their buddy sign attendance for them
through the implementation of fingerprint attendance system.
iv. To provide easier method in evaluate and analyze the student performance based on
their attendance since the system will record the attendance more accurately and efficiently
with minimum possible error.
v. To develop a system that will send the notification to the students’ parents only when
student apply fingerprint on system, it will ensure security of students as well as their
physical presence in college and reduce the chances of college/school bunk.
The scope of this project is to develop a Arduino Based Biometric student attendance
system through the fingerprint scanning.
SD card will store these fingerprint for every student identitiy and using SIM card the
notification to every student’s parents will be send based on their attendance when they
entered or existed from schools/universities.
11
Chapter 3
Introduction
3.1 Introduction to Project
The main objective of the project is to automate the process of attendance and make it
possible to check attendance in real time.
All the students will apply their fingerprints in this system, we will compare them with the
stores fingerprints which would be taken previously and if it matches then will increase the
attendance counting by one and attendance will be marked .
It also provides the facility to send messages to the parents of the students about their
arrival and exited timing.
12
3.2 Technical Architecture
13
3.3 Flow Chart Diagram
14
Chapter 4
Feasibility
• Arduino Uno
• Fingerprint Module R307
• Push Button
• LED
• GSM Module
• Power Supply
• Connecting Wires
• 6*2 LCD
• Breadboard
• RTC Modules DS3231
• 1K Resistor
• 2.2K Resistor
• SD Card
• Arduino IDE
• Thinkboard
• SD Card Module
• Adafruit Fingerprint Sensor Library
There are many of previous researches have worked on students attendance system using
various biometric technologies such as fingerprint, face and eyes recognition. From those
here we take few as example to identify the common problem from them.
• Institute of Information & Communication Technology.
15
• Article in Journal of Science and Technology.
4.2.1 Comparison with different Project
Institute of Information & Communication Technology : In this they use a binary code
from set of fingerprint features and then perform a set of matching experiments on the
database to estimate the number of degrees of freedom within fingerprint population.
Article in Journal of Science and Technology : In this project they allows the guardians of
the students to have reports of their students attendance via e-mail. They make this project
to monitor attendance of the class.
16
Fig 4.2.2.2 Research Paper -2
17
Chapter 5
Hardware Components
Following are the major Hardware components we used for different purposes & have
their unique roles.
The aim of Arduino is to introduce the world of electronics to people who have small to no
experience in electronics like hobbyists, designers, artists etc.
Arduino UNO is a basic and inexpensive Arduino board and is the most popular of all the
Arduino boards with a market share of over 50%. Arduino UNO is considered to be the
best prototyping board for beginners in electronics and coding.
18
UNO is based on ATmega328P microcontroller. There are two variants of the Arduino
UNO: one which consists of through – hole microcontroller connection and other with
surface mount type. Through-hole model will be beneficial as we can take the chip out in
case of any problem and swap in with a new one.
UNO has 14 digital input – output (I/O) pins which can be used as either input or output by
connecting them with different external devices and components. Out of these 14 pins, 6
pins are capable of producing PWM signal. All the digital pins operate at 5V and can
output a current of 20mA.
19
Fig 5.1.3 Analog Pins Arduino UNO
By default, all the analog pins can measure from ground to 5V. Arduino UNO has a
feature, where it is possible to change the upper end of the range by using the AREF pin
but the value should be less than 5V.
Additionally, some analog pins have specialized functionality. Pins A4 and A5 are used for
I2C communication.
In this project Arduino UNO plays a very important role to integrate and interface all the
components together.
To add fingerprint verification in this projects we can use this all in one optical fingerprint
sensor-scanner (R307), It makes fingerprint detection and verification super simple.
20
Fig 5.2.1 Fingerprint Module R307
R307 Fingerprint Module consists of optical fingerprint sensor, high-speed DSP processor,
high-performance fingerprint alignment algorithm, high-capacity FLASH chips and other
hardware and software composition, stable performance, simple structure, with fingerprint
entry, image processing, fingerprint matching, search and template storage and other
functions.
The user can store the fingerprint data in the module and configure it in 1:1 or 1:N mode
for identifying the person.
• Default baudrate – 57600 bps
• Total pins – 8
• Serial Communication – 4 pins (VCC,GND,TX-D2,RX-D3)
• USB Communication – 4 pins (VCC,D-,D+,GND)
21
Fig 5.3.1 GSM Module
A GSM/GPRS Module is an IC or chip that connects to the GSM Network using a SIM
(Subscriber Identity Module) and Radio Waves. The common radio frequencies in which a
typical GSM Module operates are 850MHz, 900MHz, 1800MHz and 1900MHz.
The DS3231 RTC module is a time tracking device that gives the current time and date.
The word RTC is meant Real Time Clock. The RTC module made of clock chip DS3231.
This module is generally used in computers, laptops, mobiles, embedded system
applications devices, etc. to provide time and date. RTC module works on the I2C
protocol.
22
The module provides details such as second, minute, hour, day of the week, day of the
month, month, and year including correction for leap year. One more interesting thing It
can operate either in 12 Hour or in 24 Hour format. It’s can be used in projects like
containing data-logging, clock-building, time stamping, timers, and alarms.
DS3231 is a six terminal device, out of them two pins are not compulsory to use. So we
have mainly four pins. These four pins are given out on other side of module sharing the
same name.
23
SCL Serial Clock pin (I2C interface)
24
Chapter 7
Solution Implementation
To Implement the Biometric attendance system model, initially we will take the fingerprint
of all the students using a fingerprint sensor and store it into the sensor itself.
While entering or leaving from the college premises whenever students apply their
fingerprint, these will match the stored fingerprints and identify the students id and keep
track of their attendance with the help of counting the records present in SD card which we
are using to store attendance data.
It also send a message to their parents that “Your ward entered into the college premises”
when student enter into the college and “Your ward exited from the college campus”
when student exit from college premises.
To implement and make this model there are certain steps which are –
1. Taking Fingerprints and Store them – Initially we will take fingerprints of all the
students who enrolled in the college using a fingerprint sensor and stored in the sensor
itself and gives a unique student id (13).
25
Fig 7.2 : FingerPrint Scan Process
2. Match ID and Keep Track – Then whenever any student will enter or exit the college
premises he/she has to enter his/her fingerprint. These will match the stored fingerprints
and identify the student id and keep track of their attendance .
3. Send Text on Specified Contact Number – Also send text to the specified contact number
at the time of arrival as well as exit (15).
26
Chapter 8
Source Code
Following are the few snapshots of coding we performed to programmed different
components’ in project.
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup() {
//Fingerprint sensor module setup
Serial.begin(9600);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
}
else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
void loop() {
displayMainScreen();
fingerprintID = getFingerprintIDez();
delay(50);
if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
IDname = "Sara";
displayUserGreeting(IDname);
}
else if(fingerprintID == 2){
IDname = "Rui";
displayUserGreeting(IDname);
}
27
}
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.print(" with confidence of ");
Serial.println(finger.confidence);
return finger.fingerID;
}
void displayMainScreen(){
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(7,5);
display.println("Waiting fingerprint");
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(52,20);
display.println("...");
display.display();
delay(2000);
}
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); // gsm module connected here
String textForSMS;
int data = 0;
int sensor = A1; // LDR is connected with the analog pin A1 of the Arduino
28
// cell numbers to which you want to send the security alert message
String f1001 = "+923351920959";
String f1002 = "+923108688660";
String f1003 = "+923339218213";
void setup() {
randomSeed(analogRead(0));
Serial.begin(9600);
SIM900.begin(9600); // original 19200. while enter 9600 for sim900A
Serial.println(" logging time completed!");
pinMode(sensor, INPUT);
delay(5000); // wait for 5 seconds
void loop() {
data = analogRead(sensor);
Serial.println(data);
sendsms("child entered collage!!!!!!!!!", f1002); // you can also write any message that you want to send.
Serial.println(textForSMS);
Serial.println("message sent.");
delay(5000);
sendsms("child entered collage!!!!!!!!!", f1003); // you can also write any message that you want to send.
Serial.println(textForSMS);
Serial.println("message sent.");
delay(5000);
}
}
delay(1000);
SIM900.println(message); // message to send
delay(1000);
SIM900.println((char)26); // End AT command with a ^Z, ASCII code 26
delay(1000);
SIM900.println();
delay(100); // give module time to send SMS
// SIM900power(); }
29
Chapter 9.
Snapshots
Following are the few snapshots of this project.
30
Fig 9.2.2 : project with Arduino UNO
31
Chapter 10
Conclusion
10.1 Summary
We have used only a single sensor for taking fingerprints for both time. Added a counter
function to keep track of the total number of students present on a daily basis & used a SD
card to store the data on a daily basis. Using the GSM Module we will send the SMS to
students’s parents that their student is entered or exited from college/schools.
By this project we will automate the whole attendance process and save time that will
avoid the intervention during the lectures and also ensures safety of student and parents
also will be able to know that their ward is present in college or not.
1. We have just created a small system for testing purpose, if we have to implement this
project in real time, we can create it at broad level in future with having capacity to store
data of 1000+ students or more.
2. We can also create a desktop/Mobile/ Web application that will work as a front end to
manage the stored attendance data of students, that can be used by teachers, students and
their parents.
32
Chapter 11
Reference
• https://www.electronicshub.org/arduino-introduction/
• https://components101.com/modules/ds3231-rtc-module-pinout-circuit-datasheet
• https://en.wikipedia.org/wiki/Main_Page
• https://www.sunrom.com/p/finger-print-sensor-r307-new-r305
• https://www.electronicshub.org/gsm-gprs-module/
33