You are on page 1of 64

FINGERPRINT BASED ADVANCED VOTING

MACHINE USING GSM


A Major project report submitted to
JNTUA, Ananthapuramu
In partial fulfilment of the Requirements for the award of the degree of
BACHELOR OF TECHNOLOGY
(ELECTRONICS AND COMMUNICATION ENGINEERING)
BY
U. RANJANI PRIYA (18KB1A04G4) P. YOHAN (19KB5A0415)
S. MAHESH (18KB1A04F2) T. KAVYA (18KB1A04F7)

Under the esteemed guidance of


Smt. V. ROHINI M. Tech
Assistant Professor, Department of E.C.E
N.B.K.R. Institute of Science and technology, Vidyanagar.

(DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING)

N.B.K.R. INSTITUTE OF SCIENCE AND TECHNOLOGY


(AUTONOMUS)
VIDYANAGAR-524413, TIRUPATI DIST, AP

2021-2022
Website: www.nbkrist.org Ph: 08624-228 247
Email: ist@nbkrist.org Fax: 08624-228257

N.B.K.R. INSTITUTE OF SCIENCE & TECHNOLOGY


(AUTONOMOUS)
(Approved by AICTE: Accredited by NBA: Affiliated to JNTUA, Ananthapuramu)
An ISO 9001-2000 Certified Institution
Vidyanagar -524 413, Nellore District, Andhra Pradesh, India

BONAFIDE CERTIFICATE
This is to certify that the project work entitled “FINGERPRINT BASED
ADVANCED VOTING MACHINE USING GSM” is a bonafide work done by U.
RANJANI PRIYA (18KB1A04G4), P. YOHAN (19KB5A0415), S. MAHESH
(18KB1A04F2), T. KAVYA (18KB1A04F7) in the department of Electronics &
Communication Engineering, N.B.K.R Institute of Science & Technology,
Vidyanagar and is submitted to JNTUA, Ananthapuramu in the partial fulfilment
for the award of B. Tech degree in Electronics & Communication Engineering.
This work has been carried out under my supervision.

Smt. V. ROHINI, MTech Dr. G. HARINATHA REDDY MTech, Ph.D.

Assistant Professor Professor & HOD


Department of ECE Department of ECE
NBKRIST, Vidyanagar NBKRIST, Vidyanagar

Submitted for the Viva-Voce Examination held on

Internal Examiner External Examiner


ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of a project would


be incomplete without the people who made it possible. There constant guidance and
encouragement crowned our efforts with success.

We would like to express our profound sense of gratitude to our project guide
Smt. V. ROHINI, MTech, Assistant Professor, Electronics and Communication
Engineering, NBKRIST (affiliated to JNTUA, Ananthapuramu), Vidyanagar, for his
masterful guidance and the constant encouragement throughout the project. Our sincere
appreciations for his suggestions and unmatched services without, which this work
would have been an unfulfilled dream.

We express our sincere gratitude to Dr. G. HARINATHA REDDY, Professor,


Head of the Department, Electronics and Communication Engineering,
NBKRIST, for providing exceptional facilities for successful completion of our project
work.

We are grateful to Sri. Dr. V. VIJAYA KUMAR REDDY, Director of


N.B.K.R. Institute of Science and Technology for allowing us to avail all the facilities
in the college.

We convey our special thanks to the management of N.B.K.R Institute of


Science and Technology, for providing excellent infrastructure in our campus for the
completion of the project.

We would like to convey our heartful thanks to Staff members, Lab


technicians, and our friends, who extended their cooperation in making this project
as a successful one.

We would like to thank one and all who have helped us directly and indirectly
to complete this project successfully.
ABSTRACT

Biometric Finger print devices are used in the Electronic Voting Machine for
voter verification. We have designed a finger print based voting machine where there
is no need for the user to carry his ID which contains his required details. The person
at the polling booth needs only to place his Finger on the device, thus allowing the
acquisition of an on-spot fingerprint from the voter which serves as an identification.

This Finger print reader reads the details from the tag. This data is passed onto the
controlling unit for the verification. The controller fetches the data from the reader and
compares this data with the already existing data stored during the registration of the
voters. If the data matches with the pre-stored information of the registered fingerprint,
the person is allowed to cast his vote. If not, a warning message is displayed on LCD
and the person is barred from polling his vote.

The vote casting mechanism is carried out manually using the push buttons. LCD
is used to display the related messages, warnings and ensuing results. And a message
will be sent to the voter.
TABLE OF CONTENTS

ABSTRACT

CHAPTER NO CHAPTER NAME PAGE NO

1 INTRODUCTION 1-4

1.1 Introduction 2-3


1.2 Literature Survey 3-4

2 EMBEDDED SYSTEMS 5-8


3 METHODOLOGY 9 - 12
3.1 Existing System 10
3.2 Proposed System 11
3.3 Block Diagram 12
3.4 Hardware Requirements 12
3.5 Software Requirements 12

4 HARDWARE DESCRIPTION 13 - 36
4.1 Arduino Mega 14 – 19
4.2 Power Supply 19 - 23
4.3 GSM Module 24 - 30
4.4 Buzzer 30 - 31
4.5 LCD 31 - 33
4.6 Fingerprint Scanner 33 - 35
4.7 Push Buttons 36

5 SOFTWARE DESCRIPTION 37 - 49
5.1 Arduino Software (IDE) 37 - 39
5.2 Commands 39 - 49

6 RESULTS 50 - 53
7 CONCLUSION 54 - 55
BIBLIOGRAPHY 56 - 57
LIST OF FIGURES

2.1 Embedded system characteristics 7

2.2 Basic structure of an Embedded system 8

3.1.1 Electronic Voting Machine 10

3.1.2 Ballot Box 10

3.3 Block diagram of voting machine using GSM 12

4.1.1 Arduino boards comparison chart 14

4.1.2 Arduino Mega Board 16

4.1.3 ATmega256 Configuration Summary 16

4.1.4 ATmega2560 Pinout 17

4.1.5 Block Diagram of AVR architecture 17

4.2.1 Block diagram of a fixed regulated power supply 20

4.2.2 Structure of Transformer 20

4.2.3 Waveforms of filter capacitor 21

4.2.4 Circuit diagram of Voltage regulator 22

4.2.5 Circuit Diagram of Power Supply 22

4.3.1 GSM Module 24

4.3.2 GSM Modem 25

4.3.3 GSM Architecture 26

4.3.4 16x2 LCD Display 30

4.4.1 Buzzer Construction 30

4.4.2 Armature Cycle 31

4.5.1 LCD 16x2 Pin Diagram 32

4.5.2 Pin Diagram of LCD 33

4.6.1 Fingerprint sensor Module 34

4.7.1 Push Buttons 36


5.2.1 Language Support 45

5.2.2 IDE Board Setup 46

5.2.3 IDE Board Setup Procedure 47

5.2.4 COM Port Setup 47

5.2.5 Blink Sketch 48

5.2.6 Uploading Blink 49

6.1 Practical circuit of fingerprint based advanced voting machine 51

6.2 LCD display 51

6.3 Enrolment and LCD display 51

6.4 Authentication and permission 52

6.5 Output (Vote and SMS submission) 52

6.6 Recognising the repeated votes 52

6.7 Recognising voter not enrolled 53

6.8 LCD display the results 53

6.9 LCD display the winner 53

LIST OF TABLES

4.2.6 Specifications of IC7805 23

5.1 Tool Bar Buttons 38


CHAPTER 1

INTRODUCTION

1
1.1 INTRODUCTION

Biometrics is the science and technology of measuring and analysing


