Vous êtes sur la page 1sur 22

1.

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

The microcontroller (PIC16F877A) is use to demonstrate the integration of computer


method in an electronic voting machine operation. The objective of this project are:

 To design an electronic control by using microcontroller as required in mini project for


(PLT 206).
 To develop an interfacing program for the integration part of microcontroller operation.

 To introduce digital voting system in general election.

2
3.0 PROBLEM STATEMENT

The voting system used to be operated by manual operation. By voting in manual


system, high quantity of ballot papers are needed. Due to this, the government need to spend
high cost on preparing the ballot papers for the voters to vote in each of every general election.

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

4.1 FLOW CHART (PROGRAMMING)

START

When SW1 LCD will display "DIGITAL


VOTING MACHINE PLEASE CAST
Is activated YOUR VOTE" and the LED will
turn ON with buzzer beeps.

When SW2 The 7-segment will count


is pressed up and LCD will display "
'1' YOU VOTED PH THANK
YOU"

When SW3 The 7-segment will count


is pressed up and LCD will display "
'1' YOU VOTED BN THANK
YOU"

END

4
4.2 FLOW CHART (PROJECT PLANNING)

Start

Submit project title

Identify all problem


& component
specification

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

No Interface Component Purpose

1 Output LCD display Display notification


Seven segment
2 Output To display vote counting
x2
4 Output LED Alert voter to vote

5 Output Buzzer Alert voter to vote

6 Input Switch x1 Master switch

7 Input Switch x2 To cast vote

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

unsigned char seg7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};


int i=0;
int j=0;void LCD_sendcommand(unsigned char cmd)
{
LCD_data = cmd;
LCD_rs = 0;
LCD_en = 1;
__delay_ms(1);
LCD_en = 0;
__delay_ms(2);
}

void LCD_senddata(unsigned char data)


{
LCD_data = data;

7
LCD_rs = 1;
LCD_en = 1;
__delay_ms(1);
LCD_en = 0;
__delay_ms(2);
}

void LCD_sendstringdata(unsigned char* data)


{
while(*data!='\0')
{
LCD_senddata(*data);
data++;
}
}

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

A. When Switch 1 is ‘ON’

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.

8.2 FUTURE WORK/ IMPROVEMENT

 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

Vous aimerez peut-être aussi