/* menggerakan servo menggunakan sensor hujan dan LDR ke posisi
180 dan menggunakan tombol atau blynk ke posisi 0
Perangkat:
-ESP32
-Servo
-LDR
-Potensiometer(pengannti sensor hujan)
*/
#include <Servo.h>
#define BLYNK_TEMPLATE_ID "TMPL6Uz207agD"
#define BLYNK_TEMPLATE_NAME "Smart Jemuran"
#define BLYNK_AUTH_TOKEN "NnzwecVqj3ZGLUHaFHt4lCMsGdZOjS_u"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int ldr, hujan;
Servo jemuran_1;
bool status = false;
BLYNK_WRITE(V0)
{
int pinValue = param.asInt();
if (pinValue ==1){
status = true;
Blynk.virtualWrite(V3,"jemuran terbuka");
}
else{
status = false;
}
}
void setup() {
Serial.begin(115200);
jemuran_1.attach(25);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
ldr =map(analogRead(34), 0, 4096, 100,0);
hujan =map(analogRead(35),0, 4096, 0,100);
Blynk.virtualWrite(V4, ldr);
Blynk.virtualWrite(V5, ldr);
if (status == true){
jemuran_1.write(0);
Blynk.virtualWrite(V3,"jemuran terbuka");
}
else{
if(ldr <30 || hujan >40){
jemuran_1.write(180);
Blynk.virtualWrite(V3,"jemuran tertutup");
Blynk.virtualWrite(V2, "MENDUNG, KEMUNGKINAN HUJAN");
}
else{
Blynk.virtualWrite(V2, "PANAS, SILAHKAN BUKA ATAP");
}
}
}