Professional Documents
Culture Documents
2021-2022
Website: www.nbkrist.org Ph: 08624-228 247
Email: ist@nbkrist.org Fax: 08624-228257
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.
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 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
1 INTRODUCTION 1-4
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
LIST OF TABLES
INTRODUCTION
1
1.1 INTRODUCTION
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.
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.
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.
➢ 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.
7
Advantages
• Easily Customizable
• Low power consumption
• Low cost
• Enhanced performance
Disadvantages
8
CHAPTER 3
METHODOLOGY
9
3.1 EXISTING SYSTEM:
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.
➢ BALLOT BOX:
10
3.2 PROPOSED SYSTEM:
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
➢ ARDUINO MEGA
➢ GSM MODEM
➢ LCD
➢ BUZZER
➢ PUSH BUTTONS
➢ POWER SUPPLY
➢ ARDUINO IDE
➢ EMBEDDED C LANGUAGE
➢ COMMANDS
12
CHAPTER 4
HARDWARE DESCRIPTION
13
4.1 ARDUINO MEGA
Choice of board
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.
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.
[1] μC:
16
Fig 4.1.4 ATmega2560 pinout.
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:
This board contains 54 digital I/O pins, 12 of which are PWM (Pulse Width
Modulation) outputs.
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.
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.
[10] Regulator 5 V:
USB port can be used to power the board and to load the code.
[14] μC:
19
Fig 4.2.1: Block diagram of a fixed regulated power supply.
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
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.
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
Circuit diagram:
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
Output Imax 1A
23
4.3 GSM MODULE
24
GSM TECHNOLOGY: ARCHITECTURE & ITS APPLICATIONS
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.
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)
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.
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
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.
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.
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
➢ 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.
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.
Features
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
35
4.7 PUSH BUTTONS
➢ 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).
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.
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
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.
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
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.
47
At this point, your board should be set up for programming, and you can begin
writing and uploading code.
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.
48
Fig 5.2.6: Uploading Blink
Guide Summary:
(https://www.arduino.cc/en/Main/Software)
49
CHAPTER 6
RESULTS
50
RESULTS
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
55
CHAPTER 8
BIBLIOGRAPHY
56
BIBLIOGRAPHY
57