Sunday, March 10, 2013

Electronic Voting Machine

This is a Prototype of Electric Voting Machine. I made it just for Fun. But it is very useful. It can take vote,Can save vote, no problem if Electricity gone Even it can upload Voting Result To Election commission office server during every vote. I used Arduino to make it. Code below
EVM




#include <EEPROM.h>
#include <LiquidCrystal.h>
// Syed Razwanul Haque(Nabil)
// Shahjalal University of Scinece and Tech

(Bangladesh)
// www.ArduinoPic.blogspot.com
int reset=8;
int vote1=6;
int vote2=7;
int i=0;
int a=0;
int b=0;
int t=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
            {  lcd.begin(16, 2);
               pinMode(reset, INPUT);
               pinMode(vote1, INPUT);
               pinMode(vote2, INPUT);
               pinMode(13, OUTPUT);
               lcd.setCursor(3, 0);
               lcd.print("ELECTRONIC");
               lcd.setCursor(1,1);
               lcd.print("VOTING MACHINE");
               delay(8000);
               lcd.setCursor(3, 0);
               lcd.print("          ");
               lcd.setCursor(1,1);
               lcd.print("              ");
            }
        
void loop(){
  int y=analogRead(A4);
  if(y>500)
      {
        EEPROM.write(0,0);
        EEPROM.write(1,0);
        EEPROM.write(2,0);
        digitalWrite(13,HIGH);
        lcd.setCursor(0, 0);
        lcd.print("Memory Cleared");
        lcd.setCursor(0,1);
        lcd.print("Ready For Voting");
             
        delay(8000);
        digitalWrite(13, LOW);
        lcd.setCursor(0, 0);
        lcd.print("              ");
        lcd.setCursor(0,1);
        lcd.print("                ");
       
      } 
            a= EEPROM.read(0);
            b=  EEPROM.read(1);
            t= EEPROM.read(2);
              lcd.setCursor(0, 0);
              lcd.print("Total Vote=");
              lcd.setCursor(11,0);
              lcd.print(t);
             
              lcd.setCursor(0, 1);
              lcd.print("Nabil=");
              lcd.setCursor(6,1);
              lcd.print(a);
             
              lcd.setCursor(8, 1);
              lcd.print("Isrq=");
              lcd.setCursor(14,1);
              lcd.print(b);
             
              int vote_1state=analogRead(A0);

//digitalRead(vote1);
              int vote_2state=analogRead(A5);     

            //digitalRead(vote2);
              int reset_state= digitalRead(reset);
             
      if(reset_state== HIGH)
        { i--;
        if(i==-1)
       {
         i=0;
         digitalWrite(13,HIGH);
       }
        }
         if(vote_1state>2 && i==0 &&

vote_2state<1)
             {
              a++;
              lcd.setCursor(0, 1);
              lcd.print("Nabil=");
              lcd.setCursor(6,1);
              lcd.print(a);
              delay(300);
              EEPROM.write(0,a);
              t++;
              delay(300);
              EEPROM.write(2,t);
              lcd.setCursor(0, 0);
              lcd.print("Total Vote=");
              lcd.setCursor(11,0);
              lcd.print(t);
              delay(15000);
             
             
             }
             if(vote_2state >2 && i==0 &&

vote_1state<1)
              {
              b++;
               lcd.setCursor(8, 1);
              lcd.print("Isrq=");
              lcd.setCursor(14,1);
              lcd.print(b);
              delay(300);
             EEPROM.write(1,b);
              t++;
              delay(300);
              EEPROM.write(2,t);
              lcd.setCursor(0, 0);
              lcd.print("Total Vote=");
              lcd.setCursor(11,0);
              lcd.print(t);
              delay(15000);
             }
           
          if(vote_1state >2 || vote_2state>2) 
               for(i=0;i<2;i++)
               if(i!=0)
               digitalWrite(13, LOW);
              
      delay(300); 
}  

No comments:

Post a Comment