Skip to main content

Enhanced Electronic Voting System with Arduino

 "Enhanced Electronic Voting System with Arduino"

Introduction: Revolutionizing Voting with Advanced Arduino-Based Electronic Voting System

Abstract: This project presents an innovative approach to modernizing the electoral process through an Enhanced Electronic Voting System powered by Arduino technology. By integrating smart features, this system addresses the challenges of manual and traditional electronic voting methods, ensuring accurate, tamper-resistant, and efficient voting procedures.

System Overview: The Enhanced Electronic Voting System employs an Arduino-powered framework with an adjustable number of push buttons corresponding to political parties. Voters select their preferred candidates by pressing the buttons, while the LCD displays real-time voting updates. The culmination of the process involves automatic result calculation upon pressing the result button.

Block Diagram: Visualizing the System Architecture of the Enhanced Electronic Voting System Using Arduino

Functional Description: This advanced voting system utilizes Arduino's capabilities as the central unit for managing key voting operations. It oversees button presses, vote increments, result generation, and LCD display updates.

Implementation: Five push buttons are allocated for various political parties (expandable as needed). Votes are tallied as buttons are pressed, and the result button triggers result display. The circuitry is connected as indicated in the diagram, with push buttons linked to digital pins (7, 6, 5, 4, 3) and LCD pins (4, 6, 11, 12, 13, 14) connected to digital pins (13, 12, 11, 10, 9, 8).

Software Implementation: Below is a simplified version of the source code used to run the Enhanced Electronic Voting System. The code initializes the LCD and buttons, handles voting updates, and displays results on the LCD.

arduino
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // Modify address (0x27) as needed #define sw1 A0 #define sw2 A1 #define sw3 A2 #define sw4 17 #define sw5 18 int vote1 = 0; int vote2 = 0; int vote3 = 0; int vote4 = 0; void setup() { // Initialization code... // LCD initialization and introductory display... // Button and pin configurations... } void loop() { // Display candidate names and vote counts on LCD... // Rest of your code... }

Conclusion: The Enhanced Electronic Voting System, built upon Arduino technology, marks a significant stride toward accurate and modernized voting processes. By eliminating fraud and enhancing transparency, this system contributes to the foundation of robust democratic practices.

Video Tutorial: [Link to Video Tutorial]

 Code:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Change the address (0x27) to match your I2C LCD's address

#define sw1 A0
#define sw2 A1
#define sw3 A2
#define sw4 17
#define sw5 18

int vote1 = 0;
int vote2 = 0;
int vote3 = 0;
int vote4 = 0;

void setup() {
  pinMode(sw1, INPUT);
  pinMode(sw2, INPUT);
  pinMode(sw3, INPUT);
  pinMode(sw4, INPUT);
  pinMode(sw5, INPUT);
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);

  lcd.begin();
  lcd.backlight(); // Turn on the backlight
  lcd.setCursor(0, 0);
  lcd.print("Techatronic.com");
  delay(3000);
  lcd.setCursor(0, 0);
  lcd.print("VOTING MACHINE");
  lcd.setCursor(0, 1);
  lcd.print("Circuit design");
  delay(3000);

  digitalWrite(sw1, HIGH);
  digitalWrite(sw2, HIGH);
  digitalWrite(sw3, HIGH);
  digitalWrite(sw4, HIGH);
  digitalWrite(sw5, HIGH);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("BJP");
  lcd.setCursor(4, 0);
  lcd.print("INC");
  lcd.setCursor(8, 0);
  lcd.print("AAP");
  lcd.setCursor(12, 0);
  lcd.print("OTH");
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.print("BJP");
  lcd.setCursor(1, 1);
  lcd.print(vote1);
  lcd.setCursor(4, 0);
  lcd.print("INC");
  lcd.setCursor(5, 1);
  lcd.print(vote2);
  lcd.setCursor(8, 0);
  lcd.print("AAP");
  lcd.setCursor(9, 1);
  lcd.print(vote3);
  lcd.setCursor(12, 0);
  lcd.print("OTH");
  lcd.setCursor(13, 1);
  lcd.print(vote4);

  // Rest of your code...
}
 

Note: This content revision aims to enhance the presentation, readability, and overall appeal of the original content while maintaining its core concepts and information.




 

Comments

popular posts

AX2358 Homemade 5.1 Remote Kit with 16x2 LCD