biological data. Biometrics refers to technologies that measure and analyse human body
characteristics, such as DNA, fingerprints, eye retinas and irises, voice patterns, facial
patterns and hand measurements, for authentication purposes. The field of biometrics
was formed and has since expanded on too many types of physical identification.
Among the several human fingerprints remain a very common identifier and the
biometric method of choice among law enforcement. These concepts of human
identification have leads to the development of fingerprint scanners that serve to
quickly identify individuals and assign access privileges. The basic point of these
devices is also to examine the fingerprint data of an individual and compare it to a
database of other fingerprints. In our project we have used fingerprint for the purpose
of voter identification or authentication. As the thumb impression of every individual
is unique, it helps in minimizing the error. A database is created containing the
fingerprint images of all the voters as required. Illegal votes and repetition of votes is
checked for in this system with accurate coding. Hence with the application of this
fingerprint based EVM system elections could be made fair and free from rigging.
Further that the elections would are no longer a tedious and expensive job.

This system is divided between the following terms: Electronic voting:


Electronic machines are used to facilitate vote without using paper ballots. We used
biometric system for voting. Biometric is form of print made by an impression of the
ridges of the skin of a finger. The module is a biometric finger print reader module
(R305) that interface with Arduino directly. Electronic vote counting: Electronic vote
counting is displayed on LCD. We have implemented a system which is based on
fingerprint scanning which would replace a traditional voting system i.e., ballot paper
system. Fingerprint sensor is a module which captures fingers print image and then
convert it into equivalent format and stores them into its memory on selected location
in Arduino. Here all the processes are controlled by Arduino. Another name for
fingerprint scanning is biometric. Biometric points towards the technologies that
analyse human body characteristics such as finger print and many more for
authentication purpose. Every single person has unique biometric impression. In
organizations, educational institutes, co-operative banks, votes decided the committee
and head of organization that is responsible for bright future. So, we have implemented

2
a new method of voting system to increase standard of living. Votes could be counted
manually in current system so that there is more opportunity of manipulation and fraud
such as duplicate counting and completely missed counting. False counting of votes
could lead to impact on people mind-set towards the system.

1.2 LITERATURE REVIEW:


A. Electronic Voting in India

The Election Commission of India developed the country's EVMs in partnership


with two government-owned companies, the Electronics Corporation of India (ECIL)
and Bharat Electronics Limited (BEL). Though these companies are owned by the
Indian government, they are not under the administrative control of the Election
Commission. They are profit-seeking vendors that are attempting to market EVMs
globally. The first Indian EVMs were developed in the early 1980s by ECIL. They were
used in certain parts of the country, but were never adopted nationwide. They
introduced the style of system used to this day, including the separate control and ballot
units and the layout of both components.

These first-generation EVMs were based on Hitachi 6305 microcontrollers and


used firmware stored in external UV erasable PROMs along with 64kb EEPROMs for
storing votes. Second-generation models were introduced in 2000 by both ECIL and
BEL. These machines moved the firmware into the CPU and upgraded other
components. They were gradually deployed in greater numbers and used nationwide
beginning in 2004.

In 2006, the manufacturers adopted a third-generation design incorporating


additional changes suggested by the Election Commission. According to Election
Commission statistics, there were 1,378,352 EVMs in use in July 2009. Of these,
448,000 were third-generation machines manufactured from 2006 to 2009, with
253,400 from BEL and 194,600 from ECIL. The remaining 930,352 were the second-
generation models manufactured from 2000 to 2005, with 440,146 from BEL and
490,206 from ECIL. The first-generation machines are deemed too risky to use in
national elections because their 15-year service life has expired, though they are
apparently still used in certain state and local contests. In the 2009 parliamentary
election, there were 417,156,494 votes cast, for an average of 302 votes per machine.

3
B. Evaluation of Voting Equipment

In the recent years, voting equipment which were widely adopted may be
divided into five types.

1) Paper-based voting: The voter gets a blank ballot and use a pen or a
marker to indicate he want to vote for which candidate. Hand counted ballots is a time
and labour consuming process, but it is easy to manufacture paper ballots and the ballots
can be retained for verifying, this type is still the most common way to vote.

2) Lever voting machine: Lever machine is peculiar equipment, and each


lever is assigned for a corresponding candidate. The voter pulls the lever to poll for his
favourite candidate. This kind of voting machine can count up the ballots automatically.
Because its interface is not user-friendly enough, giving some training to voters is
necessary.

3) Direct recording electronic voting machine: This type, which is


abbreviated to DRE, integrates with keyboard, touchscreen, or buttons for the voter
press to poll. Some of them lay in voting records and counting the votes is very quickly.
But the other DRE without keep voting records are doubted about its accuracy.

4) Punch card: The voter uses metallic hole-punch to punch a hole on the
blank ballot. It can count votes automatically, but if the voter’s perforation is
incomplete, the result is probably determined wrongfully.

5) Optical voting machine: After each voter fills a circle correspond to their
favourite candidate on the blank ballot, this machine selects the darkest mark on each
ballot for the vote then computes the total result. This kind of machine counts up ballots
rapidly. However, if the voter fills over the circle, it will lead to the error result of
optical scan.

4
CHAPTER 2
EMBEDDED SYSTEMS

5
2.1 EMBEDDED SYSTEMS

System

A system is an arrangement in which all its unit assemble work together according to
a set of rules. It can also be defined as a way of working, organizing or doing one or
many tasks according to a fixed plan. For example, a watch is a time displaying system.
Its components follow a set of rules to show time. If one of its parts fails, the watch
will stop working. So, we can say, in a system, all its subcomponents depend on each
other.

Embedded System

As its name suggests, Embedded means something that is attached to another thing. An
embedded system can be thought of as a computer hardware system having software
embedded in it. An embedded system can be an independent system or it can be a part
of a large system. An embedded system is a microcontroller or microprocessor-based
system which is designed to perform a specific task. For example, a fire alarm is an
embedded system; it will sense only smoke.

An embedded system has three components –

➢ It has hardware.
➢ It has application software.
➢ It has Real Time Operating system (RTOS) that supervises the application
software and provide mechanism to let the processor run a process as per scheduling
by following a plan to control the latencies. RTOS defines the way the system works.
It sets the rules during the execution of application program. A small-scale embedded
system may not have RTOS.

So, we can define an embedded system as a microcontroller based, software driven,


reliable, real-time control system.

Characteristics of an Embedded System

➢ Single-functioned − An embedded system usually performs a specialized


operation and does the same repeatedly. For example: A pager always functions as a
pager.
6
➢ Tightly constrained − All computing systems have constraints on design
metrics, but those on an embedded system can be especially tight. Design metrics is a
measure of an implementation's features such as its cost, size, power, and performance.
It must be of a size to fit on a single chip, must perform fast enough to process data in
real time and consume minimum power to extend battery life.
➢ Reactive and Real time − Many embedded systems must continually react to
changes in the system's environment and must compute certain results in real time
without any delay. Consider an example of a car cruise controller; it continually
monitors and reacts to speed and brake sensors. It must compute acceleration or de-
accelerations repeatedly within a limited time; a delayed computation can result in
failure to control of the car.
➢ Microprocessors based − It must be microprocessor or microcontroller based.
➢ Memory − It must have a memory, as its software usually embeds in ROM. It
does not need any secondary memories in the computer.
➢ Connected − It must have connected peripherals to connect input and output
devices.
➢ HW-SW systems − Software is used for more features and flexibility.
Hardware is used for performance and security.

Fig 2.1: Embedded System

7
Advantages

• Easily Customizable
• Low power consumption
• Low cost
• Enhanced performance
Disadvantages

• High development effort


• Larger time to market

Basic Structure of an Embedded System

The following illustration shows the basic structure of an embedded system –

Fig 2.2: Basic Structure of an Embedded system

➢ Sensor − It measures the physical quantity and converts it to an electrical signal


which can be read by an observer or by any electronic instrument like an A2D
converter. A sensor stores the measured quantity to the memory.
➢ A-D Converter − An analog-to-digital converter converts the analog signal
sent by the sensor into a digital signal.
➢ Processor & ASICs − Processors process the data to measure the output and
store it to the memory.
➢ D-A Converter − A digital-to-analog converter converts the digital data fed by
the processor to analog data.
➢ Actuator − An actuator compares the output given by the D-A Converter to
the actual (expected) output stored in it and stores the approved output.

8
CHAPTER 3
METHODOLOGY

9
3.1 EXISTING SYSTEM:

➢ Electronic Voting Machine:

As soon as the last voter has voted, the polling officer in-charge of the control
unit will press the ‘Close’ button. Thereafter, the EVM will not accept any votes.
Further after the close of poll, the balloting unit is disconnected from the control unit
and kept separately. Votes can be recorded only through the balloting unit.
During the counting of votes, the results are displayed by pressing the ‘Result’
button The result button cannot be pressed till the ‘Close’ button is pressed by the
polling officer in-charge at the end of the voting process in the polling booth and the
button is hidden and sealed; this can be broken only at the counting centre in the
presence of designated office.

Fig:3.1.1 Electronic voting machine

➢ BALLOT BOX:

First ballot box was held in Pontefract on 15 August 1872. A ballot


box is a temporarily sealed container. Usually, square box with a narrow slot in the top
sufficient to accept a ballot paper in an election.

Fig:3.1.2 Ballot Box

10
3.2 PROPOSED SYSTEM:

Fingerprint based biometric voting machine is divided in to two parts, in first


part user needs to register and in second part user will vote for desired candidate. Block
diagram is shown in “Fig.1”. Enrolment in system is needed for every voter or user
with the help of push button or key. For this process user needs to press ENROLL key
and then LCD will ask for entering location id where finger will be store in Arduino on
specific memory location. UP/DOWN keys are needed to enter ID. For selection of ID
OK key is provided. Fingerprint module will ask for the finger to be place over module.
For proper identification LCD will ask to remove fingerprint from fingerprint module
and again ask for placing the finger. Simultaneously with this process fingerprint
module takes an image and convert it into proper format and store it by selected ID into
the fingerprint module’s memory. Now voter is register with the system and he/she can
cast the vote to his candidate. Similarly, all users will have to register. All these details
are for single system, data of one system will be stored in that system itself there is not
any mutual connection between two systems. All the systems are isolated from each
other to avoid being hacked.

Voting process is divided into some simple steps. When user wants to vote then
he or she needs to press match key and then buzzer will beep and at the same time LED
will glow and LCD will ask for place finger over fingerprint module. That time user id
will be store in Arduino. Now user can cast the vote, for that user again have to place
finger over fingerprint module meanwhile module capture finger image find its id
which is present in the system. If finger id detected then LCD will display authorized
voter. It means the user is authorized voter and process will move to next step for
voting. Now voter can vote their candidate by pressing selected key.

11
3.3 BLOCK DIAGRAM:

Fig 3.3: Block Diagram of Fingerprint Based Advanced voting machine using
GSM

3.4 HARDWARE REQUIREMENTS:

➢ ARDUINO MEGA

➢ FINGER PRINT SCANNER

➢ GSM MODEM

➢ LCD

➢ BUZZER

➢ PUSH BUTTONS

➢ POWER SUPPLY

3.5 SOFTWARE REQUIRMENTS:

➢ ARDUINO IDE
➢ EMBEDDED C LANGUAGE
➢ COMMANDS

12
CHAPTER 4
HARDWARE DESCRIPTION

13
4.1 ARDUINO MEGA

Arduino is a development board that integrates a microcontroller and its


support circuitry with digital and analogy inputs and outputs. It has an open-source
computing development platform based on an environment for programs creation.

Choice of board

Shown below there is a comparison chart with the commonly used


boards for this type of application including their most important characteristics.

Fig 4.1.1 Arduino boards comparison chart.

Election parameters:

1.Pins:
One of the most important characteristics to keep in mind when choosing
an Arduino board is the number of inputs and outputs. It can be digital or analog,
depending on the application it is more important to pay attention in one type or another,
but usually one parameter depends on the other, if the board has an important number
of digital inputs, the analog input number will be considerable too because it normally
has relation with the size of the board.

In this case, both digital and analog pins matter because the project involves
digital and analog components and all of them will be connected to the board, the core
of the application and the responsible of the information collection. Taking into account
that the two types of pins are needed, that the project has 14 components and that the
number could increase with the progress of the project, the best option is to choose a
14
board which contains more pins than are needed at the beginning of the project so that
at the end there is no risk of missing. Then the orange shaded types are discarded for
having a pin number very fair for the scope of the project.

2.Memory:
Flash memory is the program space, where the program is stored. At the
beginning of the project, without knowing what programming will behave in terms of
size, and knowing that the application will have several operation modes and can grow
as project progress, the safest way to avoid having to go back in an advanced stage is
to ensure that the memory will be sufficient. For this reason, the yellow shaded types
are discarded for having less KB of flash memory.

SRAM (Static Random Access Memory) is a type of volatile memory where


program is stored and it manipulates variables when executing. The information stored
will be delated when the power is lost since this memory is only for the program
execution. If SRAM run out of space, the program will fail unexpectedly, even if it is
compiled and uploaded to board correctly the application will not run or be run in an
unwanted way. This is a very important point to have a fully functional application, so
the blue shaded types are marked for having few KB of this memory.

EEPROM (Electrically Erasable Programmable Read-Only Memory)


memory is a RAM memory programmable and electrically erasable, unlike the EPROM
that must be erasable by ultraviolet rays. Is a non-volatile memory, it means that is
capable to retrieve data after power down. Arduino Due has no EEPROM and although
it is not planned to use, is a parameter that should also be evaluated in case that to keep
the values stored after a possible loss of power becomes necessary.
3.Clock frequency:
Clock frequency refers at which speed CPU (Central Processing Unit) is
running and is an indicator of the processor’s speed. In this case the slowest is Arduino
Pro.
4.Operating voltage:
The only board which has an operating voltage different than 5 V is Arduino
Due, this is a major disadvantage in terms of hardware, as all components planned to
be used operate at 5 V.

15
As a summary and final decision, it is considered that the most suitable
Arduino board for this project is Arduino Mega. On the one hand, it is quite similar to
Arduino UNO in terms of electronic characteristics but contains many more pins, and
on the other hand, Arduino Due is the most powerful board in this range but it presents
a problem due to hardware incompatibility with project components.

Parts of Arduino Mega board

Fig 4.1.2 Arduino Mega board

[1] μC:

This board is based on the ATmega2560 microcontroller.

Fig 4.1.3 ATmega256 configuration summary.

16
Fig 4.1.4 ATmega2560 pinout.

This microcontroller uses AVR technology, created by Atmel manufacturer,


which belongs to RISC (Reduced Instruction Set Computer) microcontrollers family.
In computational architecture, RISC is a type of CPU design with fixed size instructions
presented in a reduced number of formats, in which only the loading and storage
instructions access the data memory and with many general-purpose registers.
The goal of this architecture is to enable segmentation and parallelism in the
instruction execution and reduce access to memory.

Figure 4.1.5 Block diagram of AVR architecture.

17
[2] Communication pins:
Arduino Mega with ATmega2560 has facilities for communicating with the
computer, another board or other microcontrollers, provides 4 hardware UART for TTL
serial communication:

Pin 0 (RX0) and 1 (TX0), pin 19 (RX1) and 18 (TX1), pin 17 (RX2) and
16 (TX2), pin 15 (RX3) and 14 (TX3). These are used to receive (RX) and transmit
(TX) TTL serial data. Pins 0 and 1 are also connected to the corresponding pins of the
FTDI USB-to-TTL Serial chip.

[3] ICSP:

In chip serial programmer, is an input that has access to the program


memory (flash) of AVR. It can upload directly from PC to a microcontroller any
program without using the USB port. It is useful to work with an external AVR
microcontroller completely blank without bootloader.

[4] Digital I/O:

This board contains 54 digital I/O pins, 12 of which are PWM (Pulse Width
Modulation) outputs.

[5] Reset button:

The physical press of this button allows to reset, one of the hardware flow
control lines is connected to the reset line of the ATmega2560 via 100 nano-farad
capacitors. When this line is asserted, the reset line drops long enough to reset the chip.

[6] Analog inputs:

This board contains 16 analogy inputs, each of which provide 16-bit


