#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6jpoO3b7k"
#define BLYNK_TEMPLATE_NAME "Borneo"
#define BLYNK_AUTH_TOKEN "updcZTq_DZTbiC5PVbp_wApj9W8JcCBX"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
// Pin setup
#define RELAY1 26
#define RELAY2 27
#define FLOAT1 14
#define FLOAT2 12
bool pump1State = false;
bool pump2State = false;
#define pump1(x) digitalWrite(RELAY1, x? LOW:HIGH)
#define pump2(x) digitalWrite(RELAY2, x? LOW:HIGH)
BlynkTimer timer;
BLYNK_WRITE(V0) // Button Pump 1
{ pump1State = param.asInt();
pump1(pump1State);
}
BLYNK_WRITE(V1) // Button Pump 2
{ pump2State = param.asInt();
pump2(pump2State);
}
void cekMax()
{
if(pump1State==1) // kalau tangki 1 MAX
{ if(digitalRead(FLOAT1)==0)
{ pump1State=0;
pump1(pump1State);
Blynk.virtualWrite(V0,LOW);
}
}
if(pump2State==1) // kalau tangki 2 MAX
{ if(digitalRead(FLOAT2)==0)
{ pump2State=0;
pump2(pump2State);
Blynk.virtualWrite(V1,LOW);
}
}
Serial.print(digitalRead(FLOAT1));
Serial.print(" ");
Serial.println(digitalRead(FLOAT2));
}
void setup()
{ Serial.begin(115200);
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(FLOAT1, INPUT_PULLUP);
pinMode(FLOAT2, INPUT_PULLUP);
digitalWrite(RELAY1, HIGH);
digitalWrite(RELAY2, HIGH);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(10L,cekMax);
}
void loop()
{ Blynk.run();
timer.run();
}R1
R2
F1
F2