AX2358 Homemade 5.1 Remote Kit with 16x2 LCD                                               AX2358 is I used for this 5.1 remote kit project. It is Built-in 2-channel to 6-channel converter and 6-channel volume controller. It has 4 stereo inputs and one 6 channel input. Any stereo input terminals of AX2358 are selected, it will be directly converted to 6 channels and then output through volume adjustment but when the signal from the 6-channel input terminal is selected, it directly enters the volume adjustment and then outputs it without any processing. It has 6-channel individual volume control in this IC (0 to -79dB, 1dB/step). This IC working by I2C communication. The data are transmitted to the AX2358 via the SDA and SCL. So I need a microcontroller. I choose the microcontroller is Atmega328 for this. This microcontroller programmed with Arduino UNO.      ...

DIY Tutorial Resetting Toner Chip on Ricoh SP C250DN Printer in Simple Steps

  DIY Tutorial Resetting Toner Chip on Ricoh SP C250DN Printer in Simple Steps The RICOH SP 250DN printer toners have a chip that keeps track of the number of pages that have been printed. This is anoying because it will render a refill useless. In order to reuse this kind of toner, there are two things you need to do: refill the toner with ink (if needed) reset the toner chip (or replace it) There is plenty of information explaining how to refill the toner but little information on how to erase the toner chip. This document deals with the second point: how to dump the chip and reset it. It took me a while to get everything setup and to have my toner chip reset so I would like to share this process in order to help other to do the same with their printer toner cartridges. I will step through the process of understanding the problem, analysing the chip circuit, dumping the chip contents and writing back a pattern so the printer will be able to initialize the chip and set t...

DIY Metal Detector using Arduino A Simple Guide to Building Your Own at Home

  DIY Metal Detector using Arduino A Simple Guide to Building Your Own at Home How does a metal detector work? As we can see there are three things that are using to complete the whole project. Electronic circuit, Arduino, and a copper coil. here actually we are making a proximity sensor that detects the metal with a  metal detector  using Arduino . Here are the steps to build a DIY metal detector using an Arduino: Materials required: Arduino UNO Copper coil Diode 10nf capacitor Buzzer Led 220 ohm &  330 Ohm Resistor Jumper wires and a breadboard USB cable for uploading the code Circuit Diagram Arduino metal detector:-  Arduino UNO 10 nf Capacitor A2 Pin Terminal 1 GND Terminal 2 Arduino UNO Buzzer D6 Pin Positive GND  Negative Arduino LED 220 Ohm Resistor D5 Pin   Terminal 1   Anode Pin Terminal 2 GND Cathode Pin   Arduino UNO Copper coil Diode 330-ohm res   Terminal 1 Terminal 1 Terminal 1 A1 Pin     Terminal 2 A2 Pin ...

How to Calculate Inverter Battery Backup Time

  How to Calculate Inverter Battery Backup Time? Backup Time (in hours) = Battery Capacity (in Ah) X Input voltage (V) / Total Load (in Watts) Whenever you plan to buy an inverter battery, there is a desire to know some important information in your mind. Like how much will be the backup of the inverter battery, how many hours of backup will be available for how many ah batteries, etc. In this informative information, here you will know the backup time calculation formula.   Taking your inputs, you can calculate your total load, like: 3 tube led lights = 40 x 3 = 120 Watts 2 fans = 75 x 2 = 150 Watts 1 Bulb router = 1×20 Watts = 20 Watts So, the total load in your case is 120 + 150 + 20 = 290 Watts. Now, let us apply all these values in the above-said battery backup time formula.  Backup Time (in hours) = Battery Capacity (in Ah) X Input voltage (V) / Total Load (in Watts) Backup Time (in hours) = 150 x 12 / 290 = 6.2 So, your inverter battery will last around 6.2 hours ....

Wireless Joystick controlled Robot Car using Arduino, 433Mhz RF and L298N Motor Driver

    Wireless Joystick controlled Robot Car using Arduino – In this tutorial, you will learn how to control a Robot Car wirelessly using Arduino, L298N Motor driver, and  433 Mhz RF transmitter and Receiver . The robot control system can be activated and de-activated using the Built-in Joystick push Button. Arduino Uno Arduino Nano Mega 2560: Robot Car chassis kit: L298N motor driver: 2-Axis Analog Joystick 433 MHz Transmitter and Receiver Modules: DISCLAIMER: Please Note: these are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way! wireless joystick Interfacing: Watch this tutorial for the robot parts assembling and connections. All the connections are exactly the same as explained in my previous tutorial. The only modification that I did is the addition of the 433 Mhz RF receiver module…the VCC pin of the receiver module is connected with the 5 volts…the ground pin of the ...