resolution. By default, is measuring from ground (0 V reference) to 5 V, though is it
possible to change the range using the AREF pin or analogReference () function by
code. Home automation application based on Arduino controllable from mobile 14
[7] Power pins:
Vin when an external power source is used, voltage can be supplied using
this pin. GND ground pin, 0 V reference. 5 V the regulated power supply used to power
the microcontroller and other components on the board. This can come either from Vin
via an on-board regulator or be supplied by USB or another regulated 5V supply.

18
A 3 V supply generated by on-board chip, with a maximum current of 50
mA. IOREF the value connected to his pin will work as a voltage reference.

[8] Regulator 3.3 V:


This electronic component delivers 3.3 V and if it receives more voltage is
absorbed and dissipated to avoid component damaging.
[9] External power supply:

It can be powered by USB or with an external supply of 6 to 20 V.

[10] Regulator 5 V:

It has de same function as 3,3 V one but operating with 5 V, in case of


being supplied by this voltage.
[11] Crystal oscillator:

Arduino Maga’s clock oscillator has a 16 MHz clock speed.

[12] Fuse USB:

The Arduino Mega has a resettable polyfused to protect computer's USB


port. If more than 500 mA is applied, the fuse will automatically break the connection
until the short or overload is removed.
[13] USB port:

USB port can be used to power the board and to load the code.

[14] μC:

ATMEGA16U2 microcontroller allows the ability to upload binary code


generated after compiling the program developed by the user.
[15] PWM:

Type of digital outputs used to modify the cycle of a periodical signal.

4.2 Power Supply:


All digital circuits require regulated power supply. In this article we are going
to learn how to get a regulated positive supply from the mains supply.

19
Fig 4.2.1: Block diagram of a fixed regulated power supply.

Transformer

Fig 4.2.2: Structure of Transformer

A transformer consists of two coils also called as “WINDINGS” namely PRIMARY &
SECONDARY. They are linked together through inductively coupled electrical
conductors also called as CORE. A changing current in the primary causes a change in
the Magnetic Field in the core & this in turn induces an alternating voltage in the
secondary coil. If load is applied to the secondary then an alternating current will flow
through the load. If we consider an ideal condition then all the energy from the primary
circuit will be transferred to the secondary circuit through the magnetic field.

So

The secondary voltage of the transformer depends on the number of turns in the Primary
as well as in the secondary.

20
Rectifier

A rectifier is a device that converts an AC signal into DC signal. For


rectification purpose we use a diode, a diode is a device that allows current to pass only
in one direction i.e., when the anode of the diode is positive with respect to the cathode
also called as forward biased condition & blocks current in the reversed biased
condition.
Rectifier can be classified as follows:
1) Half Wave rectifier.
2) Full wave rectifier.
3) Bridge Rectifier.

Filter Capacitor

Even though half wave & full wave rectifier give DC output, none of them
provides a constant output voltage. For this we require to smoothen the waveform
received from the rectifier. This can be done by using a capacitor at the output of the
rectifier this capacitor is also called as “FILTER CAPACITOR” or “SMOOTHING
CAPACITOR” or “RESERVOIR CAPACITOR”. Even after using this capacitor a
small amount of ripple will remain.
We place the Filter Capacitor at the output of the rectifier the capacitor will
charge to the peak voltage during each half cycle then will discharge its stored energy
slowly through the load while the rectified voltage drops to zero, thus trying to keep the
voltage as constant as possible.

Fig 4.2.3 Waveforms of Filter Capacitor

If we go on increasing the value of the filter capacitor then the Ripple will
decrease. But then the costing will increase. The value of the Filter capacitor depends

21
on the current consumed by the circuit, the frequency of the waveform & the accepted
ripple.

Where,

Vr = accepted ripple voltage. (Should not be more than 10% of the voltage)
I= current consumed by the circuit in Amperes.
F= frequency of the waveform. A half wave rectifier has only one peak in one cycle
so F=25hz Whereas a full wave rectifier has Two peaks in one cycle so F=100hz.

Voltage Regulator

A Voltage regulator is a device which converts varying input voltage into a


constant regulated output voltage.
Voltage regulator can be of two types
1) Linear Voltage Regulator
2) Switching Regulator

Fig 4.2.4: Circuit diagram of Voltage regulator

Circuit diagram:

Fig 4.2.5: Circuit Diagram of power supply

22
IC 7805:
7805 is an integrated three-terminal positive fixed linear voltage regulator. It
supports an input voltage of 10 volts to 35 volts and output voltage of 5 volts. It has a
current rating of 1 amp although lower current models are available. Its output voltage
is fixed at 5.0V. The 7805 also has a built-in current limiter as a safety feature. 7805 is
manufactured by many companies, including National Semiconductors and Fairchild
Semiconductors.

The 7805 will automatically reduce output current if it gets too hot. The last
two digits represent the voltage; for instance, the 7812 is a 12-volt regulator. The 78xx
series of regulators is designed to work in complement with the 79xx series of negative
voltage regulators in systems that provide both positive and negative regulated voltages,
since the 78xx series can't regulate negative voltages in such a system.

The 7805 & 78 is one of the most common and well-known of the 78xx
series regulators, as it's small component count and medium-power regulated 5V
make it useful for powering TTL devices.

SPECIFICATIONS IC 7805

Vout 5V

Vein - Vout Difference 5V - 20V

Operation Ambient Temp 0 - 125°C

Output Imax 1A

Table 4.2.6: Specifications of IC7805

23
4.3 GSM MODULE

This is a GSM/GPRS-compatible Quad-band cell phone, which works on a


frequency of 850/900/1800/1900MHz and which can be used not only to access the
Internet, but also for oral communication (provided that it is connected to a microphone
and a small loud speaker) and for SMSs. Externally, it looks like a big package (0.94
inches x 0.94 inches x 0.12 inches) with L-shaped contacts on four sides so that they
can be soldered both on the side and at the bottom. Internally, the module is managed
by an AMR926EJ-S processor, which controls phone communication, data
communication (through an integrated TCP/IP stack), and (through an UART and a
TTL serial interface) the communication with the circuit interfaced with the cell phone
itself. The processor is also in charge of a SIM card (3 or 1,8 V) which needs to be
attached to the outer wall of the module.
In addition, the GSM900 device integrates an analog interface, an A/D
converter, an RTC, an SPI bus, an I²C, and a PWM module. The radio section is GSM
phase 2/2+ compatible and is either class 4 (2 W) at 850/ 900 MHz or class 1 (1 W) at
1800/1900 MHz
The TTL serial interface is in charge not only of communicating all the data
relative to the SMS already received and those that come in during TCP/IP sessions in
GPRS (the data-rate is determined by GPRS class 10: max. 85,6 kbps), but also of
receiving the circuit commands (in our case, coming from the PIC governing the remote
control) that can be either AT standard or AT-enhanced SIMCom type. The module is
supplied with continuous energy (between 3.4 and 4.5 V) and absorbs a maximum of
0.8 A during transmission.

Fig 4.3.1: GSM Module

24
GSM TECHNOLOGY: ARCHITECTURE & ITS APPLICATIONS

Digital cellular technology like GSM (Global System for Mobile


Communication) is used to transmit mobile data as well as voice services. This concept
was implemented at Bell Laboratories using a mobile radio system in 1970. As the
name suggests, it is the standardization group name that was established in the year1982
to make a general European mobile telephone standard. This technology owns above
70% of the market share of the digital cellular subscriber around the world. This
technology was developed by using digital technology. At present, GSM technology
supports above 1 billion mobile subscribers around the world in the above 210
countries. This technology provides voice and data services from fundamental to
complex. This article discusses an overview of GSM technology.
GSM is a mobile communication modem; it stands for global system for
mobile communication (GSM). The idea of GSM was developed at Bell Laboratories
in 1970. It is a widely used mobile communication system in the world. GSM is an
open and digital cellular technology used for transmitting mobile voice and data
services operate at the 850MHz, 900MHz, 1800MHz, and 1900MHz frequency bands.
GSM technology was developed as a digital system using the time division
multiple access (TDMA) technique for communication purposes. A GSM digitizes and
reduces the data, then sends it down through a channel with two different streams of
client data, each in its own particular time slot. The digital system has the ability to
carry 64 kbps to 120 Mbps of data rates.

