Book 02 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 51

CHAPTER ONE

Introduction

1
1.1 Introduction
The Covid-19 pandemic is still engulfing the world with the number of positive cases
continuing to grow to more than 198 million and claiming more than 4.2 million lives
worldwide. This pandemic is caused by a new type of coronavirus with the name
Severe Acute Respiratory Syndrome Corona Virus (SARS-CoV-2). This virus is one
of the main pathogens that attack the human respiratory system. COVID-19 spreads
very quickly, especially in public places because this virus can be transmitted from
human to human through respiratory droplets produced during coughing. Biometrics
is the emerging technology used for automatic identification of a person based on
biological characters such as fingerprint, iris, face recognition and so on. The
fingerprint verification system is commonly used biometric technique.
Human beings have something unique that only belongs to them. This gives the idea
of making the uniqueness of humanity as identity. Fingerprint is different to each of
people, even for the twin. This makes fingerprints be appropriate used for biometrics
technology. Another advantage of fingerprints is its practicality and durability.
Biometric fingerprint is a technology with physical characteristics of fingerprints.
This type of biometrics is popularly used because it has a good performance and
uniqueness. Moreover, fingerprints are permanent in one’s lifetime, quite immune to
aging and biological changes.
However, the fingerprint sensor can only identify the user's fingerprint registered in
the sensor. Therefore, we need a method that makes fingerprint recognition using a
fingerprint sensor to be centralized. With the Arduino, supporting data can be
centralized to identify the user's fingerprint entirely and can perform fingerprint
recognition in different fingerprint sensors.

1.2 Background
Several works exist in automated attendance systems and temperature measurement.
Contactless temperature detection, door control and attendance taken technique using
arduino is proposed.
In an educational system, the teachers call out the name of each and every student and
mark the attendance. This causes wastage of time during lecture time. This becomes

2
more and more important where number of students in a class is very large. Managing
the attendance data is also very difficult such a large group. The other way is that the
teacher must pass the attendance sheet around the class for the students to sign. These
methods have a major drawback because the students tend to answer or sign for their
friends. In educational institutions, attendance and academic success are directly
related. Therefore, to have a proper attendance management system is important. In
developing countries, most of the educational institutions and government
organizations still use paper-based attendance method to keep and save the
attendance. Most employers value work attendance for their ethics.

1.3 Project objectives


 To Reduce pandemic situation in university area.
 To Check Temperature to identify Sick Student
 To take attendance records along with physical fitness.
 Unlock the door by using fingerprint.
 Increase the security level to prevent an unauthorized unlocking of the door.
 Lock the door Automatically.
 To give user more secure yet cost-efficient way of door locking-unlocking
system.
 To avoid unauthorized entry.

1.4 Methodology
Creating an idea for design and construction of Temperature measurement, door control
and attendance system with the consideration of covid-19 and designing a block diagram
& circuit diagram to know which components need to construct it.
Collecting the all components and programming for the microcontroller to controlled the
system. Setting all components in a circuit board & soldering. Then assembling the all
block in a board and finally run the system & checking.
 After the detail literature survey through the books, periodical, journal,
magazine, websites. The idea of the project is well defined.
 The logic is derived for the intelligence of the attendance system. It is
programmed and burn it to the Arduino by using the software Arduino IDE.

3
 The accuracy and viability of the program and electronic components is tested
in the simulation software Proteus.
 After the successful simulation result it is implemented in the hardware.
 After the finishing the programming, electrical and electronics part, the stable,
reliable and flexible mechanical design and fabrication is completed.
 Finally system is tested and encountered error is omitted.

4
CHAPTER TWO

Theoretical Background

5
Theoretical Background
2.1 Introduction
In this chapter we explores our hardware component used in this project. To make a
proper attendance system we need a fingerprint sensor to detect fingerprint and there
also need a microcontroller to analyze student information to store it to SD card.

Fig 2.1: Block Diagram of the Project

A system was developed that can prevent contamination of covet-19 while someone
taking attendance. Our system has contactless temperature sensor which is able to
measure temperature without any touch by thus this system ensure more safety. Based
on those circumstances our system manages a smart attendance system. For example
if any student attend in institute then he/she needs to measure temperature and if his
temperature is normal then the system allow him to take attendance otherwise
fingerprint sensor will not activate and he/she is not able to attend

6
Fig 2.2: Circuit Diagram

2.2 Hardware Required


To fulfill our project we use
 Arduino Mega
 Fingerprint Sensor
 IR Temperature Sensor
 RTC Module
 SD card Module
 LCD Display
 Obstacle Sensor
 Keypad
 Buck Converter
 12V Adapter

7
2.3 Processing System
This part is Brain of this project. The Arduino Mega is a microcontroller board based
on the ATmega2560. Arduino is an open-source, prototyping platform and its
simplicity makes it ideal for any types of project to use as well as professionals and
Students. Arduino MEGA has great advantage that it has built-in chip which work as a
USB-to-serial converter. In this project we use Arduino-Mega which is consist of
ATmega2560 Microcontroller with 16MHz crystal. It works upon the data signal
which gets from SIM800L gsm module. The CPU decides what to do at which
condition. In this project we use Pin No. 2,3,4 and 5to get output which is connected
to relay module. If Arduino-MEGA get signal via Pin 10 (Rx) it analyze the signal
and give output signal through the output pin.

