#define BLYNK_TEMPLATE_ID "TMPL3IzJcRDFm"
#define BLYNK_TEMPLATE_NAME "TRAFFIC"
#define BLYNK_AUTH_TOKEN "oY2dvuMaL2ww-ALMlxMjo9pN7MtecHrx"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define red1 15
#define yellow 4
#define gre1 21
#define red2 17
#define yellow 16
#define gre2 19
#define red3 32
#define yellow 26
#define gre3 14
#define red4 33
#define yellow 25
#define gre4 27
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int w1,w2,w3,w4;
BLYNK_WRITE(V0){
int value = param.asInt();
if (value == 1){
w1 = 1;
}
else{
w1 = 0;
}
}
BLYNK_WRITE(V1){
int value = param.asInt();
if (value == 1){
w2 = 1;
}
else{
w2 = 0;
}
}
BLYNK_WRITE(V2){
int value = param.asInt();
if (value == 1){
w3 = 1;
}
else{
w3 = 0;
}
}
BLYNK_WRITE(V3){
int value = param.asInt();
if (value == 1){
w4 = 1;
}
else{
w4 = 0;
}
}
void setup()
{
// Debug console
Serial.begin(115200);
pinMode(15, OUTPUT);
pinMode(4, OUTPUT);
pinMode(21, OUTPUT);
pinMode(17, OUTPUT);
pinMode(16,OUTPUT);
pinMode(19, OUTPUT);
pinMode(32, OUTPUT);
pinMode(26, OUTPUT);
pinMode(14, OUTPUT);
pinMode(33, OUTPUT);
pinMode(25, OUTPUT);
pinMode(27, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
delay(100);
if(w1==0 && w2 == 0 && w3 == 0 && w4 == 0){
way1(2000);
way2(2000);
way3(2000);
way4(2000);
}
else if(w1 == 1 && w2 == 0 && w3 == 0 && w4 == 0){
way1(5000);
way2(2000);
way3(2000);
way4(2000);
}
else if(w1 == 0 && w2 == 1 && w3 == 0 && w4 == 0){
way1(2000);
way2(5000);
way3(2000);
way4(2000);
}
else if(w1 == 0 && w2 == 0 && w3 == 1 && w4 == 0){
way1(2000);
way2(2000);
way3(5000);
way4(2000);
}
else if(w1 == 0 && w2 == 0 && w3 == 0 && w4 == 1){
way1(2000);
way2(2000);
way3(2000);
way4(5000);
}
Blynk.run();
}
void way1(unsigned int i)
{
digitalWrite(gre1,1);
digitalWrite(gre2,0);
digitalWrite(gre3,0);
digitalWrite(gre4,0);
digitalWrite(red1,0);
digitalWrite(red2,1);
digitalWrite(red3,1);
digitalWrite(red4,1);
delay(3000);
}
void way2(unsigned int i)
{
digitalWrite(gre1,0);
digitalWrite(gre2,1);
digitalWrite(gre3,0);
digitalWrite(gre4,0);
digitalWrite(red1,1);
digitalWrite(red2,0);
digitalWrite(red3,1);
digitalWrite(red4,1);
delay(3000);
}
void way3(unsigned int i)
{
digitalWrite(gre1,0);
digitalWrite(gre2,0);
digitalWrite(gre3,1);
digitalWrite(gre4,0);
digitalWrite(red1,1);
digitalWrite(red2,1);
digitalWrite(red3,0);
digitalWrite(red4,1);
delay(3000);
}
void way4(unsigned int i)
{
digitalWrite(gre1,0);
digitalWrite(gre2,0);
digitalWrite(gre3,0);
digitalWrite(gre4,1);
digitalWrite(red1,1);
digitalWrite(red2,1);
digitalWrite(red3,1);
digitalWrite(red4,0);
delay(3000);
}