Fig 4.3.2: GSM Modem

There are various cell sizes in a GSM system such as macro, micro, Pico, and
umbrella cells. Each cell varies as per the implementation domain. There are five
different cell sizes in a GSM network macro, micro, Pico, and umbrella cells. The
coverage area of each cell varies according to the implementation environment.

25
The time division multiple access (TDMA) technique relies on assigning
different time slots to each user on the same frequency. It can easily adapt to data
transmission and voice communication and can carry 64kbps to 120Mbps of data rate.

GSM Technology Architecture


The main elements in the GSM architecture include the following.

Fig 4.3.3: GSM Architecture

➢ Network and Switching Subsystem (NSS)


➢ Base-Station Subsystem (BSS)
➢ The mobile station (MS)
➢ Operation and Support Subsystem (OSS)

Network Switching Subsystem (NSS)


In GSM system architecture, it includes different elements, which are
frequently known as the core system/network. Here, it is basically a data network
including a variety of units to provide the major control as well as interfacing of the
entire mobile network system. The core network includes the major elements which are
discussed below.
➢ Mobile Switching Centre (MSC)
➢ Home Location Register (HLR)
➢ Visitor Location Register (VLR)
➢ Equipment Identity Register (EIR)
➢ Authentication Centre (AUC)
➢ Gateway Mobile Switching Centre (GMSC)
➢ SMS Gateway (SMS-G)

26
Base Station Subsystem (BSS)
It acts as an interface between the mobile station and the network subsystem.
It consists of the Base Transceiver Station which contains the radio transceivers and
handles the protocols for communication with mobiles. It also consists of the Base
Station Controller which controls the Base Transceiver station and acts as an interface
between the mobile station and mobile switching centre.
The network subsystem provides the basic network connection to the mobile
stations. The basic part of the Network Subsystem is the Mobile Service Switching
Centre which provides access to different networks like ISDN, PSTN, etc. It also
consists of the Home Location Register and the Visitor Location Register which
provides the call routing and roaming capabilities of GSM.
It also contains the Equipment Identity Register which maintains an account of
all the mobile equipment wherein each mobile is identified by its own IMEI number.
IMEI stands for International Mobile Equipment Identity.
The BSS or Base Station Subsystem section of the second-generation GSM
network architecture is basically connected with the mobiles over the network. This
subsystem includes two elements which are discussed below.
➢ Base Transceiver Station (BTS)
➢ Base Station Controller (BSC)

Mobile Station (MS)


It is the mobile phone which consists of the transceiver, the display, and the
processor and is controlled by a SIM card operating over the network.
The MS (Mobile stations) or ME (mobile equipment) are most generally
identified through cell otherwise mobile phones which are the part of a GSM mobile
communications n/w that the operator observes & operates. At present, their dimension
has reduced radically whereas the functionality level has very much increased. And one
more benefit is that the time among charges has drastically enlarged. There are different
elements to the mobile phone, though the two essential elements are the hardware &
the SIM.
The hardware includes the major elements of the mobile phone like the case,
display, battery, & the electronics utilized to produce the signal & process the data
receiver to be broadcasted. The mobile station includes a number called the IMEI. This
can be set up on the mobile phone while manufacturing & it cannot be modified.
27
It is accessed by the network during registration to check whether the
equipment has been reported as stolen.
The SIM (Subscriber Identity Module) card includes the data which gives the
user identity toward the network. And also, it includes different information like a
number called the IMSI (International Mobile Subscriber Identity). When this IMSI is
used in the SIM card, the mobile user could simply change mobiles by moving the SIM
from one mobile to another.
So mobile changing is easy without changing the same mobile number means
that people would frequently improve, thus making a further income stream for the
providers of network & serving to enhance the total financial victory of GSM.

Operation and Support Subsystem (OSS)


The operation support subsystem (OSS) is a part of the complete GSM network
architecture. This is connected to the NSS & the BSC components. This OSS is mainly
used to control the GSM network & the BSS traffic load. It should be noted down that
when the number of BS enhances through the subscriber population scaling then some
of the preservation tasks are moved to the base transceiver stations so that the ownership
cost of the system can be reduced.
The GSM network architecture of 2G mainly follows a logical technique of
operation. This is very simple as compared with present architectures of mobile phone
network which utilize software-defined units to allow extremely supple operation. But
the architecture of 2G GSM will demonstrate the voice& operational fundamental
functions that are required & how they arranged together. When the GSM system is
digital, then the network is a data network.
Features of GSM Module

The features of the GSM module include the following.


➢ Improved spectrum efficiency
➢ International roaming
➢ Compatibility with integrated services digital network (ISDN)
➢ Support for new services.
➢ SIM phonebook management
➢ Fixed dialling number (FDN)
➢ Real-time clock with alarm management

28
➢ High-quality speech
➢ Uses encryption to make phone calls more secure
➢ Short message service (SMS)

The security strategies standardized for the GSM system make it the most secure
telecommunications standard currently accessible. Although the confidentiality of a
call and secrecy of the GSM subscriber is just ensured on the radio channel, this is a
major step in achieving end-to-end security.

GSM Modem
A GSM modem is a device that can be either a mobile phone or a modem device
that can be used to make a computer or any other processor communicate over a
network. A GSM modem requires a SIM card to be operated and operates over a
network range subscribed by the network operator. It can be connected to a computer
through serial, USB, or Bluetooth connection.

A GSM modem can also be a standard GSM mobile phone with the appropriate
cable and software driver to connect to a serial port or USB port on your computer.
GSM modem is usually preferable to a GSM mobile phone. The GSM modem has a
wide range of applications in transaction terminals, supply chain management, security
applications, weather stations, and GPRS mode remote data logging.

Working of GSM Modem

From the below circuit, a GSM modem duly interfaced to the MC through the
level shifter IC Max232. The SIM card mounted GSM modem upon receiving digit
command by SMS from any cell phone sends that data to the MC through serial
communication.
While the program is executed, the GSM modem receives the command ‘STOP’
to develop an output at the MC, the contact point of which are used to disable the
ignition switch.
The command so sent by the user is based on an intimation received by him
through the GSM modem ‘ALERT’ a programmed message only if the input is driven
low. The complete operation is displayed over a 16×2 LCD display.

29
Fig 4.3.4: 16x2 LCD Display

GSM Technology Applications


The applications of GSM technology include the following.
➢ Intelligent GSM Technology for Automation and Security
➢ GSM Applications in Medical Services
➢ Basic Telemedicine System
In practice, GSM technology is used in the following fields
➢ AT&T Virtuality Glow Camp
➢ Moissanite Mobius SPI Ultrasound System
➢ Dexcom Seven Plus Continuous Glucose Monitoring (CGM) System.

4.4 BUZZER

The buzzer is really old in terms of what the electronics industry has to offer
today by way of noise makers, but having been around for decades, there are a lot of
them “out there” in the field so a look at their operating principle is worth spending a
little of our time. A buzzer is built very much like an electromagnetic relay, but coil
activation is controlled differently, as seen below.

Fig 4.4.1: BUZZER CONSTRUCTION

30
➢ In part 1 of the image above, the armature is being pulled to a resting position
by a spring (not pictured here) at which position it has just arrived and before magnetic
attraction from the coil has had its effect on armature position. The arm of that armature
may even be curved a little bit like a deformed flat spring.
➢ In part 2 of the image, the armature is being attracted toward the energized coil.
The flat spring may get straightened out but the contacts are not necessarily separated
yet, which means that the coil is still energized.
➢ In part 3, the armature has moved toward the attracting coil and the contacts
have opened up, thereby de-energizing the coil, which now is no longer an attractor.
The armature then falls back to the part 1 position and the whole cycle repeats itself
over and over again as shown below.

Fig 4.4.2: Armature cycle

4.5 LCD 16×2 Pin Configuration and Its Working