Features of the Arduino MEGA:


 Microcontroller: ATmega2560
 Operating Voltage: 5V
 Input Voltage (limits): 6-20V
 Digital I/O Pins: 54 (of which 14 provide PWM output)
 Analog Input Pins: 16
 Flash Memory: 256 KB
 SRAM: 2 KB (ATmega2560)
 EEPROM: 4 KB (ATmega2560)
 Clock Speed: 16 MHz

2.4.1 Arduino IDE Platform


Arduino is an open source electronics prototyping platform based on flexible
hardware and software. The Arduino is a simple yet sophisticated device which is
based on Atmel’s ATmega microcontrollers. The Arduino software is supported by
Windows and Linux operating systems despite the fact that most microcontrollers are
limited to Windows operating system. The software language is based on AVR C
programming language and can be expanded through C++ libraries. There are various
types of Arduino micro controller board available in the market including the Arduino
kits and Arduino shields.

8
2.4.2 Arduino Mega Board
Arduino Mega is one of the microcontroller boards manufactured by the Arduino and
it is a microcontroller board based on Atmel’s ATmega2560 microcontroller. Mega
board is the latest in a series of USB (Universal Serial Bus) Arduino boards which is
the reference model for the Arduino platform. The Arduino Mega board has a 16
MHz ceramic resonator, a USB connection, a power jack, an ICSP header, a reset
button, 16 analog inputs and 54 digital input/output pins (of which 15 can be used as
PWM outputs). It uses the Atmega16U2 programmed as a USB – to-serial converter
instead of FTDI USB – to–serial driverchip which was used in all the pre-ceding
boards. The board has 256 KB flash memory of which 0.5 KB is used by boot-loader,
8 KB of SRAM, 4 KB of EEPROM and 16 MHz clock speed.

Fig 2.4.2: Arduino Mega


Reprinted from the Arduino Board Mega Figure 1 shows the Arduino-Mega Board
manufactured by the Arduino in Italy. It can be powered via a USB connection or
with an external power supply. As can be seen in figure 1, pins A0 to A5 are the
analog input pins, pins 0 to 13 are 14 digital input/outputpins and the pins with a “~”
sign can be used asdigital pins PWM o can be used as input or output pins by
selecting the mode by using the function Pin-Mode() and then using the function
digitalRead() or digitalWrite() according to the ne-cessity. Pins 0(RX) and 1(TX) are
used for serial communication while pins 10(SS), 11(MOSI), 12(MISO) and 13(SCK)
are used for SPI(Serial Peripheral Interface) communication. In addition to pin 0 and
1, a SoftwareSerial library allows serial communication on any of the Mega’s digital
pin.

9
2.4.3 ATmega2560Microcontroller
The microcontroller is a low-power CMOS (Complementary Metal Oxide
Semiconductor) 8-bit microcontroller based on the AVR enhanced RISC (Reduced
Instruction Set Computer) architecture. The powerful execution of instructions in a
single clock cycle leads to the achievement of 1 MIPS per MHz throughputs allowing
the designer to optimize power consumption versus processing speed.

Fig 2.4.3: ATmega2560 Microcontroller

Reprinted from Datasheet of ATmega2560 the internal architecture of the


microcontroller is shown in Fig 2.3.3 (02). The central processing unit (CPU) is the
brain of the microcontroller which controls the execution of the program. The MCU
(Microcontroller unit) consists of 4K/8K bytes of in-system programmable flash with
read-while-write capabilities, 256/412/1K bytes EEPROM along with the 512/1K/2K
bytes of SRAM. Along with this, the MCU consists of many other features
 54 general purpose I/O lines
 flexible timer/counters with compare modes, internal and external interrupts
and a serial programmable USART
 A byte-oriented 2-wire serial interface, an SPI serial port,a 15-channel 10-bit
ADC (8 channels in TQFP and QFN/MLF packages), a programmable watch-
dog timer with an internal oscillator and 5 software-selectable power saving
modes.
The five, software selectable, power saving modes are idle mode, Power-down mode,
Power-save mode, ADC Noise Reduction mode and theStandby mode. As mentioned

10
in section 2.1.2, the CPU is the brain of the microcontroller which controls the
execution of the program. Therefore the CPU is able to access the memories, perform
calculations, control peripherals and handle interrupts. The AVR uses the Harvard
architecture with separate memories and buses for program and data to maximize the
performance as well as the parallelism. The principle of execution of instructions in
the program memory is the single-level pipelining. The concept of pre-fetching the
next instruction while executing one instruction enables the instructions to be
executed in every clock cycle and the program memory is in the System
Reprogrammable Flash memory.
Reprinted from Datasheet of ATmega2560,The block diagram of AVR CPU Core
architecture is shown in figure 3. The fast-access Register File contains 32 x 8 bit
general-purpose working registers with a single cycle access time which results in a
single-cycle ALU operation. The arithmetic and logical operations between the
registers or between the constant and a register are supported by the ALU. The status
register is updated to reflect information about the result of the operation after an
arithmetic operation. The boot program section and the application program section
are the two main sections of the program flash memory. Stack stores the return
address of the program counter during the interrupts and subroutine calls which is
allocated in the general data SRAM. The size of the stack is limited by the total size
and usage of the SRAM. The data SRAM is accessible through five different
addressing modes supported in the AVR architecture while the stack pointer is
read/write accessible in the I/O space. The memory spaces in the AVR architecture
are all linear and regular memory maps

