fpbvs3[1]
fpbvs3[1]
INTRODUCTION
1.1 INTRODUCTION TO THE PROJECT:
Voting is an important part of an independent society of choosing leaders and
contributes towards the betterment of the country. It is a decision-making mechanism where
security plays an important role in voting. In categorize to ensure high security, voting
machine should be designed and developed with large concern. Therefore, this project is
planned for a voting machine by using the fingerprint. Here a voter's fingerprint is used for
identifying the voters. The system will check whether it matches prestored impressions in the
memory. If it matches, then the system will allow the voter to poll his vote otherwise prevent
the voter from polling.
For a voting system to be ideal, five attributes must be satisfied: fidelity, robustness,
coherence, consistency, safety and security. This system has been developed to simplify the
process of organizing elections and make it convenient for voters to exercise their votes by
providing the required hardware and software capabilities. The main objective of this voting
system is to develop a secure and reliable application for the voting of elections.
This system would allow only the legitimate (legal) users to cast their vote by
verifying their fingerprint as an identity proof. If the fingerprint matches with the
details stored in database then the user is allowed to cast vote otherwise restricted if
fingerprint does not match or vote is being repeated.
This system avoids rigging of votes and saves time and human effort.
CHAPTER-2
LITERATURE SURVEY
2.1 EXISTING SYSTEM:
The ballot box and Electronic Voting Machine (EVM) systems are two methods used
to collect and record votes in elections.
The traditional ballot box system involves voters marking their chosen candidate on a
paper ballot, which is then placed in a secure box. This system requires election officers to
verify each voter's identity before issuing a ballot paper. After voting, the ballot papers are
counted manually to determine the winner. While simple, this system has several drawbacks,
including the risk of tampering, high paper usage, and time-consuming counting processes.
Fig
In contrast, EVMs offer a more efficient and secure way to cast votes. Introduced in
India in 1998, EVMs replaced paper ballots and have been used in all general and state
assembly elections since 2014. These machines consist of two units: a control unit and a
balloting unit, connected by a cable. Voters select their preferred candidate by pressing a
button, and the EVM records the vote. The benefits of EVMs include reduced paper usage,
faster counting, and increased security.
CHAPTER-3
WORKING
3.1 BLOCK DIAGRAM:
Fig 3.1: Block diagram of the project
1. Fingerprint Enrollment: In this process voter needs to enroll their fingerprint. If enrolling
approach is given, the controller waits for input and activates the scanner to accept the
fingerprint, displays “Enrolling” on the LCD display. When the voter places the finger on the
scanner it captures an image of fingerprint and creates a template. This template is stored in its
memory.
2. Fingerprint Identification: In this process, before casting the votes the voters has to check
for validity to the voting. When the voter scans their fingerprint, the fingerprint is scanned and
compared with the fingerprints stored in the memory. If it is matched with the pre-stored
fingerprints then the voter is eligible to vote otherwise they will not allowed to cast their vote.
3. Casting the votes: After fingerprint verification the voter will allowed to cast the votes.
The LCD will display the prompt “plz select your vote”. The voter will choose their party in
the given options by simply pressing the pushbuttons, and LCD displays the “party selected”
and the green LED glows to indicate the successful vote.
4. Alert for wrong voting: If the voter already voted, in verification time if the fingerprint
matched then LCD will displays “u r already voted” and red LED glows and buzzer produces
beep sound.
5. Generating final report: After finishing the vote casting, simply press the result button to
know which party is gain the highest votes. This will generates the final report by seeing the
votes of the parties.
CHAPTER-4
HARDWARE DESCRIPTION
4.1 ARDUINO UNO:
The Arduino Uno is a microcontroller board based on the ATmega328P. It has 14
digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz
crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer
with a USB cable or power it with an AC to-DC adapter or battery to get started. The Uno
differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip.
Instead, it features the Atmega8U2 programmed as a USB-to serial converter. "Uno" means
one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and
version 1.0 will be the reference versions of Arduino, moving forward. The Uno is the latest
in a series of USB Arduino boards, and the reference model for the Arduino platform; for a
comparison with previous versions, see the index of Arduino boards.
Fig 4.1: Arduino UNO
ICSP pin - The In-Circuit Serial Programming pin allows the user to program using
the firmware of the Arduino board.
Power LED Indicator- The ON status of LED shows the power is activated. When
the power is OFF, the LED will not light up.
Digital I/O pins- The digital pins have the value HIGH or LOW. The pins numbered
from D0 to D13 are digital pins.
TX and RX LED's- The successful flow of data is represented by the lighting of these
LED's.
AREF- The Analog Reference (AREF) pin is used to feed a reference voltage to the
Arduino UNO board from the external power supply.
Reset button- It is used to add a Reset button to the connection.
USB- It allows the board to connect to the computer. It is essential for the
programming of the Arduino UNO board.
Crystal Oscillator- The Crystal oscillator has a frequency of 16MHz, which makes
the Arduino UNO a powerful board.
Voltage Regulator- The voltage regulator converts the input voltage to 5V.
GND- Ground pins. The ground pin acts as a pin with zero voltage.
Analog Pins- The pins numbered from A0 to A5 are analog pins. The function of
Analog pins is to read the analog sensor used in the connection. It can also act as
GPIO (General Purpose Input Output) pins.
The Atmel 8-bit AVR RISC-based microcontroller combines 32 KB ISP flash memory
with read-while-write capabilities, 1 KB EEPROM, 2 KB SRAM, 23 general-purpose I/O
lines, 32 general-purpose working registers, 3 flexible timer/counters with compare modes,
internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial
interface, SPI serial port, 6-channel 10-bit A/D converter (8 channels in TQFP and QFN/MLF
packages), programmable watchdog timer with internal oscillator, and 5 software-selectable
power-saving modes. The device operates between 1.8 and 5.5 volts. The device achieves
throughput approaching 1 MIPS/MHz’s.
FEATURES:
PARAMETER VALUE
CPU Type 8-bit AVR
Max CPU speed 20MHZ
Flash memory 32KB
SRAM 2KB
EEPROM 1KB
Package Pin count 28 or 32
Capacitive touch sensing channels 16
Max I/O Pins 23
External Interrupts 3
USB Interface No
Table 4.1: Features of ATmega328P microcontroller
Microcontroller: Atmega328P
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
In-out Voltage (limit): 6-20V
Digital I/O Pins: 14 (of which 6 provide PWM output)
PWM Digital I/O Pins: 6
Analog Input Pins: 6
DC Current per I/O Pin: 20 Ma
DC current for 3.3V Pin: 50 mA
Flash Memory: 32 KB (Atmega328P) of which 0.5 KB used by bootloader
SRAM: 2 KB (Atmega328P)
EEPROM: 1 KB (Atmega328P)
Clock Speed: 16 MHz
LED_BUILTIN: 13
Length: 68.6 mm
Width: 58.4 mm
4.1.5 APPLICATIONS:
Used in ARDUINO UNO, ARDUINO NANO and ARDUINO MICRO boards
etc..
Industrial control systems.
SMPS and Power Regulation systems.
Digital data processing.
Analog signal measuring and manipulations.
Embedded systems like coffee machine, vending machine.
Motor control systems.
Display units.
Peripheral Interface system.
4.2 R307S FINGER PRINT MODULE:
DESCRIPTION:
R307S fingerprint module is a finger print sensor with TTL UART interface. The user
can store the fingerprint data in the module and can configure it in 1:1 or 1: N mode for
identifying the person. The FP module can directly interface with 3.3 or 5v Microcontroller. A
level converter (like MAX232) is required for interfacing with PC serial port. R307
Fingerprint Module consists of high-speed DSP processor, high-performance fingerprint
alignment algorithm, high-capacity FLASH chips and other hardware and software
composition, stable performance, simple structure, with fingerprint entry, image processing,
fingerprint matching, search and template storage and other functions.
OPERATION PRINCIPLE:
Fingerprint processing includes two parts: fingerprint enrollment and fingerprint
matching (the matching can be 1:1 or 1:N).When enrolling, user needs to enter the finger two
times. The system will process the two time finger images, generate a template of the finger
based on processing results and store the template. When matching, user enters the finger
through optical sensor and system will generate a template of the finger and compare it with
templates of the finger library.
For 1:1 matching, system will compare the live finger with specific template
designated in the Module; for 1:N matching, or searching, system will search the whole finger
library for the matching finger. In both circumstances, system will return the matching result,
success or failure.
4.2.1 SPECIFICATIONS
4.2.2 APPLICATIONS:
The R307S fingerprint module is widely used in various security and identification systems
due to its compact size, accuracy, and ease of integration. Some common applications include:
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.
These 16 x 2 LCD display modules are constant of 16 Columns and 2 Rows. The 1 st
row of this module has a total of 16 columns 0 to 15 and the position of the first row is 0.
Also, the 2nd row has a total of 16 columns 0 to 15 and the position of the second row is
position is 1. So, the total numbers of the column are 16 x 2 = 32. Its means 16 x 2 LCD
module can display 32 characters at the same time. The LCD consists of Data, Command and
control registers. All the register helps to control the different kinds of functions on the LCD.
The data and command registers take the input from digital pins D0-D7. Then controls pins
help to differentiate between command/data registers.
4.3.1 PIN CONFIGURATION OF LCD:
This display can work on two modes like 4-bit & 8-bit.
4.4 LED’S:
INTRODUCTION:
BASIC PRINCIPLE:
Like a normal diode, the LED consists of a chip of semi conducting material
impregnated, or doped, with impurities to create a p-n junction. As in other diodes, current
flows easily from the p-side, or anode, to the n-side, or cathode, but not in the reverse
direction. Charge-carriers electrons and holes flow into the junction from electrodes with
different voltages. When an electron meets a hole, it falls into a lower energy level, and
releases energy in the form of a photon.
The wavelength of the light emitted, and therefore its color, depends on the band gap energy
of the materials forming the p-n junction.LEDs are usually built on an n-type substrate, with
an electrode attached to the p-type layer deposited on its surface. P-type substrates, while less
common, occur as well.
Miniature LEDs
Five- and twelve-volt LEDs
Flashing LEDs
High power LEDs
Multi-color LEDs
Alphanumeric LEDs
SPECIFICATIONS:
APPLICATIONS:
SPECIFICATIONS:
APPLICATIONS:
Calculators
Push-button telephones
Kitchen appliances
Magnetic locks
Various other mechanical and electronic devices.
4.6 BUZZER/SOUNDER:
SPECIFICATIONS OF BUZZER:
Communication Devices
Electronics used in Automobiles
Alarm Circuits
Portable Devices
Security Systems
Timers
Household Appliances
Electronic Metronomes(a tool used in music)
Sporting Events
Game Shows
A jump wire (also known as jumper, jumper wire, DuPont wire) is an electrical wire,
or group of them in a cable, with a connector or pin at each end (or sometimes without them –
simply “tinned”), which is normally used to interconnect the components of a breadboard or
other prototype or test circuit, internally or with other equipment or components, without
soldering.
Similarly, 15v regulated supply can also be produced by suitable selection of the
individual elements. Each of the blocks is described in detail below and the power supplies
made from these blocks are described below with a circuit diagram and a graph of their
output.
4.8.2 TRANSFORMER:
A transformer steps down high voltage AC mains to low voltage AC. Here we are
using a center-tap transformer whose output will be sinusoidal with 12 volts peak to peak
value.
4.8.3 RECTIFIER:
A rectifier converts AC to DC, but the DC output is varying. There are several types of
rectifiers; here we use a bridge rectifier.
The Bridge rectifier is a circuit, which converts an ac voltage to dc voltage using both
half cycles of the input ac voltage. The Bridge rectifier circuit is shown in the figure. The
circuit has four diodes connected to form a bridge. The ac input voltage is applied to the
diagonally opposite ends of the bridge. The load resistance is connected between the other two
ends of the bridge.
For the positive half cycle of the input ac voltage, diodes D1 and D3 conduct, whereas
diodes D2 and D4 remain in the OFF state. The conducting diodes will be in series with the
load resistance RL and hence the load current flows through R L.For the negative half cycle of
the input ac voltage, diodes D2 and D4 conduct whereas, D1 and D3 remain OFF. The
conducting diodes D2 and D4 will be in series with the load resistance R L and hence the
current flows through RL in the same direction as in the previous half cycle. Thus a bi-
directional wave is converted into unidirectional.
Fig 4.13: Rectifier Circuit
4.8.5 REGULATOR:
CHAPTER-5
SOFTWARE DESCRIPTION
5.1 ARDUINO IDE:
Arduino is a prototype platform (open-source) based on an easy-to-use hardware and
software. It consists of a circuit board, which can be programmed (referred to as a
microcontroller) and a ready-made software called Arduino IDE (Integrated Development
Environment), which is used to write and upload the computer code to the physical board.
After learning about the main parts of the Arduino UNO board, we are ready to learn
how to set up the Arduino IDE. Once we learn this, we will be ready to upload our program
on the Arduino board. In this section, we will learn in easy steps, how to set up the Arduino
IDE on our computer and prepare the board to receive the program via USB cable.
Step 1 – First you must have your Arduino board (you can choose your favorite board) and a
USB cable. In case you use Arduino UNO, Arduino Duemilanove, Nano, Arduino Mega
2560, or Diecimila, you will need a standard USB cable (A plug to B plug), the kind you
would connect to a USB printer as shown in the following image.
Fig 5.1: A to B standard USB cable
void setup()
{
pinMode(red,OUTPUT);digitalWrite(red,LOW);
pinMode(green,OUTPUT);digitalWrite(green,LOW);
pinMode(A4,OUTPUT);digitalWrite(A4,HIGH);
pinMode(buzzer,OUTPUT);digitalWrite(buzzer,HIGH);
lcd.begin(16, 2);delay(1000);
lcd.setCursor(0,0); lcd.print("VOTING MACHINE");delay(1000);
lcd.setCursor(0,1); lcd.print("USING BIOMETRIC");delay(1000);
Serial.begin(9600);
finger.begin(57600); // set the data rate for the sensor serial port
pinMode(enr,INPUT_PULLUP); pinMode(idf,INPUT_PULLUP);
digitalWrite(enr,HIGH); digitalWrite(idf,HIGH);
pinMode(p1,INPUT_PULLUP);pinMode(p2,INPUT_PULLUP);
pinMode(p3,INPUT_PULLUP); pinMode(result,INPUT_PULLUP);
digitalWrite(p1,HIGH);digitalWrite(p2,HIGH);digitalWrite(p3,HIGH);digitalWrite(result,HI
GH);
while (!Serial);
delay(100);
//Serial.println("\n\nFingerprint code by using Arduino");
if (finger.verifyPassword()) {
//// Serial.println("Found fingerprint sensor!");
} else {
// Serial.println("Did not find fingerprint sensor :(");
// Serial.println("Please turn off and turn on the power");
while (1) { delay(1); }
}
lcd.clear();lcd.print("Ready to use>>>");
}
lcd.clear();lcd.print("Ready to use>>>");
if(digitalRead(enr)==LOW)
{
lcd.clear();lcd.print("Enrolling....");delay(1000);
getFingerprintEnroll();
delay(1000);
lcd.clear();
}
if(digitalRead(idf)==LOW)
{
lcd.clear();lcd.print("identifing.....");delay(1000);
idnumber=getFingerprintID();
if(idnumber==1)
{
lcd.clear();lcd.print("PERSON-1");delay(1000);
person1=person1+1;
if(person1>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==2)
{
lcd.clear();lcd.print("PERSON-2");delay(1000);
person2=person2+1;
if(person2>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==3)
{
lcd.clear();lcd.print("PERSON-3");delay(1000);
person3=person3+1;
if(person3>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==4)
{
lcd.clear();lcd.print("PERSON-4");delay(1000);
person4=person4+1;
if(person4>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==5)
{
lcd.clear();lcd.print("PERSON-5");delay(1000);
person5=person5+1;
if(person5>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==6)
{
lcd.clear();lcd.print("PERSON-6");delay(1000);
person6=person6+1;
if(person6>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==7)
{
lcd.clear();lcd.print("PERSON-7");delay(1000);
person7=person7+1;
if(person7>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==8)
{
lcd.clear();lcd.print("PERSON-8");delay(1000);
person8=person8+1;
if(person8>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
}
if(idnumber==9)
{
lcd.clear();lcd.print("PERSON-9");delay(1000);
person9=person9+1;
if(person9>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(idnumber==10)
{
lcd.clear();lcd.print("PERSON-10");delay(1000);
person10=person10+1;
if(person10>1)
{
lcd.clear();lcd.print("U R DONE ALREADY....");delay(1000);
digitalWrite(buzzer,LOW);delay(1000);digitalWrite(buzzer,HIGH);delay(1000);
digitalWrite(red,HIGH);delay(1000);digitalWrite(red,LOW);delay(1000);
goto back;
}
lcd.clear();lcd.print("PLZ SELECT VOTE...");delay(1000);
digitalWrite(green,HIGH);delay(1000);digitalWrite(green,LOW);delay(1000);
while(1)
{
p11=digitalRead(p1);
p22=digitalRead(p2);
p33=digitalRead(p3);
if(p11==LOW){lcd.clear();lcd.print("PARTY_1 SELECTED...");delay(1000);party1+
+;delay(1000);goto back;}
if(p22==LOW){lcd.clear();lcd.print("PARTY_2 SELECTED...");delay(1000);party2+
+;delay(1000);goto back;}
if(p33==LOW){lcd.clear();lcd.print("PARTY_3 SELECTED...");delay(1000);party3+
+;delay(1000);goto back;}
}
}
if(digitalRead(result)==LOW)
{
lcd.clear();
lcd.clear();lcd.print("PARTY_1:");lcd.print(party1);delay(1000);
lcd.clear();lcd.print("PARTY_2:");lcd.print(party2);delay(1000);
lcd.clear();lcd.print("PARTY_3:");lcd.print(party3);delay(1000);
//lcd.clear();lcd.print("Data Earsing.....");delay(1000);party1=party2=party3=0;delay(1000);
lcd.clear();goto back;
}
}
CHAPTER-6
RESULTS
OFF CONDITION:
When the KIT is OFF (power supply is disconnected), leaving all components
inactive. The LCD display is blank, and the fingerprint sensor, LEDs, and buzzer remain non-
functional. The system awaits power to resume operations and register inputs.
Fig 6.1: Kit is in OFF condition
ON CONDITION:
When the kit is ON, the LCD display lights up, showing instructions and the
fingerprint sensor is ready to scan. LEDs indicate system status, the green LED signifying
successful vote and the red LED indicating failure/errors. The push buttons and buzzer
provide user interaction and feedback during the voting process.
The message "Enrolling" is displayed to indicate that the system is recording and
saving the new fingerprint.
This represents the position of the voter in the database (e.g., the first registered voter).
After a user places their finger on the fingerprint sensor, this message is displayed
while the system matches the input fingerprint with the database of registered voters.
CHAPTER-7
ADVANTAGES AND APPLICATIONS
ADVANTAGES:
Cost is less, because human interventions are less in the system.
Due to use of fingerprint scanner the cross voting cannot be done.
Results can be declared in very short time.
The overall system installation is effortless.
It reduces the human effort in counting.
It is reliable and secure.
APPLICATIONS:
This project can be used as a voting machine to prevent rigging, during the elections in the
polling booths.
Fast track voting which could be used in small scale elections, like resident welfare
Association, “panchayat” level elections and other society level elections, where
results can be instantaneous.
It can also be used to conduct opinion polls during annual shareholders meeting.
It can also be used to conduct general assembly elections where number of candidates
are less than or equal to eight in the current situation, on a small scale basis.
This system also used in School And University Elections.
Corporate Elections etc...
CONCLUSION:
The system I created overcomes most of the difficulties faced by the voters during the
voting period by the ballot system and Electronic voting Machine (EVM). This will ensure
more justified method of voting which is very much required for a healthy and corruption free
elections in developing nations. This new method of voting prevents rigging, provides ease of
use, transparency, maintains integrity of the process and equality. This system also checks
eligibility and allows only “ONE PERSON ONE VOTE”.
FUTURESCOPE:
The fingerprint-based voting system using Arduino Uno is promising, particularly in
enhancing the security, efficiency, and accessibility of elections. With increasing concerns
over voter fraud and manipulation, a fingerprint-based system offers a reliable solution for
verifying voter identity, eliminating the possibility of duplicate voting and impersonation. The
use of Arduino Uno, a low-cost and versatile microcontroller, makes this technology
accessible for developing countries, where conventional electronic voting systems may be
prohibitively expensive. Furthermore, the simplicity of Arduino programming allows for easy
customization and integration with other security measures like encryption and block chain
technology, which can enhance data integrity.
As biometric technology becomes more advanced and affordable, the system can be
further scaled to accommodate large populations. Future advancements in sensor accuracy,
data processing speed, and wireless communication could lead to real-time voter verification,
enabling more seamless and secure remote or online voting options. Additionally, integrating
cloud-based databases with the system can provide centralized, secure storage of voter data,
reducing administrative overhead and streamlining the electoral process. In summary, this
system has the potential to revolutionize voting by ensuring higher transparency, accuracy,
and inclusivity.
REFERENCES