#define BLYNK_TEMPLATE_ID "TMPL6wLyvWQol"
#define BLYNK_TEMPLATE_NAME "ESP32 DHT22 BUZZER"
#define BLYNK_AUTH_TOKEN "XLqFkwygxGtCl8bCgYgZ1v13tIWMrUQp"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
// WiFi credentials
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define DHTPIN 16 // Pin data DHT22 terhubung ke pin
#define DHTTYPE DHT22 // Tipe sensor DHT22
DHT dht(DHTPIN, DHTTYPE);
int blueLEDPin = 12; // Pin untuk LED biru
int redLEDPin = 13; // Pin untuk LED merah
int buzzerPin = 18; // Pin untuk buzzer
BlynkTimer timer;
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
dht.begin();
pinMode(blueLEDPin, OUTPUT);
pinMode(redLEDPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
timer.setInterval(100L, sendSensorData); // Mengirim data sensor setiap
// Inisialisasi status awal untuk widget LED dan label
Blynk.virtualWrite(V4, 0); // Matikan LED biru di Blynk Cloud
Blynk.virtualWrite(V5, "Buzzer: OFF"); // Menampilkan status buzzer di Blynk Cloud
Blynk.virtualWrite(V3, 0); // Matikan LED merah di Blynk Cloud
}
void loop()
{
Blynk.run();
timer.run();
}
void sendSensorData()
{
float temperature = dht.readTemperature(); // Baca suhu
float humidity = dht.readHumidity(); // Baca kelembaban
Blynk.virtualWrite(V0, temperature); // Kirim suhu ke pin virtual V0
Blynk.virtualWrite(V1, humidity); // Kirim kelembaban ke pin virtual V1
// Mengatur LED dan buzzer berdasarkan kondisi suhu dan kelembaban
if (temperature < 10 && humidity < 30) {
digitalWrite(blueLEDPin, HIGH);
Blynk.virtualWrite(V4, 255); // Mengatur LED biru di Blynk Cloud
Blynk.virtualWrite(V5, "Buzzer: ON"); // Menampilkan status buzzer di Blynk Cloud
digitalWrite(buzzerPin, HIGH);
digitalWrite(redLEDPin, LOW);
} else if (temperature > 60 && humidity > 80) {
digitalWrite(redLEDPin, HIGH);
Blynk.virtualWrite(V3, 255); // Mengatur LED merah di Blynk Cloud
Blynk.virtualWrite(V5, "Buzzer: ON"); // Menampilkan status buzzer di Blynk Cloud
digitalWrite(buzzerPin, HIGH);
digitalWrite(blueLEDPin, LOW);
} else {
digitalWrite(blueLEDPin, LOW);
Blynk.virtualWrite(V4, 0); // Matikan LED biru di Blynk Cloud
Blynk.virtualWrite(V3, 0); // Matikan LED merah di Blynk Cloud
Blynk.virtualWrite(V5, "Buzzer: OFF"); // Menampilkan status buzzer di Blynk Cloud
digitalWrite(buzzerPin, LOW);
digitalWrite(redLEDPin, LOW);
}
}