2.4 Fingerprint Sensor


R305 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 way an optical scanner works is by shining a bright light over fingerprint and
taking a digital photo. The light-sensitive microchip makes the digital image by

11
looking at the ridges and valleys of the fingerprint, turning them into 1's and 0's, and
creates the user's own personal code

Fig 2.5: Fingerprint Sensor

Features
 Perfect function: independent fingerprint collection, fingerprint registration,
fingerprint comparison (1: 1) and fingerprint search (1: N) function.
 Small size: small size, no external DSP chip algorithm, has been integrated,
easy to install, less fault.
 Ultra-low power consumption: low power consumption of the product as a
whole, suitable for low-power requirements of the occasion.
 Anti-static ability: a strong anti-static ability, anti-static index reached 15KV
above.
 Application development is simple: developers can provide control
instructions, self-fingerprint application product development, without the
need for professional knowledge of fingerprinting.
 Adjustable security level: suitable for different applications, security levels
can be set by the user to adjust.
 Finger touch sensing signal output, low effective, sensing circuit standby
current is very low, less than 5uA.
 Interface Description
 The R305 fingerprint module has two interface TTL UART and USB2.0,
USB2.0 interface can be connected to the computer; RS232 interface is a TTL

12
level, the default baud rate is 57600 , can be changed, refer to a
communication protocol ; can And microcontroller, such as ARM, DSP and
other serial devices with a connection, 3.3V 5V microcontroller can be
connected directly. Needs to connect the computer level conversion, level
conversion note , embodiments such as a MAX232 circuit.

Technical Parameters
 Supply voltage: DC 4.2 ~ 6.0V
 Supply current: Working current: 50mA (typical) Peak current: 80mA
 Fingerprint image input time: <0.3 seconds
 Window area: 14x18 mm
 Matching method: Comparison method (1: 1)
 Search method (1: N)
 Characteristic file: 256 bytes
 Template file: 512 bytes
 Storage capacity: 1000 pieces
 Security Level: Five (from low to high: 1,2,3,4,5)
 Fake rate (FAR): <0.001%
 Refusal rate (FRR): <1.0%
 Search time: <1.0 seconds (1: 1000 hours, mean value)
 Host interface: UART \ USB1.1
 Communication baud rate (UART): (9600xN) bps Where N = 1 ~ 12 (default
N = 6, ie 57600bps)
 Working environment: Temperature: -20 - +40 Relative humidity: 40%
RH-85% RH (no condensation)
 Storage environment: Temperature: -40 - +85 Relative humidity: <85%
H (no condensation)

13
2.5 IR Temperature Sensor
The MLX90614 is a Contactless Infrared (IR) Digital Temperature Sensor that can be
used to measure the temperature of a particular object ranging from -70° C to
382.2°C. The sensor uses IR rays to measure the temperature of the object without
any physical contact and communicates to the microcontroller using the I2C protocol.

Fig 2.6.1: IR Temperature Sensor

Features and Benefits:


 Small size, low cost
 Mounted on a breakout board with two types of pins
 10k Pull up resistors for the I2C interface with optional solder jumpers
 Easy to integrate
 Factory calibrated in wide temperature range:
 -40…+125°C for sensor temperature and
 -70…+380°C for object temperature.
 High accuracy of 0.5°C over wide temperature range (0…+50°C for both Ta
and To) High (medical) accuracy calibration
 Measurement resolution of 0.02°C
 Single and dual zone versions
 SMBus compatible digital interface
 Customizable PWM output for continuous reading
 Simple adaptation for 8…16V applications

14
 Sleep mode for reduced power consumption
 Different package options for applications and measurements versatility
 Automotive grade

Applications Examples:
 High precision non-contact temperature measurements
 Thermal Comfort sensor for Mobile Air Conditioning control system
 Temperature sensing element for residential, commercial and industrial
building air conditioning Windshield defogging
 Automotive blind angle detection
 Industrial temperature control of moving parts
 Temperature control in printers and copiers
 Home appliances with temperature control
 Healthcare
 Livestock monitoring
 Movement detection
 Multiple zone temperature control – up to 127sensors can be read via common
2 wires
 Thermal relay / alert
 Body temperature measurement

15
2.6 IR Obstacle Sensor
Infrared technology addresses a wide variety of wireless applications. The main areas
are sensing and remote controls. In the electromagnetic spectrum, the infrared portion
is divided into three regions: near infrared region, mid infrared region and far infrared
region.

Fig 2.7: Optical Sensor

The wavelengths of these regions and their applications are shown below.
 Near infrared region — 700 nm to 1400 nm — IR sensors, fiber optic
 Mid infrared region — 1400 nm to 3000 nm — Heat sensing
 Far infrared region — 3000 nm to 1 mm — Thermal imaging