Nowadays, we always use the devices which are made up of LCDs such as CD
players, DVD players, digital watches, computers, etc. These are commonly used in the
screen industries to replace the utilization of CRTs. Cathode Ray Tubes use huge power
when compared with LCDs, and CRTs heavier as well as bigger. These devices are
thinner as well power consumption is extremely less. The LCD 16×2 working principle
is, it blocks the light rather than dissipate. This article discusses an overview of LCD
16X2, pin configuration and its working.

31
Fig 4.5.1: LCD 16×2 Pin Diagram

The 16×2 LCD pinout is shown below.

➢ Pin1 (Ground/Source Pin): This is a GND pin of display, used to connect the
GND terminal of the microcontroller unit or power source.
➢ Pin2 (VCC/Source Pin): This is the voltage supply pin of the display, used to
connect the supply pin of the power source.
➢ Pin3 (V0/VEE/Control Pin): This pin regulates the difference of the display,
used to connect a changeable POT that can supply 0 to 5V.
➢ Pin4 (Register Select/Control Pin): This pin toggles among command or data
register, used to connect a microcontroller unit pin and obtains either 0 or 1(0 = data
mode, and 1 = command mode).
➢ Pin5 (Read/Write/Control Pin): This pin toggles the display among the read or
writes operation, and it is connected to a microcontroller unit pin to get either 0 or 1
(0 = Write Operation, and 1 = Read Operation).
➢ Pin 6 (Enable/Control Pin): This pin should be held high to execute Read/Write
process, and it is connected to the microcontroller unit & constantly held high.
➢ Pins 7-14 (Data Pins): These pins are used to send data to the display. These
pins are connected in two-wire modes like 4-wire mode and 8-wire mode. In 4-wire
mode, only four pins are connected to the microcontroller unit like 0 to 3, whereas in
8-wire mode, 8-pins are connected to microcontroller unit like 0 to 7.
➢ Pin15 (positive pin of the LED): This pin is connected to +5V.
➢ Pin 16 (negative pin of the LED): This pin is connected to GND.

32
Fig 4.5.2: Pin Diagram of LCD

Features of LCD16x2
The features of this LCD mainly include the following.
➢ The operating voltage of this LCD is 4.7V-5.3V
➢ It includes two rows where each row can produce 16-characters.
➢ The utilization of current is 1mA with no backlight
➢ Every character can be built with a 5×8-pixel box
➢ The alphanumeric LCDs alphabets & numbers
➢ Is display can work on two modes like 4-bit & 8-bit
➢ These are obtainable in Blue & Green Backlight

Registers of LCD
A 16×2 LCD has two registers like data register and command register. The RS
(register select) is mainly used to change from one register to another. When the register
set is ‘0’, then it is known as command register. Similarly, when the register set is ‘1’,
then it is known as data register.

4.6 FINGERPRINT SCANNER

R307 FINGERPRINT MODULE:

R307 Fingerprint Module consists of optical fingerprint sensor, high-speed DSP


processor, high-performance fingerprint alignment algorithm, high-capacity FLASH

33
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.

Fig 4.6.1:Fingerprint Sensor Module

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 R307 fingerprint module has two interface TTL UART and USB2.0,
USB2.0 interface can be connected to the computer; RS232 interface is a TTL level,
the default baud rate is 57600, can be changed, refer to a communication protocol; can

34
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.

About the module's power supply fingerprint module board marked with 3.3V
– 2 contacts short circuit, you can use DC 3.3V.

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, i.e., 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).

35
4.7 PUSH BUTTONS

Push-button (also spelled pushbutton) or simply button is a simple


switch mechanism to control some aspect of a machine or a process. Buttons are
typically made out of hard material, usually plastic or metal. The surface is usually flat
or shaped to accommodate the human finger or hand, so as to be easily depressed or
pushed. Buttons are most often biased switches, although many un-biased buttons (due
to their physical nature) still require a spring to return to their un-pushed state. Terms
for the "pushing" of a button include pressing, depressing, mashing, slapping, hitting,
and punching.

A push switch(button) is a momentary or non-latching switch which causes a


temporary change in the state of an electrical circuit only while the switch is physically
actuated. An automatic mechanism (i.e., a spring) returns the switch to its default
position immediately afterwards, restoring the initial circuit condition. They are two
types:

➢ A ‘push to make’ switch allows electricity to flow between its two contacts
when held in. When the button is released, the circuit is broken. This type of switch is
also known as a Normally Open (NO) Switch. Examples: Doorbell, Computer case
power switch, calculator buttons, individual keys on a keyboard.
➢ A ‘push to break’ switch does the opposite i.e., when the button is not pressed,
electricity can flow, but when it is pressed the circuit is broken. This type of switch is
also known as a Normally Closed (NC) Switch. Examples: Fridge Light Switch, Alarm
Switches in Fail-Safe circuits).

Fig:4.7.1 Push Buttons

36
CHAPTER 5
SOFTWARE DESCRIPTION

37
5.1 ARDUINO SOFTWARE (IDE)
The Arduino Integrated Development Environment - or Arduino Software
(IDE) - contains a text editor for writing code, a message area, a text console, a toolbar
with buttons for common functions and a series of menus. It connects to the Arduino
and Genuine hardware to upload programs and communicate with them.
Writing Sketches
Programs written using Arduino Software (IDE) are called sketches. These
sketches are written in the text editor and are saved with the file extension. The editor
has features for cutting/pasting and for searching/replacing text. The message area gives
feedback while saving and exporting and also displays errors. The console displays text
output by the Arduino Software (IDE), including complete error messages and other
information. The bottom corner of the window displays the configured board and serial
port. The toolbar buttons allow you to verify and upload programs, create, open, and
save sketches, and open the serial monitor.

NB: Versions of the Arduino Software (IDE) prior to 1.0 saved sketches with the
extension pde. It is possible to open these files with version 1.0, you will be prompted
to save the sketch with the. ion extension on saves.

Verify:
Checks your code for errors compiling it.
Upload:
Compiles your code and uploads it to the configured board. See uploading
below for details.

New:
Creates a new sketch.

Open:
Presents a menu of all the sketches in your sketchbook. Clicking one will
open it within the current window overwriting its content.
Save:
Saves your sketch.

Serial Monitor:
Opens the serial monitor.

Table 5.1: Tool bar Buttons

38
Additional commands are found within the five menus: File, Edit, Sketch, Tools,
Help. The menus are context sensitive, which means only those items relevant to the
work currently being carried out are available.

5.2 COMMANDS

File
➢ New
Creates a new instance of the editor, with the bare minimum structure of a
sketch already in place.
➢ Open
Allows to load a sketch file browsing through the computer drives and folders.
➢ Open Recent
Provides a short list of the most recent sketches, ready to be opened.
➢ Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on
any name opens the corresponding sketch in a new editor instance.
➢ Examples
Any example provided by the Arduino Software (IDE) or library shows up
in this menu item. All the examples are structured in a tree that allows easy access by
topic or library.
➢ Close
Closes the instance of the Arduino Software from which it is clicked.
➢ Save
Saves the sketch with the current name. If the file hasn't been named before, a
name will be provided in a "Save as." window.
➢ Save as...
Allows to save the current sketch with a different name.
➢ Page Setup
It shows the Page Setup window for printing.
➢ Print
Sends the current sketch to the printer according to the settings defined in Page
Setup.

39
➢ Preferences
Opens the Preferences window where some settings of the IDE may be
customized, as the language of the IDE interface.
➢ Quit
Closes all IDE windows. The same sketches open when quit was chosen will be
automatically reopened the next time you start the IDE.

Edit

➢ Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you
may go forward with Redo.
➢ Cut
Removes the selected text from the editor and places it into the clipboard.
➢ Copy
Duplicates the selected text in the editor and places it into the clipboard.
➢ Copy for Forum
Copies the code of your sketch to the clipboard in a form suitable for posting
to the forum, complete with syntax colouring.
➢ Copy as HTML
Copies the code of your sketch to the clipboard as HTML, suitable for
embedding in web pages.
➢ Paste
Puts the contents of the clipboard at the cursor position, in the editor.
➢ Select All
Selects and highlights the whole content of the editor.
➢ Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
➢ Increase/Decrease Indent
Adds or subtracts a space at the beginning of each selected line, moving the text
one space on the right or eliminating a space at the beginning.
➢ Find
Opens the Find and Replace window where you can specify text to search
inside the current sketch according to several options.

