Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROJECT REPORT
On
PROJECT DONE BY
HARIKRISHNAN S SU 15 16 015
GOWSIKRAM V SU 15 16 014
ADARSH KS SU 15 16 003
B.Eng. IN MECHATRONICS
NTTF ELECTRONICS CENTRE
ELECTRONICS CITY, BANGALORE-560100
B.Eng. IN MECHATRONICS 1
PORTABLE CLASSROOM ATTENDANCE SYSTEM
2016-2019
CERTIFICATE
This is to certify that the Project titled
PROJECT REPORT ON
PORTABLE CLASSROOM ATTENDANCE
SYSTEM BASED ON NODEMCU & FINGERPRINT
BIOMETRIC
HARIKRISHNAN S SU 15 16 015
GOWSIKRAM V SU 15 16 014
ADARSH KS SU 15 16 003
B.Eng. IN MECHATRONICS 2
PORTABLE CLASSROOM ATTENDANCE SYSTEM
ACKNOWLEDGEMENT
B.Eng. IN MECHATRONICS 3
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 01
ABSTRACT
B.Eng. IN MECHATRONICS 4
PORTABLE CLASSROOM ATTENDANCE SYSTEM
INTRODUCTION
B.Eng. IN MECHATRONICS 5
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 02
PROJECT IN BRIEF
2.1 AIM
B.Eng. IN MECHATRONICS 6
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 03
BLOCK DIAGRAM
230V/50Hz AC 12V,1A
STEP DOWN RECTIFIER FILTER 7805
TRANSFORMER REGUALATOR
OUTPUT 5V DC
MODULE3 M0DULE2
5V/1A
3.6V/120mA
N
FINGERPRINT O
SCANNER D
E
M
C MODULE4
U
3.3V/800mA 5V/0.5A
RTC
MODULE
ANDROID
B.Eng. IN MECHATRONICS 7
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 04
B.Eng. IN MECHATRONICS 8
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 9
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 05
MODULE-1
POWER SUPPLY
CONTENTS
5.1 Introduction
5.2 Description
5.3 Circuit diagram
5.4 Bill of materials
5.1 Introduction
B.Eng. IN MECHATRONICS 10
PORTABLE CLASSROOM ATTENDANCE SYSTEM
5.2 DESCRIPTION
B.Eng. IN MECHATRONICS 11
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CIRCUIT DIAGRAM
B.Eng. IN MECHATRONICS 12
PORTABLE CLASSROOM ATTENDANCE SYSTEM
12V
VVV
VVV
BRIDGE RECTIFIER:
To convert an AC signal into a DC signal we are using
rectifier circuit.
Which is build-up of diodes and the circuit may contain
ripples.
FILTER CIRCUIT:
To remove the ripples, we are using filter circuit which is
built up of capacitors.
REGULATOR:
We are using regulator ICs to maintain a constant output
voltage in a power supply circuit.
We use regulator IC 7805 for getting 5V output.
B.Eng. IN MECHATRONICS 13
PORTABLE CLASSROOM ATTENDANCE SYSTEM
OUTPUT:
The output of power supply is 5V DC/1A.
B.Eng. IN MECHATRONICS 14
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 15
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 7
MODULE 2:
(NODE MCU-ESP8266)
CONTENTS
7.1 DESCRIPTION
7.2 PIN DIAGRAM
7.3 SCHEMATIC DIAGRAM
7.4 BILL OF MATERIALS
IMAGE
B.Eng. IN MECHATRONICS 16
PORTABLE CLASSROOM ATTENDANCE SYSTEM
7.1 DESCRIPTION
ESP8266 is one of the most popular Wi-Fi module available in
the market, allowing makers to develop IoT products with
ease.
B.Eng. IN MECHATRONICS 17
PORTABLE CLASSROOM ATTENDANCE SYSTEM
FEATURES
• 802.11 b/g/n
• Integrated low power 32-bit MCU
• Integrated 10-bit ADC
• Integrated TCP/IP protocol stack
• Integrated TR switch, balun, LNA, power amplifier and
matching network
• Integrated PLL, regulators, and power management units
• Supports antenna diversity
• WIFI 2.4 GHz, support WPA/WPA2
• Support STA/AP/STA+AP operation modes
• Support Smart Link Function for both Android and iOS
devices
• SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM,
GPIO
• STBC, 1x1 MIMO, 2x1 MIMO
• A-MPDU & A-MSDU aggregation & 0.4s guard interval
• Deep sleep power <10uA, Power down leakage current <
5uA
B.Eng. IN MECHATRONICS 18
PORTABLE CLASSROOM ATTENDANCE SYSTEM
WORKING
When your ESP starts up, it sets it up in Station mode and
tries to connect to a previously saved Access Point
If this is unsuccessful (or no previous network saved) it
moves the ESP into Access Point mode and spins up a DNS
and Webserver (default ip 192.168.4.1)
Using any Wi-Fi enabled device with a browser (computer,
phone, tablet) connect to the newly created Access Point
Because of the Captive Portal and the DNS server you will
either get a 'Join to network' type of popup or get any domain
you try to access redirected to the configuration portal
Choose one of the access points scanned, enter password,
click save
ESP will try to connect. If successful, it relinquishes control
back to your app. If not, reconnect to AP and reconfigure.
MAJOR APPLICATIONS
• Home Appliances
• Home Automation
B.Eng. IN MECHATRONICS 19
PORTABLE CLASSROOM ATTENDANCE SYSTEM
MCU
ESP8266EX is embedded with Ten silica L106 32-bit micro
controller (MCU), which features extra low power consumption
and 16-bit RSIC.
The CPU clock speed is 80MHz. It can also reach a maximum
value of 160MHz.
Real Time Operation System (RTOS) is enabled. Currently, only
20% of MIPS has been occupied by the WIFI stack, the rest can
all be used for user application programming and development.
The following interfaces can be used to connect to the MCU
embedded in ESP8266EX:
1. Programmable RAM/ROM interfaces (bus), which can be
connected with memory controller, and can also be used to
visit external flash;
2. Data RAM interface (dBus), which can connected with
memory controller;
B.Eng. IN MECHATRONICS 20
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 21
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 22
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 23
PORTABLE CLASSROOM ATTENDANCE SYSTEM
MODULE 3:
FINGERPRINT SCANNER
CONTENTS
6.1 DESCRIPTION
6.2 SCHEMATIC DIAGRAM
6.3 PIN DIAGRAM
6.4 BILL OF MATERIALS
IMAGE
B.Eng. IN MECHATRONICS 24
PORTABLE CLASSROOM ATTENDANCE SYSTEM
6.1 DESCRIPTION
As we enter the new millennium, identification is used for
almost everything nowadays.
With technology on a rapid pace of improvement, the need
for accurate identification is very necessary, especially with
the increased use of automated transactions.
Fingerprint scanners are security systems of biometrics.
They are used to unlock doors and in other security
applications.
During the 2010s fingerprint scanners became
commonplace on mobile phones.
Humans have certain unique properties to them.
The study of these properties is called biometrics.
Biometrics is the ability to automatically recognize a person
using distinguishing traits such as fingerprints, face, retina
or iris from the eye, voice, and hand geometry.
B.Eng. IN MECHATRONICS 25
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 26
PORTABLE CLASSROOM ATTENDANCE SYSTEM
IMAGE ORIENTATION
Types
Optical reflexive
B.Eng. IN MECHATRONICS 27
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Capacitive
These sensors only work with normal healthy skins, they are
not operative being used on skins with hard areas, calluses or
scars. Moisture, grease or dust can also affect its operation.
Mechanical
B.Eng. IN MECHATRONICS 28
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Thermal
The image is in the gray scale that has the right quality even
with the finger worn, with dirt, with grease or with humidity.
Dynamic output
B.Eng. IN MECHATRONICS 29
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Use
The most important use area is in access control for computers.
B.Eng. IN MECHATRONICS 30
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 31
PORTABLE CLASSROOM ATTENDANCE SYSTEM
PIN CONFIGURATION
Pin Description
Name
FEATURES
5VDC Operating voltage
I/O pins are 5V and 3.3V compliant
Range: Up to 20cm
Adjustable Sensing range
Built-in Ambient Light Sensor
1mA supply current
Mounting hole
BILL OF MATERIALS
B.Eng. IN MECHATRONICS 32
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER-8
MODULE:4
RTC MODULE
CONTENTS
8.1 DESCRIPTION
8.2 PIN DIAGRAM
8.3 BILL OF MATERIALS
B.Eng. IN MECHATRONICS 33
PORTABLE CLASSROOM ATTENDANCE SYSTEM
IMAGE
8.1 DESCRIPTION
The DS3231 is a low-cost, extremely accurate I2C real-time
clock (RTC) with an integrated temperature compensated
crystal oscillator (TCXO) and crystal.
The device incorporates a battery input, and maintains
accurate timekeeping when main power to the device is
interrupted.
B.Eng. IN MECHATRONICS 34
PORTABLE CLASSROOM ATTENDANCE SYSTEM
SCHEMATIC DIAGRAM
B.Eng. IN MECHATRONICS 35
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 36
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER-9
MECHANICAL DESIGN
ISOMETRIC VIEW
FRONT VIEW
B.Eng. IN MECHATRONICS 37
PORTABLE CLASSROOM ATTENDANCE SYSTEM
SIDE VIEW
BACK VIEW
B.Eng. IN MECHATRONICS 38
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 39
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER
SOFTWARES USED
B.Eng. IN MECHATRONICS 40
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Start in 5 minutes:
https://www.blynk.cc/getting-started
You can even share your project with friends and other makers by
simply sending them the link.
Use our Blynk Cloud or deploy your own Blynk Server in a minute and
have full privacy and control in your hands.
B.Eng. IN MECHATRONICS 41
PORTABLE CLASSROOM ATTENDANCE SYSTEM
When the download finishes, proceed with the installation and please
allow the driver installation process when you get a warning from the
operating system.
B.Eng. IN MECHATRONICS 42
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 43
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Choose the installation directory (we suggest to keep the default one)
B.Eng. IN MECHATRONICS 44
PORTABLE CLASSROOM ATTENDANCE SYSTEM
The process will extract and install all the required files to execute
properly the Arduino Software (IDE)
B.Eng. IN MECHATRONICS 45
PORTABLE CLASSROOM ATTENDANCE SYSTEM
PROTEUS 8 PROFESSIONAL
B.Eng. IN MECHATRONICS 46
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Introduction
Proteus 8 is a single application with many service modules
offering different functionality (schematic capture, PCB layout,
etc.). The wrapper that enables all of the various tools to communicate
with each other consists of three main parts.
Application Framework
Common Database
Live Netlist
B.Eng. IN MECHATRONICS 47
PORTABLE CLASSROOM ATTENDANCE SYSTEM
TUTORIAL
You can find tutorial guides and an update guide from Proteus 7 near
the top of the home page on the left-hand side. Alternatively, the
tutorial for a particular module of Proteus can be found on the Help
Menu when tha t module is open.
Reference
Manual
Similarly, you can open Reference Manuals either from the Proteus 8
home page or from the Help Menu on the application module itself.
B.Eng. IN MECHATRONICS 48
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Hitting the F1 key will also launch the reference manual for the
application module you are currently working in.
Videos
B.Eng. IN MECHATRONICS 49
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Dialogue level help is available within the software via the small
question mark at the top right of the dialog form. Left click on the
question mark and then click on the dialogue form to launch.
Installation
Installed Files
B.Eng. IN MECHATRONICS 50
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Network Installation
From the command prompt on the client you type something like :
B.Eng. IN MECHATRONICS 51
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Msiexec /i "\\networkshare\setup_pro8.0.15299.0.msi"/qn
DATA_DIR="E:\Proteus\v8data" APPDIR="E:\Proteus\v8"
where we have path to msi that was extracted by step 1 (other files
also extracted), the target program data directory and the target
program directory.
Batch files on the client side can help with automation of this step.
Update Control
B.Eng. IN MECHATRONICS 52
PORTABLE CLASSROOM ATTENDANCE SYSTEM
The latter key will prevent any client machines from installing available
updates independently.
This is the normal situation in which your Proteus 7 was installed with
a single library directory and you have not since changed, moved or
added library paths.
B.Eng. IN MECHATRONICS 53
PORTABLE CLASSROOM ATTENDANCE SYSTEM
If you did not make use of the Legacy Importer utility during
installation you can launch it separately from the BIN directory of your
Proteus 8 installation (LegacySettingsImporter.exe).
In this case you have more than one library directory specified for your
Proteus 7.xx installation.
Since we don't know why libraries have been separated or moved you
may need to work manually by copying files between your Proteus 7.xx
directories and your Proteus 8.xx directories.
B.Eng. IN MECHATRONICS 54
PORTABLE CLASSROOM ATTENDANCE SYSTEM
The legacy importer utility will launch after installation and point to a
library path. Depending on how you have set up your system this may
or may not be your primary Library path. If it is, then run the tool as
normal - if it isn't then browse to your primary Library path and then
run the tool.
Do not change the primary Proteus 8 library path to the old Proteus
7 library path. This will cause problems throughout the software.
If all else fails, you may need to get a couple of copies of Windows
explorer open and copy files manually between your Proteus 7 Library
directory and your Proteus 8 Library directory.
Relevant Files
The following is a list of files that may be relevant for copying or moving
between Proteus 7 and Proteus 8.
Library Directory
B.Eng. IN MECHATRONICS 55
PORTABLE CLASSROOM ATTENDANCE SYSTEM
DEFAULT.STY : This file contains custom pad and trace styles and can
be copied from Proteus 7 into Proteus 8. However, we recommend
using the migration tool in the installer as this will merge rather than
overwrite the V7 and V8 versions of the file.
3DS Files: Typically these will be user generated 3D model files and
should therefore be copied across to the Proteus 8 Library directory.
User Libraries: These will contain user generated library parts and
should therefore be copied across to the Proteus 8 Library Directory.
Three such libraries are supplied as standard (USERDVC.LIB,
USERPKG.LIB & USERSYM.LIB) although users can create as many as
they need.
Models Directory
B.Eng. IN MECHATRONICS 56
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Proteus 8 Models directory. You should not copy any other files as these
may have changed in Proteus 8.
Template Directory
Datasheets Directory
Datasheets from the Proteus 7 directory can be copied into the Proteus
8 datasheets directory.
Bill of Materials
B.Eng. IN MECHATRONICS 57
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Filing
You can choose to keep your source files outside of the pdsprj file
by upchucking the 'attach files' checkbox in the VSM Studio project
settings.
B.Eng. IN MECHATRONICS 58
PORTABLE CLASSROOM ATTENDANCE SYSTEM
In addition to the pdsprj file Proteus 8 also writes a per user workspace
file for each project. This basically remembers the state of the project
when closed including:
B.Eng. IN MECHATRONICS 59
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Path Configuration
Do not set your primary Proteus 8 Path to your primary Proteus 7 Path.
This will not work and may cause serious issues throughout the
software. Refer to Migrating Files for more information.
For most users the standard paths will be sufficient. However, if you
do wish to move folders post installation you can do so from the System
Settings command on the System Menu.
B.Eng. IN MECHATRONICS 60
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Terminology
(Application) Module
Frame
B.Eng. IN MECHATRONICS 61
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Tab
B.Eng. IN MECHATRONICS 62
PORTABLE CLASSROOM ATTENDANCE SYSTEM
When you open an application module (e.g. ISIS) both the menus
and the toolbars will change to include the various options available.
Similarly, if you have two modules open (e.g. ISIS and ARES) in
different tabs then the menus and icons will switch as you switch
tabs.
Global Settings
B.Eng. IN MECHATRONICS 63
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Each top level application module will open in a new tab inside the
current frame.
If you prefer (and particularly if you work with two monitors) you can
drag and drop a tab into free space to create a new frame. This
allows you to see both modules simultaneously which, together with
the common database and live netlisting, is a common method of
working.
B.Eng. IN MECHATRONICS 64
PORTABLE CLASSROOM ATTENDANCE SYSTEM
The exception to this paradigm is graphs which will open in a new tab
when maximised. Graphs are not represented in the application
module toolbar as they are entirely dependant on being placed in the
schematic capture module.
B.Eng. IN MECHATRONICS 65
PORTABLE CLASSROOM ATTENDANCE SYSTEM
To close a tab
Close a tab by clicking on the cross at the right hand side of the tab.
B.Eng. IN MECHATRONICS 66
PORTABLE CLASSROOM ATTENDANCE SYSTEM
Alternatively, closing a frame will close all tabs inside the frame.
Assuming you have both the ISIS and the ARES tabs open and you
want to view them at the same time:
Drag the ARES tab either onto a separate monitor on into free space.
OR
B.Eng. IN MECHATRONICS 67
PORTABLE CLASSROOM ATTENDANCE SYSTEM
To re-join one frame to another simply drag either the tab or the
window from the second frame over the first. There is a subtle
difference where the second frame has more than one tab open in
that dragging the window will re-join all of the tabs in the window
whereas dragging a tab will re-join only that tab
To close a frame
Use the cross at the top of the window to close it. If you have more
than one frame open you will be prompted to close either the current
frame or the complete application.
B.Eng. IN MECHATRONICS 68
PORTABLE CLASSROOM ATTENDANCE SYSTEM
2D VIEWS
B.Eng. IN MECHATRONICS 69
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER-10
CIRCUIT DIAGRAM
B.Eng. IN MECHATRONICS 70
A B C D E F G H J K
7805
U1
1 3
R1
VI VO
0 100e 0
TR1 BR1
GND
J3
1
2
C1 2
J2 V1 470uf
VSINE CONN-SIL2
2 D1
1 LED
1 CONN-SIL2 BRIDGE 1
TRAN-2P2S
2 2
B.Eng. IN MECHATRONICS
FINGER PRINT
3 3
J1
1
1
2
3
J6 4 J7
CONN-SIL1 1 1
CONN-SIL1 CONN-SIL1
4 4
R3
10k
6
5
1 4
R2 2 3
5 10k 3 NODE MCU 2 5
4 1
R4 R5 RTC
10k 10k
1 J5
2 2 1
3 1 2
CONN-SIL2
6 6
D4
LED D5
LED
7 7
1
J4
CONN-SIL1
8 8
A B C D E F G H J K
71
PORTABLE CLASSROOM ATTENDANCE SYSTEM
PORTABLE CLASSROOM ATTENDANCE SYSTEM
INTERCONNECTION DIAGRAM
B.Eng. IN MECHATRONICS 72
A B C D E F G H J K
0 0
J3
J2 3
1 2
1 2
5V 2A 1 1
3
CONN-SIL3
CONN-SIL3
2 2
B.Eng. IN MECHATRONICS
FINGER PRINT
3 3
1
2
3
4
4 4
R3 6
10k 5
1 4
2 3
5 3 NODE MCU 2 5
4 1 RTC
1
2 2
R2 3 1
10k
R4 R5
10k 10k
6 6
D4
LED D5
SCHEMATIC DIAGRAM
LED
7 7
8 8
A B C D E F G H J K
73
PORTABLE CLASSROOM ATTENDANCE SYSTEM
A B C D E F G H J K
7805
U1
1 3
R1
VI VO
0 100e 0
TR1 BR1
GND
J3
1
2
C1 2
470uf
J2 CONN-SIL2
2 D1
1 LED
1 CONN-SIL2 BRIDGE 1
TRAN-2P2S
2 2
B.Eng. IN MECHATRONICS
FINGER PRINT
3 3
J1
1
1
2
3
4
CONN-SIL1 J6 J7
1 1
CONN-SIL1 CONN-SIL1
4 R3 2
4
1
10k
J9
1
2
3 CONN-SIL2 J11 J10
4 6 1
J8 CONN-SIL2
5 2
CONN-H4 4 1 4
R2 3 2 3
5 10k 2 3 NODE MCU 2 5
1 4 1 RTC
R4 R5 J13
10k 10k CONN-H4 3 1 CONN-SIL2 J5
2 2 2 1
J12 1 3 1 2
1
2 CONN-SIL3
3
4
6 D4 6
LED D5 CONN-H4
LED
7 7
1
J4
CONN-SIL1
8 8
A B C D E F G H J K
74
PORTABLE CLASSROOM ATTENDANCE SYSTEM
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER 10
ADVANTAGES
LIMITATIONS
There is a chance of misusing the technology by placing a fake
fingerprint.
Modules are sensitive and they need to be handed carefully.
PROGRAM
FINAL PROGRAM
#include <Adafruit_Fingerprint.h>
#include <Wire.h>
B.Eng. IN MECHATRONICS 75
PORTABLE CLASSROOM ATTENDANCE SYSTEM
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "RTClib.h"
RTC_DS1307 RTC;
SoftwareSerial mySerial(13, 15); //rx, tx
WidgetTerminal terminal(V1);
void setup()
{
//////////////////////// ADC //////////////////////////
pinMode(Battery_low, OUTPUT); // battery status low D4
pinMode(analogInPin, INPUT); // analog read A0
//////////////////////////////////////////////////////
pinMode(16, OUTPUT); // finger print indication failure D0
pinMode(0, OUTPUT); // finger print indication success D3
digitalWrite(16, LOW);
digitalWrite(0, LOW);
digitalWrite(Battery_low, LOW);
Serial.begin(9600);
B.Eng. IN MECHATRONICS 76
PORTABLE CLASSROOM ATTENDANCE SYSTEM
//////////////////////////RTC/////////////////////////////////
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was
compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
/////////////////////////FINGER///////////////////////////////////////
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\n finger detect test");
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
finger.getTemplateCount();
Serial.print("Sensor contains "); Serial.print(finger.templateCount);
Serial.println(" templates");
Serial.println("Waiting for valid finger...");
}
B.Eng. IN MECHATRONICS 77
PORTABLE CLASSROOM ATTENDANCE SYSTEM
//////////////////////////RTC/////////////////////////////////
Serial.println(years);
Serial.println(months);
Serial.println(days);
Serial.println(hours);
Serial.println(minitues);
Serial.println(seconds);
Serial.println();
delay(100);
/////////////////////////FINGER///////////////////////////////////////
getFingerprintIDez();
delay(100);
Blynk.run();
B.Eng. IN MECHATRONICS 78
PORTABLE CLASSROOM ATTENDANCE SYSTEM
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK)
{
digitalWrite(16, HIGH);
delay(2000);
digitalWrite(16, LOW);
return -1;
}
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
fing_id=finger.fingerID;
Serial.print(" with confidence of "); Serial.println(finger.confidence);
digitalWrite(0, HIGH);
delay(2000);
digitalWrite(0, LOW);
if(fing_id==1||fing_id==2||fing_id==3)
{
if(hours==10 && minitues<10)
{
terminal.println("SU1516003 IS PRESENT AT 10 AM") ;
terminal.flush();
}
else if(hours==11 && minitues<10)
{
terminal.println("SU1516003 IS PRESENT AT 11 AM") ;
terminal.flush();
}
else if(hours==12 && minitues<10)
{
terminal.println("SU1516003 IS PRESENT AT 12 AM") ;
terminal.flush();
}
else if(hours==13 && minitues<10)
{
terminal.println("SU1516003 IS PRESENT AT 1 PM") ;
terminal.flush();
}
B.Eng. IN MECHATRONICS 79
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 80
PORTABLE CLASSROOM ATTENDANCE SYSTEM
}
else if(hours==15 && minitues<10)
{
terminal.println("SU1516013 IS PRESENT AT 3 PM") ;
terminal.flush();
}
else if(hours==16 && minitues<10)
{
terminal.println("SU1516013 IS PRESENT AT 4 PM") ;
terminal.flush();
}
}
if(fing_id==7||fing_id==8||fing_id==9)
{
if(hours==10 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 10 AM") ;
terminal.flush();
}
else if(hours==11 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 11 AM") ;
terminal.flush();
}
else if(hours==12 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 12 AM") ;
terminal.flush();
}
else if(hours==13 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 1 PM") ;
terminal.flush();
}
else if(hours==14 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 2 PM") ;
terminal.flush();
}
else if(hours==15 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 3 PM") ;
B.Eng. IN MECHATRONICS 81
PORTABLE CLASSROOM ATTENDANCE SYSTEM
terminal.flush();
}
else if(hours==16 && minitues<10)
{
terminal.println("SU1516014 IS PRESENT AT 4 PM") ;
terminal.flush();
}
}
if(fing_id==10||fing_id==11||fing_id==12)
{
if(hours==10 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 10 AM") ;
terminal.flush();
}
else if(hours==11 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 11 AM") ;
terminal.flush();
}
else if(hours==12 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 12 AM") ;
terminal.flush();
}
else if(hours==13 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 1 PM") ;
terminal.flush();
}
else if(hours==14 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 2 PM") ;
terminal.flush();
}
else if(hours==15 && minitues<10)
{
terminal.println("SU1516015 IS PRESENT AT 3 PM") ;
terminal.flush();
}
else if(hours==16 && minitues<10)
{
B.Eng. IN MECHATRONICS 82
PORTABLE CLASSROOM ATTENDANCE SYSTEM
#include <Adafruit_Fingerprint.h>
uint8_t id;
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\n Fingerprint sensor enrollment");
if (finger.verifyPassword()) {
Serial.println("Found fingerprint sensor!");
} else {
Serial.println("Did not find fingerprint sensor :(");
while (1) { delay(1); }
}
}
uint8_t readnumber(void) {
uint8_t num = 0;
B.Eng. IN MECHATRONICS 83
PORTABLE CLASSROOM ATTENDANCE SYSTEM
while (num == 0) {
while (! Serial.available());
num = Serial.parseInt();
}
return num;
}
while (! getFingerprintEnroll() );
}
uint8_t getFingerprintEnroll() {
int p = -1;
Serial.print("Waiting for valid finger to enroll as #");
Serial.println(id);
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.println(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
B.Eng. IN MECHATRONICS 84
PORTABLE CLASSROOM ATTENDANCE SYSTEM
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(1);
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
Serial.println("Remove finger");
delay(2000);
p = 0;
while (p != FINGERPRINT_NOFINGER) {
p = finger.getImage();
}
Serial.print("ID "); Serial.println(id);
p = -1;
Serial.println("Place same finger again");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
B.Eng. IN MECHATRONICS 85
PORTABLE CLASSROOM ATTENDANCE SYSTEM
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(2);
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
B.Eng. IN MECHATRONICS 86
PORTABLE CLASSROOM ATTENDANCE SYSTEM
// OK converted!
Serial.print("Creating model for #"); Serial.println(id);
p = finger.createModel();
if (p == FINGERPRINT_OK) {
Serial.println("Prints matched!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_ENROLLMISMATCH) {
Serial.println("Fingerprints did not match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
B.Eng. IN MECHATRONICS 87
PORTABLE CLASSROOM ATTENDANCE SYSTEM
BILL OF MATERIAL(MECHANICAL)
S.NO COMPONENT QUANTITY COST
DESCRIPTION
1 GI SHEET 1 200
2 SCREW AND NUT 10 30
TOTAL PRICE 230
BILL OF MATERIAL(ELECTRICAL&ELECTRONICS)
S.NO COMPONENT QUANTITY COST
DESCRIPTION
1 MODULE 1: POWER 1 799
SUPPLY DESIGN
2 MODULE 2: RTC MODULE 1 250
3 MODULE 3: ESP8266 1 352
NODEMCU
4 MODULE 4: FINGERPRINT 1 1125
SCANNER MODULE
TOTAL PRICE 2526
B.Eng. IN MECHATRONICS 88
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 89
PORTABLE CLASSROOM ATTENDANCE SYSTEM
CHAPTER-11
CONCLUSION
This is a handheld device which can be carried to the classroom.
The device can be handed over to students and they can mark
their attendance.
B.Eng. IN MECHATRONICS 90
PORTABLE CLASSROOM ATTENDANCE SYSTEM
B.Eng. IN MECHATRONICS 91