The frequency range of infrared is higher than microwave and lesser than visible light.
For optical sensing and optical communication, photo optics technologies are used in
the near infrared region as the light is less complex than RF when implemented as a
source of signal. Optical wireless communication is done with IR data transmission
for short range applications.
An infrared sensor emits and/or detects infrared radiation to sense its surroundings.
The working of any Infrared sensor is governed by three laws: Planck’s Radiation
law, Stephen – Boltzmann law and Wien’s Displacement law.
Planck’s law states that “every object emits radiation at a temperature not equal
to 00K”. Stephen – Boltzmann law states that “at all wavelengths, the total energy
emitted by a black body is proportional to the fourth power of the absolute
temperature”. According to Wien’s Displacement law, “the radiation curve of a black
body for different temperatures will reach its peak at a wavelength inversely
proportional to the temperature”.

16
The basic concept of an Infrared Sensor which is used as Obstacle detector is to
transmit an infrared signal, this infrared signal bounces from the surface of an object
and the signal is received at the infrared receiver.
There are five basic elements used in a typical infrared detection system: an infrared
source, a transmission medium, optical component, infrared detectors or receivers and
signal processing. Infrared lasers and Infrared LED’s of specific wavelength can be
used as infrared sources. The three main types of media used for infrared transmission
are vacuum, atmosphere and optical fibers. Optical components are used to focus the
infrared radiation or to limit the spectral response.
Optical lenses made of Quartz, Germanium and Silicon are used to focus the infrared
radiation. Infrared receivers can be photodiodes, phototransistors etc. some important
specifications of infrared receivers are photosensitivity, detectivity and noise
equivalent power. Signal processing is done by amplifiers as the output of infrared
detector is very small.

17
2.7 SD Card Module
The SD card module is especially useful for projects that require data logging. The
Arduino can create a file in an SD card to write and save data using the SD library.
There are different models from different suppliers, but they all work in a similar way,
using the SPI communication protocol. The module used in this project is the one
shown in figure below (front and back view).

Fig 2.8.1 SD Card Module

Pin wiring
The table below shows how you should wire the SD card module to your Arduino

SD card
Wiring to Arduino Uno Wiring to Arduino Mega
module

3.3V or 5V (check module’s 3.3V or 5V (check


VCC
datasheet) module’s datasheet)

CS 4 53

MOSI 11 51

CLK 13 52

MISO 12 50

GND GND GND

Table 2.1: SD card and microcontroller connection

18
Note: different Arduino boards have different SPI pins. If you’re using another
Arduino board, check the Arduino official documentation.
Preparing the SD card
The first step when using the SD card module with Arduino is formatting the SD card
as FAT16 or FAT32. Follow the instructions below.
1) To format the SD card, insert it in your computer. Go to My Computer and right
click on the SD card. Select Format as shown in figure below.

A new window pops up. Select FAT32, press Start to initialize the formatting
process and follow the onscreen instructions.

Testing the SD card module


Insert the formatted SD card in the SD card module.

Connect the SD card module to the Arduino as shown in the circuit schematics below
or check Pin Wiring in previous section.

Note: depending on the module of using, the pins may be in a different order.
Upload the code to your Arduino board. Make sure you have the right board and
COM port selected.

Open the Serial Monitor at a baud rate of 9600 and you should see your SD card
information. If everything is working properly you’ll see a similar message on the
serial monitor.

Read and write in the SD card


The SD library provides useful functions for easily write in and read from the SD
card.
To write and read from the SD card, first you need to include
the SPI and SD libraries:
#include <SPI.h>
#include <SD.h>

19
You also have to initialize the SD card module at the Chip Select (CS) pin – in our
case, pin 4.

SD.begin(4);
To open a new file in the SD card, you need to create a file object that refers to your
data file. For example:
dataFile = SD.open("data.txt", FILE_WRITE);
The first parameter of this function is the name of the file, data.txt, and
the FILE_WRITE ;argument enables you to read and write into the file.
This line of code creates a file called data.txt on your SD card. If the data.txt file
already exists, Arduino will open the file instead of creating another one.
To write data to the currently open file, you use:

dataFile.write(data);
In which the dataFile is the file object created previously and the data is what you
want to write in the file.
You can also use the print() or println() functions to print data into the file:
dataFile.print(data);
dataFile.println(data); // followed by a new line

To read the data saved on file:


dataFile.read();

we can only write within a file at once, so you need to close a file before proceeding
to the next one. To close the data.txt file we’ve just created:
SD.close("data.txt");
The argument of this function is the file you want to close, in this case data.txt.
For a complete sketch on how to read and write, in your Arduino IDE go
to File> Examples > SD > ReadWrite.

20
Fig 2.8.6 : SD card read write using Arduino IDE

21
2.8 Real Time Clock module
As we can see in the picture above, the module has a backup battery installed. This
allows the module to retain the time, even when it’s not being powered up by the
Arduino. This way, every time you turn on and off your module, the time doesn’t
reset.

The real time clock module is the one in the figure below (front and back view).

Fig 2.9 : Real Time Clock (RTC)


This module uses I2C communication. This means that it communicates with the
Arduino using just 2 pins.Pin Wiring

Pin Wiring to Arduino Uno

SCL A5

SDA A4

VCC 5V

GND GND

Table 2.9 : Real Time Clock (RTC) and Arduino Connection