40
➢ Find Next
Highlights the next occurrence - if any - of the string specified as the search
item in the Find window, relative to the cursor position.
➢ Find Previous
Highlights the previous occurrence - if any - of the string specified as the search
item in the Find window relative to the cursor position.

Sketch

➢ Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for
code and variables in the console area.
➢ Upload
Compiles and loads the binary file onto the configured board through the
configured Port.
➢ Upload Using Programmer
This will overwrite the bootloader on the board; you will need to use Tools >
Burn Bootloader to restore it and be able to Upload to USB serial port again. However,
it allows you to use the full capacity of the Flash memory for your sketch. Please note
that this command will NOT burn the fuses. To do so a Tools -> Burn Bootloader
command must be executed.
➢ Export Compiled Binary
Saves a .hex file that may be kept as archive or sent to the board using other
tools.
➢ Show Sketch Folder
Opens the current sketch folder.
➢ Include Library
Adds a library to your sketch by inserting #include statements at the start of your
code. For more details, see libraries below. Additionally, from this menu item you can
access the Library Manager and import new libraries from .zip files.
➢ Add File...
Adds a source file to the sketch (it will be copied from its current location). The
new file appears in a new tab in the sketch window. Files can be removed from the
sketch using the tab menu accessible clicking on the small triangle icon below the serial
monitor one on the right-side of the toolbar.

41
Tools

➢ Auto Format
This formats your code nicely: i.e., indents it so that opening and closing curly
braces line up, and that the statements inside curly braces are indented more.
➢ Archive Sketch
Archives a copy of the current sketch in .zip format. The archive is placed in
the same directory as the sketch.
➢ Fix Encoding & Reload
Fixes possible discrepancies between the editor char map encoding and other
operating systems char maps.
➢ Serial Monitor
Opens the serial monitor window and initiates the exchange of data with any
connected board on the currently selected Port. This usually resets the board, if the
board supports Reset over serial port opening.
➢ Board
Select the board that you're using. See below for descriptions of the various
boards.
➢ Port
This menu contains all the serial devices (real or virtual) on your machine. It
should automatically refresh every time you open the top-level tools menu.
➢ Programmer
For selecting a hardware programmer when programming a board or chip and
not using the on-board USB serial connection. Normally you won't need this, but if
you're burning a bootloader to a new microcontroller, you will use this.
➢ Burn Bootloader
The items in this menu allow you to burn a bootloader onto the microcontroller
on an Arduino board. This is not required for normal use of an Arduino or Genuine
board but is useful if you purchase a new AT mega microcontroller (which normally
come without a bootloader). Ensure that you've selected the correct board from the
Boards menu before burning the bootloader on the target board. This command also set
the right fuses.

42
Help
Here you find easy access to a number of documents that come with the Arduino
Software (IDE). You have access to Getting Started, Reference, this guide to the IDE
and other documents locally, without an internet connection. The documents are a local
copy of the online ones and may link back to our online website.

➢ Find in Reference
This is the only interactive function of the Help menu: it directly selects the
relevant page in the local copy of the Reference for the function or command under the
cursor.

Sketchbook
The Arduino Software (IDE) uses the concept of a sketchbook: a standard place
to store your programs (or sketches). The sketches in your sketchbook can be opened
from the File > Sketchbook menu or from the Open button on the toolbar. The first time
you run the Arduino software, it will automatically create a directory for your
sketchbook. You can view or change the location of the sketchbook location from with
the Preferences dialog.
Beginning with version 1.0, files are saved with a .ino file extension. Previous
versions use the. pde extension. You may still open. pde named files in version 1.0 and
later, the software will automatically rename the extension to. ion.
Allows you to manage sketches with more than one file (each of which appears
in its own tab). These can be normal Arduino code files (no visible extension), C files
(.c extension), C++ files (.copy), or header files (.h).

Uploading
Before uploading your sketch, you need to select the correct items from the
Tools > Board and Tools > Port menus. The boards are described below. On the Mac,
the serial port is probably something like /dev/tty. usbmodem241 (for an Uno or
Mega2560 or Leonardo) or /dev/tty.usbserial-1B1 (for a Duemilanove or earlier USB
board), or /dev/tty. USA19QW1b1P1.1 (for a serial board connected with a Key span
USB-to Serial adapter). On Windows, it's probably COM1 or COM2 (for a serial board)

43
or COM4, COM5, COM7, or higher (for a USB board) - to find out, you look for USB
serial device in the port section of the Windows Device Manager.
On Linux, it should be /dev/ttyACMx, /dev/ttyUSBx or similar. Once you've
selected the correct serial port and board, press the upload button in the toolbar or select
the Upload item from the Sketch menu. Current Arduino boards will reset automatically
and begin the upload. With older boards (pre-Decimal) that lack auto-reset, you'll need
to press reset button on the board just before starting the upload. On most boards, you'll
see the RX and TX LEDs blink as the sketch is uploaded. The Arduino Software (IDE)
will display a message when the upload is complete, or show an error.
When you upload a sketch, you're using the Arduino bootloader, a small program
that has been loaded on to the microcontroller on your board. It allows you to upload
code without using any additional hardware.
The bootloader is active for a few seconds when the board resets; then it starts
whichever sketch was most recently uploaded to the microcontroller.

Libraries

Libraries provide extra functionality for use in sketches, e.g., working with
hardware or manipulating data. To use a library in a sketch, select it from the Sketch >
Import Library menu. This will insert one or more #include statements at the top of the
sketch and compile the library with your sketch. Because libraries are uploaded to the
board with your sketch, they increase the amount of space it takes up. If a sketch no
longer needs a library, simply delete its #includestatements from the top of your code.
There is a list of libraries in the reference. Some libraries are included with the
Arduino software. Others can be downloaded from a variety of sources or through the
Library Manager. Starting with version 1.0.5 of the IDE, you do can import a library
from a zip file and use it in an open sketch. See these instructions for installing third
party library.

44
Language Support

Fig 5.2.1: Language Support

Since version 1.0.1 , the Arduino Software (IDE) has been translated into 30+
different languages. By default, the IDE loads in the language selected by your
operating system. (Note: on Windows and possibly Linux, this is determined by the
locale setting which controls currency and date formats, not by the language the
operating system is displayed in.)
If you would like to change the language manually, start Arduino Software
(IDE) and open the Preferences window. Next to the Editor Language there is a
dropdown menu of currently supported languages. Select your preferred language from
the menu, and restart the software to use the selected language.
If your operating system language is not supported, the Arduino Software (IDE)
will default to English. You can return the software to its default setting of selecting
its language based on your operating system by selecting System Default from the
Editor Language dropdown. This setting will take effect when you restart the Arduino
Software (IDE). Similarly, after changing your operating system's settings, you must
restart the Arduino Software (IDE) to update it to the new default language.

Boards

The board selection has two effects: it sets the parameters (e.g., CPU speed and
baud rate) used when compiling and uploading sketches; and sets and the file and fuse
settings used by the burn bootloader command. Some of the board definitions differ
only in the latter, so even if you've been uploading successfully with a particular

45
selection, you'll want to check it before burning the bootloader. You can find a
comparison table between the various boards here.
Arduino Software (IDE) includes the built-in support for the boards in the
following list, all based on the AVR Core. The Boards Manager included in the standard
installation allows to add support for the growing number of new boards based on
different cores like Arduino Due, Arduino Zero, Edison, Galileo and so on.
Arduino IDE: Initial Setup Download Arduino Integrated Design Environment (IDE)
here (Most recent version: 1.6.5): https://www.arduino.cc/en/Main/Software This is the
Arduino IDE once it’s been opened. It opens into a blank sketch where you can start
programming immediately.
First, we should configure the board and port settings to allow us to upload code.

