#define BLYNK_TEMPLATE_ID "TMPL6iImFZ0V8"
#define BLYNK_TEMPLATE_NAME "GAS"
#define BLYNK_AUTH_TOKEN "4ko4G5B916o-T1nlzeckNQT3ORcCSmcr"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define DHTPIN 4 // Pin yang terhubung ke sensor suhu (misalnya DHT22)
#define DHTTYPE DHT11 // Tipe sensor DHT yang digunakan
#define RELAY_PIN 15 // Ganti dengan pin yang terhubung ke relay
#define SMOKE_SENSOR_PIN 2 // Pin yang terhubung ke sensor asap
#define alarm 18
char auth[] = BLYNK_AUTH_TOKEN; // Masukkan token Blynk Anda
char ssid[] = "Wokwi-GUEST"; // Masukkan nama WiFi Anda
char pass[] = ""; // Masukkan kata sandi WiFi Anda
BlynkTimer timer;
void sendSensorData() {
int smokeValue = analogRead(SMOKE_SENSOR_PIN);
int smokeValue2 = digitalRead(SMOKE_SENSOR_PIN);
int smokeValue3 = digitalRead(SMOKE_SENSOR_PIN);
Blynk.virtualWrite(V0, smokeValue3);
}
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
timer.setInterval(10000L, sendSensorData); // Membaca dan mengirim data setiap 10 detik
pinMode(RELAY_PIN, OUTPUT);
pinMode(alarm, OUTPUT);
pinMode(SMOKE_SENSOR_PIN, INPUT);
pinMode(DHTPIN, INPUT);
}
void loop() {
int smokeValue3 = digitalRead(SMOKE_SENSOR_PIN);
if (smokeValue3 == 1){
Serial.println("Ada Asap Terdeteksi");
Blynk.logEvent("situasi", "Ada asap terdeteksi");
}
if (smokeValue3 == 1) {
// Jika nilai asap melebihi ambang batas, nyalakan kipas
digitalWrite(RELAY_PIN,HIGH);
} else {
// Jika nilai asap di bawah ambang batas, matikan kipas
digitalWrite(RELAY_PIN,LOW);
}
Blynk.run();
timer.run();
}