22
If you’re using other Arduino board rather than the uno, chek out what are their SCL
and SDA pins.
 Nano: SDA (A4); SCL(A5)
 MEGA: SDA (20); SCL(21)
 Leonardo: SDA (20); SCL(21)
2.9 GSM Module
A number of signal detecting devices are available in the market. These devices
include:
 Ethernet Module
 WIFI Module
 Bluetooth Module
 SIM / GSM Module
All of the devices have their own advantages and disadvantages but we will be
targeting that particular device which best suits our requirement. There are certain
features that should be considered when choosing the GSM module for use. The
features are

 Long Distance Coverage


 Function description
 Supply voltage: 3.5V - 4.2V
 Power consumption: sleep mode < 2.0mA, idle mode < 7.0mA
 GSM transmission (avg): 350 mA
 GSM transmission (peek): 2000mA
 Module size: 25 x 23cm
 SIM card socket: microSIM
 Antenna connector: IPX
 Status signaling: LED
 Working temperature range: -40 do + 85 ° C
 Has high-performance
 Low Cost
This GSM module can easily achieve data. Its operating frequency is among the
900/1800/1900 MHz frequency band. In SIM800L signal transmit time of different

23
devices stands at a 0.5 seconds interval so that the work load of SIM chip can be
reduced substantially and more sleeping time can be saved for GSM module. This
module is set with serial interface, which is easy to use and simplifies the overall
design.

Fig 2.7: SIM800L GSM Module

Fig 2.8: Schematic Diagram of SIM800L GSM Module

GSM (Global System for Mobile communication) is a digital mobile telephony


system that is widely used in Europe and other parts of the world. GSM uses a
variation of time division multiple access (TDMA) and is the most widely used of the
three digital wireless telephony technologies (TDMA, GSM, and CDMA). GSM
digitizes and compresses data, then sends it down a channel with two other streams of

24
user data, each in its own time slot. It operates at either the 900 MHz or 1800 MHz
frequency band.

GSM/GPRS module is used to establish communication between a computer and a


GSM-GPRS system. Global System for Mobile communication (GSM) is an
architecture used for mobile communication in most of the countries. Global Packet
Radio Service (GPRS) is an extension of GSM that enables higher data transmission
rate. GSM/GPRS module consists of a GSM/GPRS modem assembled together with
power supply circuit and communication interfaces (like RS-232, USB, etc) for
computer. GSM/GPRS MODEM is a class of wireless MODEM devices that are
designed for communication of a computer with the GSM and GPRS network. It
requires a SIM (Subscriber Identity Module) card just like mobile phones to activate
communication with the network. Also they have IMEI (International Mobile
Equipment Identity) number similar to mobile phones for their identification. A
GSM/GPRS MODEM can perform the following operations:
1. Receive, send or delete SMS messages in a SIM.
2. Read, add, search phonebook entries of the SIM.
3. Make, Receive, or reject a voice call.

25
2.10 LCD Display
A liquid-crystal display (LCD) is a flat-panel display or other electronically
modulated optical device that uses the light-modulating properties of liquid crystals
combined with polarizers. Liquid crystals do not emit light directly, instead using a
backlight or reflector to produce images in color or monochrome. LCDs are available
to display arbitrary images (as in a general-purpose computer display) or fixed images
with low information content, which can be displayed or hidden, such as preset words,
digits, and seven-segment displays, as in a digital clock.

Fig 2.10 LCD Display


They use the same basic technology, except that arbitrary images are made from a
matrix of small pixels, while other displays have larger elements. LCDs can either be
normally on (positive) or off (negative), depending on the polarizer arrangement. For
example, a character positive LCD with a backlight will have black lettering on a
background that is the color of the backlight, and a character negative LCD will have
a black background with the letters being of the same color as the backlight. Optical
filters are added to white on blue LCDs to give them their characteristic appearance.

26
2.11 Buck Converter
A buck converter (step-down converter) is a DC-to-DC power converter, which steps
down voltage from its input to its output. The basic operation of the buck converter
has the current in an inductor controlled by two switches. In the idealised converter,
all the components are considered to be perfect. Specifically, the switch and the diode
have zero voltage drop when on and zero current flow when off, and the inductor has
zero series resistance. Further, it is assumed that the input and output voltages do not
change over the course of a cycle

Fig 2.11: DC-DC Buck Converter

27
CHAPTER THREE

System Working Principle and


Development

28
System Working Principle and Development
3.1 Introduction
This chapter explains the methods used to implement this project. The first one
introduces proper introduction and second one is to identify and understand the flow
of operation system and hardware. The project development consists of two stages.
The first stage is assembling the project. Meanwhile at the second stage is
troubleshooting and taken the data of each part of the project to make a perfect.

3.1.1 Complete prototype of project.

Figure 3.1: Complete Prototype of Our Project

29
The Communication System basically input of CPU that will be analyze by the
controller to control the fingerprint scanner and door. The controller is set to
decide when the output will be produced for operate door.
As the system requires the use of microcontroller, the design consists of two
parts, hardware and software. Hardware is constructed and integrated module
by Arduino module, IR sensor module, Temperature module, GSM module and
software for easy troubleshooting and testing.
3.2 Basic Operations

At first temperature sensor get temperature from students. Then microcontroller