Connect your Arduino board to the PC via the USB cable.

Fig 5.2.2: IDE Board Setup

You have to tell the Arduino IDE what board you are uploading to. Select the
Tools pulldown menu and go to Board. This list is populated by default with the
currently available Arduino Boards that are developed by Arduino. If you are using an
Uno or an Uno-Compatible Clone (ex. Fun Duino, Sains Mart, IEIK, etc.), select
Arduino Uno. If you are using another board/clone, select that board.

46
Fig 5.2.3: IDE Board Setup Procedure

IDE: COM Port Setup

If you downloaded the Arduino IDE before plugging in your Arduino board,
when you plugged in the board, the USB drivers should have installed automatically.
The most recent Arduino IDE should recognize connected boards and label them with
which COM port they are using. Select the Tools pulldown menu and then Port. Here
it should list all open COM ports, and if there is a recognized Arduino Board, it will
also give its name. Select the Arduino board that you have connected to the PC. If the
setup was successful, in the bottom right of the
Arduino IDE, you should see the board type and COM number of the board you
plan to program. Note: the Arduino Uno occupies the next available COM port; it will
not always be COM3.

Fig 5.2.4: COM Port Setup

47
At this point, your board should be set up for programming, and you can begin
writing and uploading code.

Testing Your Settings: Uploading Blink

One common procedure to test whether the board you are using is properly set
up is to upload the “Blink” sketch. This sketch is included with all Arduino IDE releases
and can be accessed by the File pull-down menu and going to Examples, 01. Basics,
and then select Blink. Standard
Arduino Boards include a surface-mounted LED labelled “L” or “LED” next to
the “RX” and “TX” LEDs, that is connected to digital pin 13. This sketch will blink the
LED at a regular interval, and is an easy way to confirm if your board is set up properly
and you were successful in uploading code. Open the “Blink” sketch and press the
“Upload” button in the upper-left corner to upload “Blink” to the board.

Fig 5.2.5: Blink Sketch

48
Fig 5.2.6: Uploading Blink

Guide Summary:

➢ Download and install Arduino IDE

(https://www.arduino.cc/en/Main/Software)

➢ Plug in your Arduino Board

➢ Select the proper board in the IDE (Tools>Boards>Arduino Uno)

➢ Select the proper COM port (Tools>Port>COMx (Arduino Uno))

➢ Open the “Blink” sketch (File>Examples>Basics>01.Blink)

➢ Press the Upload button to upload the program to the board

➢ Confirm that your board is working as expected by observing LED.

49
CHAPTER 6
RESULTS

50
RESULTS

Fig 6.1: FINGERPRINT BASED ADVANCED VOTING MACHINE USING GSM


ARDUINO MEGA, FINGERPRINT SCANNER, GSM MODEM, LCD, BUZZER, POWER
SUPPLY AND PUSH BUTTONS ARE THE COMPONENTS USED IN THIS PROJECT.

Fig 6.2: WHENEVER WE SWITCHED ON OUR PROJECT KIT LCD WILL DISPLAY AS
“BIOMETRIC VOTING MACHINE”.

Fig 6.3: HERE BEFORE CASTING THE WE MUST ENROLL OUR FINGERPRINT AT
THE TIME OF REGISTRATION. TO ENROLL WE HAVE TO CLICK THE ENROLL
BUTTON THEN IT WILL ASK TO” PLACE FINGER. IF WE PLACE THE FINGER THEN
IT WILL DISPLAY AS” STORED “.

51
Fig 6.4: TO CAST THE VOTE WE HAVE TO PRESS MATCH BUTTON THEN IT WILL
AS “PLACE FINGER”. IF THE DATA MATCH WITH THE PRE-STORED DATA, THEN
IT WILL DISPLAY “AUTHORISED VOTER” AND “PLEASE PLACE YOUR VOTE”.

Fig 6.5: IF THE VOTER CHOOSES TO CAST HIS FOR CANDIDATE-1 THEN IT WILL
DISPLAY “VOTE SUBMITTED” AND ALSO “SMS SUBMITTED”.

Fig 6.6: IF THE VOTER IS ALREADY CAST HIS VOTE THE LCD DISPLAY
“ALREADY VOTED” AND ALSO BUZZER WILL SOUND.

52
Fig 6.7: IF THE VOTER IS NOT ENROLL AT THE TIME OF REGISTRATION, THEN IT
WILL DISPLAY “FINGER NOT FOUND” AND DOESN’T ALLOW TO CAST HIS
VOTE.

Fig 6.8: IF WE WANT TO SEE THE RESULTS THEN WE HAVE TO PRESS RESULT
BUTTON THE LCD DISPLAY CANDIDATE VOTES AND ALSO DISPLAY THE
WINNER.

Fig 6.9: WHENEVER THE TWO OR MORE CANDIDATES GOT THE SAME RESULTS
THEN LCD DISPLAY “TIE UP OR NO RESULTS”.

53
CHAPTER 7

CONCLUSION

54
CONCLUSION

The project “Fingerprint Based Voting Machine” was mainly intended to


develop a fingerprint based advanced Electronic Voting Machine (EVM) which helps
in free and fair way of conducting elections which are basis for democratic country like
India. The hardware setup successfully implements the EVM with the help of
Fingerprint sensor and Arduino. Result of voting count will be displayed on LCD.
Operation shows innovative and secure process of voting. We have designed Biometric
voting machine for small scale purpose like institutes and organization. This concludes
that fingerprint is useful for voting.

55
CHAPTER 8

BIBLIOGRAPHY

56
BIBLIOGRAPHY

➢ [1] V. Kiruthika Priya, V. Vimaladevi, B. Pandimeenal, T. Dhivya, “Arduino


based smart electronic voting machine”, 2017 International Conference on Trends in
Electronics and Informatics (ICEI) Year: 2017, conference Paper, Publisher: IEEE.
➢ [2] Rahil Rizwan, Huzaifa Ahmed, M. R. N. Biplo, S. M. Shuvo, Md. Abdul
Rahman, “Biometrically secured electronic voting machine”, 2017 IEEE Region 10
Humanitarian Technology Conference (R10- HTC).
➢ [3] Prof. Sunita Patil, Amish Bansal, Utkarsha Raina, Vaibhavi Pujari, Raushan
Kumar, “E-Smart Voting Machine with Secure Data Identification Using
Cryptography”, 2018 Publisher: IEEE
➢ [4] Annalisa Franco, “Fingerprint: Technologies and Algorithms for
Biometrics Applications”, Year: 2011, Course, Publisher: IEEE.
➢ [5] A. Piratheepan, S. Sasikaran, P. Thanushkanth, S. Tharsika, M. Nathiya, C.
Sivakaran, N. Thiruchchelvan and K. Thiruthanigesan, “Fingerprint Voting System
Using Arduino”, College of Technology Jaffna, Sri Lanka University College of
Anuradhapura, University of Vocational Technology, Sri Lanka
➢ [6] Rohan Patel, Vaibhav Ghorpade, Vinay Jain and Mansi Kambli,
“Fingerprint Based e-Voting System using Aadhar Database”, 2015.
➢ [7] S Wolchok, E Wustrow, JA Halderman. “Security analysis of India's
electronic voting machines” 2010.
➢ [8] Qijun Zhao, Lei Zhang, David Zhang and Nan Luo, “Adaptive Pore Model
for Fingerprint Pore Extraction”, IEEE, 978-1-4244-2175 - 6/08.
➢ [9] Md. Mahboob Karim, Nabila Shahnaz Khan, Ashratuz Zavin, Shusmoy
Kundu, Asibul Islam, Brazab Nayak, “A proposed framework for biometric electronic
voting system”, IEEE International conference on 2017
➢ [10] Soumyajit Chakraborty, Siddhartha Mukherjee, Bhaswati Sadhukhan, Kazi
Tanvi Yasmin, “Biometric Voting System using Aadhar Card in India” 2016.

57

You might also like