#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6SLwx_lkt"
#define BLYNK_TEMPLATE_NAME "Latihan 11"
#define BLYNK_AUTH_TOKEN "RidH6JS5mOHe03A5qp-e7bkaNue-PZv0"
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int LDR = 13;
int Lux = 0;
int LEDHIJAU = 2;
int LEDMERAH = 4;
int t1 = 0;
int t2 = 0;
int totalDetik1 = 0;
int totalDetik2 = 0;
int totalDetik3 = 0;
const float GAMMA = 0.7;
const float RL10 = 50;
BLYNK_WRITE(V5) // Menangani event saat nilai slider berubah
{
Lux = param.asInt(); // Menyimpan nilai slider ke dalam variabel
}
void setup() {
Serial.begin(115200);
pinMode(LDR, INPUT);
pinMode(LEDHIJAU, OUTPUT);
pinMode(LEDMERAH, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void loop() {
int L = map(analogRead(LDR), 0, 4063, Lux, 0);
// // Convert the analog value into lux value:
// float voltage = aoValue / 100. * 5;
// float resistance = 2000 * voltage / (1 - voltage / 5);
// float Lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
Serial.println(L);
if (L >= 70) {
Serial.print("Total Detik : " + String(totalDetik1) + " s\n");
Serial.println("TERANG");
Serial.println("LEDHIJAU MATI");
digitalWrite(LEDHIJAU, LOW);
Serial.println("LEDMERAH MATI");
digitalWrite(LEDMERAH, LOW);
Blynk.virtualWrite(V0, LOW);
Blynk.virtualWrite(V1, LOW);
String gelap1 = "Terang, " + String(totalDetik1) + "s";
Blynk.virtualWrite(V2, gelap1);
String gelap2 = " ";
Blynk.virtualWrite(V3, gelap2);
String gelap3 = " ";
Blynk.virtualWrite(V4, gelap3);
}else if (L >= 40){
t1 = millis();
totalDetik2 = (t1/1000);
Serial.print("Total Detik : " + String(totalDetik2) + " s\n");
Serial.println("REDUP");
Serial.println("LEDHIJAU HIDUP");
digitalWrite(LEDHIJAU, HIGH);
digitalWrite(LEDMERAH, LOW);
Blynk.virtualWrite(V0, HIGH);
Blynk.virtualWrite(V1, LOW);
String gelap1 = " ";
Blynk.virtualWrite(V2, gelap1);
String gelap2 = "Redup, " + String(totalDetik2) + "s";
Blynk.virtualWrite(V3, gelap2);
String gelap3 = " ";
Blynk.virtualWrite(V4, gelap3);
}else{
t2 = millis();
totalDetik3 = t2/1000;
Serial.print("Total Detik : " + String(totalDetik3) + " s\n");
Serial.println("GELAP");
Serial.println("LEDHIJAU HIDUP");
digitalWrite(LEDHIJAU, HIGH);
Serial.println("LEDMERAH HIDUP");
digitalWrite(LEDMERAH, HIGH);
Blynk.virtualWrite(V0, HIGH);
Blynk.virtualWrite(V1, HIGH);
String gelap1 = " ";
Blynk.virtualWrite(V2, gelap1);
String gelap2 = " ";
Blynk.virtualWrite(V3, gelap2);
String gelap3 = "Gelap, " + String(totalDetik3) + "s";
Blynk.virtualWrite(V4, gelap3);
}
Blynk.run();
delay(1000);
}