analyze temperature. If temperature is High then send a message to a particular
number about temperature using GSM system. If temperature is normal then
microcontroller check the students information using fingerprint. If match students
information then microcontroller save attendance data (Name, ID, attendant time, date
and temperature) to micro SD card. If temperature is high microcontroller save
temperature and time to SD card but not take his fingerprint to reduce Covid-19
pandemic.

3.3 Developed Idea


The key feature of MLX90614 is that it is a contactless IR temperature sensor with
high accuracy. So it can be used in industries to measure the temperature of moving
objects like a rotating motor shaft. Due to its high accuracy and precision, it is also
used in a wide range of commercial, health care, and household applications like
room temperature monitoring, body temperature measurement, etc.

Fig 2.6.2: Microcontroller and temperature sensor connection


30
Connect Real Time Clock module to your Arduino as in the schematics below.

Fig 2.9.1: Real Time Clock (RTC) and Arduino Connection

Fig 2.8.4: SD Card Module and Arduino Connection

31
The MODEM needs AT commands, for interacting with processor or controller,
which are communicated through serial communication. These commands are sent by
the controller/processor. The MODEM sends back a result after it receives a
command. Different AT commands supported by the MODEM can be sent by the
processor/controller/computer to interact with the GSM and GPRS cellular network.

Fig 2.9: Circuit Diagram for Arduino and GSM module Connection.

32
CHAPTER FOUR

Programming and Proteus


Simulation

33
Programming and Proteus Simulation
4.1 Software Configuration
To program arduino mega at first we to install some library whishes are important to
complete the project. List of required library is given below;
 Adafruit Fingerprint Library
 I2C Lcd Library
 I2C Temperature sensor Library
 I2C RTC DS1307 Library
 SD card Library
The Arduino integrated development environment (IDE) could be a cross-platform
application written in Java, and derives from the IDE for the process programing
language and also the Wiring projects. It’s designed to introduce programming to
artists and different newcomers unfamiliar with code development. It includes a code
editor with options like syntax highlighting, brace matching, and automatic
indentation, and is additionally capable of compilation and uploading programs to the
board with one click.

A program or code written for Arduino is named a "sketch".


Arduino programs are written in C or C++. The Arduino IDE comes with a code
library referred to as "Wiring" from the first Wiring project that makes several
common input/output operations a lot of easier. The users would like solely to outline
2 functions to create a possible cyclic government program:
setup (): a function run once at the beginning of a program that may initialize settings
loop (): a function referred to as repeatedly till the board powers off+ programming
languages. To conFig software we have to use ARDUINO IDE named arduino.exe
Programming software of this line follower is known as ARDUINO-IDE .This is
open source programming platform. The open-source ARDUINO environment makes
it easy to write code and upload it to the input/output board. Here we use ARDUINO-
1.8.1 platform. To configure software we have to use ARDUINO IDE named
arduino.exe To configure this programmer with computer we need a USB cable then
check serial port and select the programmer from IDE platform.

34
Fig 3.5.1: Programming platform for ARDUINO

To configure this programmer with computer we need a USB cable then check serial
port and select the programmer from IDE platform such as,

Fig 3.5.2: IDE configuration for ARDUINO MEGA Programmer


Programming Code

#include <SPI.h>
#include <SD.h>

35
#include <Wire.h>
#include <RTC.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_MLX90614.h>
File myFile;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
static DS1307 RTC;
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and
2 line display
#include<SoftwareSerial.h>
SoftwareSerial mySerial(10,11);
uint8_t id;
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

#define enroll A0
#define del A1
#define up A2
#define down A3
#define checktemp A4
#define Monitor A5
#define obs 9
#define buzzer 6
#define ledRed 7
#define led2 8
#define records 25
int flag;
String Name1=" Name1 ";
String Id1="1111";
String Name2=" Name2 ";
String Id2="2222";
String Name3="Name3";
String Id3="3333";
String Name4=" Name 4";

36
String Id4="4444";
String Name5=" Name 5";
String Id5="5555";
String Name6=" Name 6";
String Id6="6666";
String Name7="GGGG";
String Id7="7777";
String Name8="HHHH";
String Id8="8888";
String Name9="IIII";
String Id9="9999";
String Name10="JJJ";
String Id10="1010";

int LowTemp=86;
int HighTemp=100;
void setup()
{
lcd.init();
lcd.backlight();
delay(1000);
pinMode(enroll, INPUT_PULLUP);
pinMode(up, INPUT_PULLUP);
pinMode(down, INPUT_PULLUP);
pinMode(del, INPUT_PULLUP);
pinMode(checktemp, INPUT_PULLUP);
pinMode(Monitor, INPUT_PULLUP);
pinMode(obs, INPUT_PULLUP);
pinMode(buzzer, OUTPUT);
pinMode(ledRed, OUTPUT);
pinMode(led2, OUTPUT);
digitalWrite(buzzer, LOW);
Serial.begin(9600);
RTC.begin();
37
mlx.begin();
finger.begin(57600);
Serial.println("9600");
Serial.println("CLEARDATA");
Serial.println("LABEL,Time,Temp,ID,ID");
Serial.print("Initializing SD card...");
}

