Académique Documents
Professionnel Documents
Culture Documents
0 INTRODUCTION
Electronic Voting Machine (EVM) retains all the characteristics of voting by ballot
papers, while making polling a lot more expedient. Being fast and absolutely reliable, the EVM
saves considerable time, money and manpower. And, of course, helps maintain total voting
secrecy without the use of ballot papers. At the end of the polling, just press a button and there
you have the results.
Electronic voting machine has now days become an effective tool for voting. It ensures
flawless voting and thus has become more widespread. It ensures people about their vote being
secured. It avoids any kind of malpractice and invalid votes. Also such kind of system becomes
more economical as consequent expenditure incurred on manpower is saved. It is also
convenient on the part of voter, as candidates has to just press one key whichever belongs to
his candidates. Voting machines are the total combination of mechanical, electromechanical,
or electronic equipment including software, firmware, and documentation required to program
control, and support equipment.
Voting machines have different levels of usability, security, efficiency and accuracy.
Certain systems may be more or less accessible to all voters, or not accessible to those voters
with certain types of disabilities. They can also have an effect on the public's ability to oversee
elections.
1
2.0 OBJECTIVE
2
3.0 PROBLEM STATEMENT
The call for spoiled votes is a backlash against our deeply flawed political system.
While intentional spoiled votes and its more likely by-product, low turnout, will make
gerrymandering and other electoral frauds work maximally, mishandling the spoiled votes
campaign by political parties and their supporters will only strengthen the cheater’s hand. To
eliminate the need for spoiled votes, the electronic voting machine is very useful.
According to the United Nations Convention on the Rights of Persons with Disabilities
(UNCRPD): "Persons with disabilities include those who have long-term physical, mental or
emotional defects, in which these disabilities may be an obstacle to their participation
effectively in a comparable society”.
3
4.0 METHODOLOGY
START
END
4
4.2 FLOW CHART (PROJECT PLANNING)
Start
Concept generation,
selection & testing
Design circuit
Test circuit/Verify
Troubleshoot result
NO
Successful?
YES
Presentation of mini
project
End
5
4.3 INPUT AND OUTPUT INTERFACING
Table 4.3.1
Figure 4.3.1
6
5.0 PROJECT PROGRESS
5.1 PROGRAMMING
#include <htc.h>
__CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & BOREN_OFF &LVP_OFF);
#define _XTAL_FREQ 20000000
#define LCD_data PORTD
#define LCD_rs RA2
#define LCD_en RA3
#define SW1 RE0
#define SW2 RE1
#define SW3 RE2
#define DS1 RC0
7
LCD_rs = 1;
LCD_en = 1;
__delay_ms(1);
LCD_en = 0;
__delay_ms(2);
}
void LCD_init()
{
__delay_ms(100);
LCD_sendcommand(0x38);
LCD_sendcommand(0x0F);
LCD_sendcommand(0x00);
LCD_sendcommand(0x06);
}
select()
{
if (SW1==0&&SW3==0)
{
8
while(SW2==1)
{
i++;
LCD_sendcommand (0x01);
LCD_sendcommand(0x82);
LCD_sendstringdata("YOU VOTED PH");
LCD_sendcommand(0xC3);
LCD_sendstringdata("THANK YOU");
if(i<=1)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=2)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=3)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=4)
{
9
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=5)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=6)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=7)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=8)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i<=9)
{
PORTC=seg7[i];
__delay_ms(500);
}
else if(i>=10)
10
{
i=0;
PORTC=seg7[i];
__delay_ms(500);
}
RA4=1;
__delay_ms(1000);
RA4=0;
PORTA=0b00000000;
}
}
if(SW1==0&&SW2==0)
{
while(SW3==1)
{
j++;
LCD_sendcommand (0x01);
LCD_sendcommand(0x82);
LCD_sendstringdata("YOU VOTED BN");
LCD_sendcommand(0xC3);
LCD_sendstringdata("THANK YOU");
if(j<=1)
{
PORTB=seg7[j];
11
__delay_ms(500);
}
else if(j<=2)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=3)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=4)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=5)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=6)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=7)
{
12
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=8)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j<=9)
{
PORTB=seg7[j];
__delay_ms(500);
}
else if(j>=10)
{
j=0;
PORTB=seg7[j];
__delay_ms(500);
}
RA4=1;
__delay_ms(1000);
RA4=0;
PORTA=0b00000000;
}
}
}
void main(void)
13
{
TRISB = 0x00;
TRISC = 0x00;
TRISD = 0x00;
TRISA = 0x00;
TRISE = 0x07;
ADCON1 = 0x06;
RA1=0;
PORTB = 0x00;
PORTC = 0x00;
LCD_init();
i=0;
j=0;
while(1)
{
if(SW2==0&&SW3==0)
{
while(SW1==1)
{
PORTA=0x11;
__delay_ms(500);
PORTA=0x00;
14
LCD_sendcommand (0x01);
LCD_sendcommand(0x81);
LCD_sendstringdata("DIGITAL VOTING");
LCD_sendcommand(0xC4);
LCD_sendstringdata("MACHINE");
__delay_ms(1000);
LCD_sendcommand (0x01);
LCD_sendcommand(0x82);
LCD_sendstringdata("PLEASE CAST");
LCD_sendcommand(0xC3);
LCD_sendstringdata("YOUR VOTE");
PORTA=0b11100000;
__delay_ms(2000);
select();
}
}
}
}
15
6.0 RESULT AND DISCUSSION
6.1 RESULT
Figure 6.1.1
Switch 1 act as a sensor and LCD display ‘DIGITAL VOTING MACHINE’, ‘PLEASE
CAST YOUR VOTE’.
LED will blink and buzzer will make a beep sound.
16
B. When Switch 2 is ‘ON’
Figure 6.1.2
When switch 2 is pressed, the LCD will display ‘YOU VOTED PH’ , ‘THANK
YOU’.
The seven segment 1 will count to 1 when the push button is pressed.
17
C. When Switch 3 is ‘ON’
Figure 6.1.3
When switch 3 is pressed, the LCD will display ‘YOU VOTED BN’ , ‘THANK YOU’.
The seven segment 2 will count to 1 when the push button is pressed.
18
6.2 DISCUSSION
This project requires teamwork from the members, especially in the programming part,
because its need an understanding in the system to initialize the project. Other than that, the
execution of various tasks between members is essential to finish the work in time, and also
not lagging behind.
There are several problems that occurs while doing this project, that are lots of errors
in coding that need a special attention to fix the error. The error also occurs if one syntax or
symbol that not in the program that we missed on and sometimes takes time to check the error
where it is. The other problem is the connection that in Proteus that are wrong for its basic
wiring condition. Sometimes the connections are not compatible with the desired output, and
need to make change to cope with the output. Last but not least, software crashing. This is the
main culprit that sometimes lagged the project behind, but as the problem is fixed, there are no
crashing occurs after that.
After the project is completed, this project has lots room of improvements that can be
considered in the future. There will be a visual aid that will help the workers for guiding this
system. There will be lots of development to increase its capacity and ability for industry
worldwide.
19
7.0 ENGAGEMENT ON COMMUNITY AND SOCIAL RESPONSIBILITY
Advantages
It is economical
Less manpower required
Time conscious, as less time required for voting & counting
Avoids invalid voting
20
8.0 CONCLUSION & FUTURE WORK/ IMPROVEMENT
8.1 CONCLUSION
In conclusion, this project show that we can use the microcontroller PIC16f877A to design a
electronic voting machine. In this project we learned coding of microcontroller PIC16f877A
which we learned from the lab session and we are able to use those code. We have learned how
to interface the microcontroller PIC16f877A with LCD screen, 7 segments, LED, and
Switches. We are able to use the ports to send an output or an input to microcontroller
PIC16f877A. We learned how to solve the problem that we face during this mini project.
We hope that our mini project will not only work on our circuit design, but also it can work in
a real life by doing some improvement on it.
A timer could be included, which could automatically end the voting after specified
duration of time.
Biometric Verification of voters, so that automatically it can be insured that one person
is voting only once.
It can be made more interactive by adding sound effect (speech) to it.
If we make more than one Electronic Voting Machine, each to be used at different
locations and the final result is the addition of result of all, we could think of connecting
them to communicate with each other and final result can be shown on one of the LCD.
21
9.0 REFERENCE
1. https://www.slideshare.net/kikilalatymmchua/micro-processor-report
2. F. Vahid and T. Givargis, Embedded System Design: A Unified Hardware/Software
Introduction, John Wiley & Sons, 2002.
3. P. Pradeep, M. Prabhakaran, B. Prakash, P. ArunKumar, and G. Gopu, “Advanced
Design for Robot in Mars Exploration,” presented at 2010 International Conference
on Industrial Engineering and Operations Management Dhaka, Bangladesh, January 9
– 10, 2010.
4. Enhanced FLASH Microcontrollers (PIC16F87X, A), Microchip Technology, Inc.,
2001, Doc. No. DS39582A.
22