#include <WiFi.h>
#include <ThingSpeak.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const char* ssid = "RAJPOOT";
const char* password = "00000000";
const char* myWriteAPIKey = "OR6ODXD0MBMTP77F";
const unsigned long myChannelNumber = 1;
WiFiClient client;
unsigned long lastTime = 0;
const unsigned long timerDelay = 20000;
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int ledGreen = 2;
const int ledRed = 4;
#define S1 25
#define S2 26
#define S3 27
#define S4 32
#define S5 33
int vote1 = 0;
int vote2 = 0;
int vote3 = 0;
int vote4 = 0;
void setup() {
Serial.begin(9600);
pinMode(25, INPUT_PULLUP);
pinMode(26, INPUT_PULLUP);
pinMode(27, INPUT_PULLUP);
pinMode(32, INPUT_PULLUP);
pinMode(33, INPUT_PULLUP);
pinMode(2, OUTPUT);
pinMode(4, OUTPUT);
lcd.init();
lcd.clear();
lcd.backlight();
lcd.print(" Electronic ");
lcd.setCursor(0, 1);
lcd.print(" Voting Machine ");
delay(4000);
lcd.clear();
connectWiFi();
}
void loop() {
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
lcd.setCursor(1, 0);
lcd.print("BJP");
lcd.setCursor(1, 1);
lcd.print(vote1);
lcd.setCursor(5, 0);
lcd.print("INC");
lcd.setCursor(5, 1);
lcd.print(vote2);
lcd.setCursor(9, 0);
lcd.print("AAP");
lcd.setCursor(9, 1);
lcd.print(vote3);
lcd.setCursor(13, 0);
lcd.print("OTH");
lcd.setCursor(13, 1);
lcd.print(vote4);
if (digitalRead(25) == LOW) {
vote1++;
digitalWrite(ledGreen, HIGH);
while (digitalRead(25) == LOW);
}
if (digitalRead(26) == LOW) {
vote2++;
digitalWrite(ledGreen, HIGH);
while (digitalRead(26) == LOW);
}
if (digitalRead(27) == LOW) {
vote3++;
digitalWrite(ledGreen, HIGH);
while (digitalRead(27) == LOW);
}
if (digitalRead(32) == LOW) {
vote4++;
digitalWrite(ledGreen, HIGH);
while (digitalRead(32) == LOW);
}
if (digitalRead(33) == LOW) {
int totalVotes = vote1 + vote2 + vote3 + vote4;
if (totalVotes) {
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
if (vote1 > vote2 && vote1 > vote3 && vote1 > vote4) {
lcd.clear();
lcd.print("BJP is Winner");
delay(3000);
lcd.clear();
} else if (vote2 > vote1 && vote2 > vote3 && vote2 > vote4) {
lcd.clear();
lcd.print("INC is Winner");
delay(3000);
lcd.clear();
} else if (vote3 > vote1 && vote3 > vote2 && vote3 > vote4) {
lcd.clear();
lcd.print("AAP is Winner");
delay(3000);
lcd.clear();
} else if (vote4 > vote1 && vote4 > vote2 && vote4 > vote3) {
lcd.clear();
lcd.print("OTH is Winner");
delay(3000);
lcd.clear();
} else {
lcd.clear();
lcd.print("Tie Up Or");
lcd.setCursor(0, 1);
lcd.print("No Result");
delay(3000);
lcd.clear();
}
} else {
lcd.clear();
lcd.print("No Voting....");
delay(3000);
lcd.clear();
}
vote1 = 0;
vote2 = 0;
vote3 = 0;
vote4 = 0;
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
ThingSpeak.writeField(myChannelNumber, 1, vote1, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, 2, vote2, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, 3, vote3, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, 4, vote4, myWriteAPIKey);
}
if ((millis() - lastTime) > timerDelay) {
if (WiFi.status() != WL_CONNECTED) {
Serial.println("Attempting to connect to WiFi...");
while (WiFi.status() != WL_CONNECTED) {
WiFi.begin(ssid, password);
delay(5000);
}
Serial.println("Connected to WiFi");
}
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (x == 200) {
Serial.println("Channel update successful.");
} else {
Serial.println("Problem updating channel. HTTP error code " + String(x));
}
lastTime = millis();
}
}
void connectWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4