void loop()
{
myFile.print(mlx.readObjectTempF());
myFile.print(",");
myFile.print(" ");
lcd.print("*F");
lcd.setCursor(0,1);
lcd.print("Ambient = ");
lcd.print(mlx.readAmbientTempF());

delay(3000);
for(int i=0;i<3;i++)
{
lcd.clear();
lcd.setCursor(4,0);
lcd.print("WELCOME");
lcd.setCursor(0,1);
lcd.print("Place Finger");
delay(2000);
int result=getFingerprintIDez();
if(result>=0)
{
flag=0;
for(int i=0;i<records;i++)
{
38
if(result == EEPROM.read(i+10))
{
lcd.clear();
lcd.print(" WELCOME");
lcd.setCursor(0,1);
lcd.print("Please Wait....");
delay(1000);
delay(2000);
if (EEPROM.read(i+10)==1)
{
Serial.print("DATA,TIME,");
//Serial.print(milli_time);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id1);
Serial.print(Id1);
Serial.println(Name1);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name1);
myFile.print("ID: ");
myFile.print(Id1);
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name1);
myFile.close();
delay(2000);}
if (EEPROM.read(i+10)==2)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
39
lcd.print(Id2);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name2);
myFile.print("ID: ");
myFile.print(Id2);
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name2);
myFile.close();
delay(2000);}
if (EEPROM.read(i+10)==3)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");

lcd.print(Id3);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name3);
myFile.print("ID: ");
myFile.print(Id3);
myFile.print(",");

myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name3);
myFile.close();
delay(2000);}
if (EEPROM.read(i+10)==4)
{
lcd.clear();
40
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id4);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name4);
myFile.print("ID: ");
myFile.print(Id4);

myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name4);
myFile.close();
delay(2000);}
if (EEPROM.read(i+10)==5)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id5);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name5);

myFile.print("ID: ");
myFile.print(Id5);
myFile.print(",");
myFile.print(" ");

myFile.print("Name: ");
myFile.println(Name5);
myFile.close();
delay(2000);}
41
if (EEPROM.read(i+10)==6)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id6);
lcd.setCursor(0,1);

lcd.print("Name: ");
lcd.print(Name6);
myFile.print("ID: ");
myFile.print(Id6);
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name6);
myFile.close();
delay(2000);}
if (EEPROM.read(i+10)==7)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id7);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name7);
myFile.print("ID: ");
myFile.print(Id7);
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name7);
myFile.close();
42
delay(2000);}

if (EEPROM.read(i+10)==8)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id8);
lcd.setCursor(0,1);

lcd.print("Name: ");
lcd.print(Name8);
myFile.print("ID: ");
myFile.print(Id8);
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name8);
myFile.close();

delay(2000);}
if (EEPROM.read(i+10)==9)

{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ID: ");
lcd.print(Id9);
lcd.setCursor(0,1);
lcd.print("Name: ");
lcd.print(Name9);
myFile.print("ID: ");
myFile.print(Id9);

43
myFile.print(",");
myFile.print(" ");
myFile.print("Name: ");
myFile.println(Name9);
myFile.close();
delay(2000);}

After complete configuration IDE is ready for programming. At finally upload main
program to new ATMEGA2560 using IDE

Fig 3.5.3: Uploading the program


When microcontroller will programmed properly a confirmation message will be
show, which looks like,

Fig 3.5.4: Message for upload complete

After install library it needs to program the microcontroller by using a usb cable
simply connecting it to computer. After successfully program the project is ready to
run.

44
4.2 Proteus Circuit
Generally for ARDUINO Proteus simulation is not necessary, but sometimes it
needs to simulate to check error of PID logic. To simulate there are some
problem, such as ARDUINO has no “HEX” file but it has “INO” when
ARDUINO is simulate using Proteus then There must be app are some
technique to find “HEX” file for microcontroller. at first from start menu of
computer search “%temp%” then a lot of temporary file will found but when
we search specifically “HEX” on specific date then it is possible to find
targeted hex file.

Figure 4.2: Proteus Circuit Diagram of Proteus

4.3 Summarization
In this chapter all hardware and software configuration and implementation and
simulation are explained properly. ARDUINO is an open source platform so clear
concept is necessary to work with ARDUINO. Burn boot loader or change Pin
configuration of microcontroller is a new technique and to work and implementation
of any project is much easier than before. After study, this chapter concept will be
clear about ARDUINO.
45
CHAPTER FIVE

CONCLUSION

46
CONCLUSION
5.1 Introduction
Here after getting the result, the result were observed very carefully. There are many
steps to complete this project and there also have so many errors. All necessary steps
were taken to solve the error and make an Attendant system.

5.2 Result
The Attendance system using arduino mega has been made successfully.
 Temperature sensors, measured temperature properly.
 Fingerprint sensor took fingerprint along with identification.
 SD card store data with student NAME, ID, TIME and DATE.
 Door open and close automatically.
 GSM module sent sms while high temperature detected.
 Pushbutton configured successfully to add or to remove finger accordingly.

5.3 Advantage
 It is helpful to reduce Covid-19 pandemic.
 It Measure users temperature.
 Take attendance from finger print.
 Save attendance data with accurate time and date.

5.4 Application
 School
 College
 University
 Office
 Industry
 Garments

