#define BLYNK_TEMPLATE_ID "TMPL6MQ2rKUz-"
#define BLYNK_TEMPLATE_NAME "Pemantauan Suhu dan Kelembaban""
#define BLYNK_AUTH_TOKEN "3Kn1mMBNkFKu9L8OkgUK3ze_DXgoI29I"
#define VIRTUAL_PIN_LED1 V2 // Virtual pin untuk indikator LED1 di Blynk
#define VIRTUAL_PIN_LED2 V3 // Virtual pin untuk indikator LED2 di Blynk
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#define DHTPIN 25 // Pin untuk DHT22
#define LED_PIN1 21 // Pin untuk LED1
#define LED_PIN2 19 // Pin untuk LED2
#define BUZZER_PIN 27 // Pin untuk Buzzer
#define DHTTYPE DHT22 // Tipe sensor DHT
// Inisialisasi sensor dan variabel
DHT dht(DHTPIN, DHTTYPE);
float temperature;
float humidity;
char auth[] = BLYNK_AUTH_TOKEN; // Masukkan Auth Token dari Blynk
char ssid[] = "Wokwi-GUEST"; // Nama WiFi Anda
char pass[] = ""; // Password WiFi Anda
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
dht.begin();
pinMode(LED_PIN1, OUTPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
// Hubungkan ke WiFi dan Blynk
WiFi.begin(ssid, pass);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
// Membaca suhu dan kelembaban
temperature = dht.readTemperature();
humidity = dht.readHumidity();
// Logika untuk LED dan buzzer
if (temperature >= 50 && humidity < 40) {
digitalWrite(LED_PIN1, HIGH); // LED1 menyala
digitalWrite(LED_PIN2, LOW); // LED2 mati
digitalWrite(BUZZER_PIN, HIGH); // Buzzer menyala (opsional)
Blynk.virtualWrite(VIRTUAL_PIN_LED1, 255); // Menyalakan LED1 virtual di Blynk
Blynk.virtualWrite(VIRTUAL_PIN_LED2, 0); // Mematikan LED2 virtual di Blynk
}
else if (temperature < 50 && humidity >= 40) {
digitalWrite(LED_PIN1, LOW); // LED1 mati
digitalWrite(LED_PIN2, HIGH); // LED2 menyala
digitalWrite(BUZZER_PIN, HIGH); // Buzzer menyala (opsional)
Blynk.virtualWrite(VIRTUAL_PIN_LED1, 0); // Mematikan LED1 virtual di Blynk
Blynk.virtualWrite(VIRTUAL_PIN_LED2, 255); // Menyalakan LED2 virtual di Blynk
}
else {
digitalWrite(LED_PIN1, LOW); // Matikan LED1
digitalWrite(LED_PIN2, LOW); // Matikan LED2
digitalWrite(BUZZER_PIN, LOW); // Matikan Buzzer
Blynk.virtualWrite(VIRTUAL_PIN_LED1, 0); // Mematikan LED1 virtual di Blynk
Blynk.virtualWrite(VIRTUAL_PIN_LED2, 0); // Mematikan LED2 virtual di Blynk
}
// Kirim data ke Blynk
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, humidity);
delay(2000); // jeda pembacaan
}