#define BUZZER_PIN 19
#define RAIN_ANALOG 22
#define RAIN_DIGITAL 23
#define LED_PIN 5
#define BLYNK_TEMPLATE_ID "TMPL61grPFU_4"
#define BLYNK_TEMPLATE_NAME "ESP 32 Sensor Hujan"
#define BLYNK_AUTH_TOKEN "fxPreiSso3Zej8Q9yMd8ZPGMt7JZF3A6"
#define BLYNK_PRINT Serial //Kita menggunakan Blynk serial
#include <WiFi.h> //Library WiFi
#include <WiFiClient.h> //Library WiFiClient
#include <BlynkSimpleEsp32.h> //Library BlynkESP32
char ssid[] = "Wokwi-GUEST"; //Nama WiFi yang digunakan
char pass[] = ""; //Password WiFi yang digunakan
BlynkTimer timer; //Untuk push data dibutuhkan blynk timer (untuk code push data dapat dilihat di blynk example)
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass); //Menginisiasi Blynk
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(RAIN_ANALOG, INPUT);
pinMode(RAIN_DIGITAL, INPUT);
analogReadResolution(10);
timer.setInterval(1000L, myEvent); //Mengirim data tiap satu detik
}
void myEvent() {
if(digitalRead(RAIN_DIGITAL)){
Serial.println("Hujan terdeteksi");
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 200);
delay(1000); // delay
noTone(BUZZER_PIN);
Blynk.virtualWrite(V0, "Hujan, Segera Pindah Nasi Aking");
}
else{
Serial.println("Tidak hujan");
digitalWrite(LED_PIN, LOW);
Blynk.virtualWrite(V0, "Tidak Hujan, Nasi Aking Aman");
}
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
Blynk.run();
timer.run();
}