47
5.5 Costing
Costing is always a vital issue to make any project. Price of electronics is not stable
for a developing country like Bangladesh, because Bangladesh never produces
electronics parts but import from other developed country and during import price
depends upon the stock of foreign currency. Average price of parts used in this project
is given bellow,

Sl. No. Name Quantity Price Per Unit Price (BDT)

1 Arduino mega 1 1400 1400


2 IR Temperature sensor 1 3200 3200
3 Fingerprint Sensor 1 2500 2500
4 RTC Module 1 200 200
5 SD Module 1 250 250
6 Buck Converter 1 120 120
7 Obstacle Sensor 1 100 100
8 I2C LCD Display 1 650 650
9 GSM Module 1 700 700
10 DC Jack 1 20 20
11 Servo Motor 1 180 180
12 Jumper Wire 30 2 2
13 Glue Stick 1 20 20
14 Push Button 6 20 20
15 Vero board 1 20 20
16 Male Connector 1 15 15
17 Female Connector 1 20 20
18 Screw 10 2 2
19 PVC Board 1 450 450
20 Adapter 1 250 250
Total Cost = 10119.00

Table 4.1: The current market price for the component used in this project

48
5.0.1 Conclusion
Now a days, Information systems and Communication Technologies (ICT) are getting
more and more competitive. Biometric technology is also an effective tool to identify
and detect fraudulent issues. A fingerprint-based attendance system is presented in
this paper. This system will enhance the ability to detect the temperature and presence
of the students in class or employees in an organization. In terms of efficiency and
performance, fingerprint-based attendance system is used in many places. This system
is user-friendly and reliable because this system displays name, the ID numbers, date
and time on excel sheet. This SD card also saved attendance time, date and
temperature. Otherwise, this attendance system can be implemented to check which
person reached the work in time or on time or late time. So, this developed system is
very also useful in saving valuable time of students and lectures, paper, generating
report at required time.

5.0.2 Future Work


The system can be develop by adding camera so that it can take images. IoT also can
be implement to transfer student attendance to server. Server computer also can be
add to save data to computer.

49
REFERENCES
[1] E. Zhu, J. Yin, and G. Zhang, “Automatic Fingerprint Identification Technology,”
National Defense University Press, 39(8), pp. 1452- 1472, 2006.
[2] N. Galy, B. Charlot, and B. Courtois, “A Full Fingerprint Verification System for a
Single-Line Sweep Sensor,” IEEE Sensors Journal, 7(7), pp. 1054, 2007.
[3] A.K. Jain, J. Feng, and K. Nandakumar, “Fingerprint Matching,” Computer, 43(2),
pp. 36-44, 2010.
[4] M. Margolis. Arduino Cookbook. O'Reilly Media, 2011.
[5] M. McRoberts. Beginning Arduino. 2nd Edition, Apress, 2013.
[6] Miaxis Biometric Co., Ltd. SM630 Fingerprint Verification Module User Manual.
Retrieved May 5th, 2014. Website: http://www.robokits.co.in/datasheets/SM-
630.pdf
[7] On fingerprint sensor (“Fingerprint Sensor, 2005). Retrieved February 20h, 2014.
Website: http://www.adafruit.com/products/751
[8] High Performance DSP Type Fingerprint Scanning Module. Retrieved March 1st,
2014. [URL: http://blogs.yahoo.co.jp/lg3d_lgscope/54652531.html]
[9] Zhian, H., Technologies Co., Ltd. (2008). ZFM-20 Series Fingerprint
Identification Module User Manual. Retrieved May 5th, 2014. [URL:
http://www.adafruit.com/datasheets/ZFM%20user%20manualV15.pdf ]
[10] Some Things To Keep In Mind When Using The SD Library Retrieved April 4th,
2014. [URL: http://arduino.cc/ en/reference/sdcardnotes]
[11] W. Stallings. Cryptography and Network Security Principles and Practices.
Prentice Hall, 2003.
[12] Shoewu, O. and O. Badejo. 2006. ―Radio Frequency Identification Technology:
Development, Application and Security Issues‖. Pacific Journal of Science and
Technology. 7 (2):144-152.
[13] Yohei KAWAGUCHI, Tetsuo SHOJI , Weijane LIN ,Koh KAKUSHO ,
Michihiko MINOH ,―Face Recognition-based Lecture Attendance System‖,
Department of Intelligence Science and Technology, Graduate School of
Informatics, Kyoto University. Academic Center for Computing and Media
Studies, Kyoto University.

50
[14] Cheng, K., L. Xiang, T. Hirota, and K. Ushijimaa. 2005. ―Effective Teaching
for Large Classes with Rental PCs by Web System WTS‖. Pro. Data Engineering
Workshop (DEWS2005), 1D – d3 (in Japanese).
[15] K.G.M.S.K. Jayawardana, T.N. Kadurugamuwa, R.G. Rage and S.
Radhakrishnan‖, Timesheet: An Attendance Tracking System‖, Proceedings of the
Peradeniya University Research Sessions, Sri Lanka, Vol.13, Part II, 18th
December 2008.
[16] Arduino Microcontroller Guide, W. Durfee, University of Minnesota, oct 2011.
[17] GT-511C3 Fingerprint Scanner Hardware, Wiring and Connector Numbering,
starting electronics.org, 27 November 2014

51

You might also like