#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6BiUCZTjt"
#define BLYNK_TEMPLATE_NAME "Kontrol 4 Buah Relay"
#define BLYNK_AUTH_TOKEN "ht0vvGZ6o5gh4BKf5ANFwQK4TWtjnkH"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define relay1 23
#define relay2 22
#define relay3 21
#define relay4 19
int data;
int data1;
int data2;
int data3;
int data4;
String a;
String b;
String c;
String d;
BLYNK_WRITE(V0)
{
data = param.asInt();
if(data == 1){
digitalWrite (relay1, HIGH);
Blynk.virtualWrite(V4, 1);
a = "Relay 1 ON";
}
else{
digitalWrite (relay1, LOW);
Blynk.virtualWrite(V4, 0);
a = "Relay 1 OFF";
}
}
BLYNK_WRITE(V1)
{
data1 = param.asInt();
if(data1 == 1){
digitalWrite (relay2, HIGH);
Blynk.virtualWrite(V5, 1);
b = "Relay 2 ON";
}
else{
digitalWrite (relay2, LOW);
Blynk.virtualWrite(V5, 0);
b = "Relay 2 OFF";
}
}
BLYNK_WRITE(V2)
{
data2 = param.asInt();
if(data2 == 1){
digitalWrite (relay3, HIGH);
Blynk.virtualWrite(V6, 1);
c = "Relay 3 ON";
}
else{
digitalWrite (relay3, LOW);
Blynk.virtualWrite(V6, 0);
c = "Relay 3 OFF";
}
}
BLYNK_WRITE(V3)
{
data3 = param.asInt();
if(data3 == 1){
digitalWrite (relay4, HIGH);
Blynk.virtualWrite(V7, 1);
d = "Relay 4 ON";
}
else{
digitalWrite (relay4, LOW);
Blynk.virtualWrite(V7, 0);
d = "Relay 4 OFF";
}
}
BLYNK_WRITE(V9)
{
data4 = param.asInt();
if(data4 == 1){
digitalWrite (relay1, LOW);
digitalWrite (relay2, LOW);
digitalWrite (relay3, LOW);
digitalWrite (relay4, LOW);
delay (100);
Blynk.virtualWrite(V0, 0);
Blynk.virtualWrite(V1, 0);
Blynk.virtualWrite(V2, 0);
Blynk.virtualWrite(V3, 0);
Blynk.virtualWrite(V4, 0);
Blynk.virtualWrite(V5, 0);
Blynk.virtualWrite(V6, 0);
Blynk.virtualWrite(V7, 0);
Blynk.virtualWrite(V8, 0);
Blynk.virtualWrite(V9, 0);
Blynk.virtualWrite(V7, 0);
a = "Relay 1 OFF";
b = "Relay 2 OFF";
c = "Relay 3 OFF";
d = "Relay 4 Off";
}
}
void setup() {
// put your setup code here, to run once:
pinMode (relay1, OUTPUT);
pinMode (relay2, OUTPUT);
pinMode (relay3, OUTPUT);
pinMode (relay4, OUTPUT);
Blynk.begin(auth, ssid, pass);
Blynk.virtualWrite(V0, 0);
Blynk.virtualWrite(V1, 0);
Blynk.virtualWrite(V2, 0);
Blynk.virtualWrite(V3, 0);
Blynk.virtualWrite(V4, 0);
Blynk.virtualWrite(V5, 0);
Blynk.virtualWrite(V6, 0);
Blynk.virtualWrite(V7, 0);
Blynk.virtualWrite(V8, 0);
Blynk.virtualWrite(V9, 0);
}
void loop() {
Blynk.run();
Blynk.virtualWrite(V8, a, ", ", b, ", ", c, ", ", d);
}