#define BLYNK_TEMPLATE_ID "TMPL665ytl9F6"
#define BLYNK_TEMPLATE_NAME "ESP32 DHT22"
#define BLYNK_AUTH_TOKEN "w-KnlqNipzLfhPO_GvRpZ3lmRvEI2ALx"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
char auth[] = "w-KnlqNipzLfhPO_GvRpZ3lmRvEI2ALx"; // Ganti dengan Auth Token Blynk Anda
// WiFi Settings
char ssid[] = "Wokwi-GUEST"; // Ganti dengan SSID WiFi Anda
char password[] = ""; // Ganti dengan password WiFi Anda
#define DHTPIN 13 // Pin yang terhubung ke DHT22
#define RELAY_PIN 5 // Pin yang terhubung ke relay
#define BUZZER_PIN 14 // Pin yang terhubung ke buzzer
#define DHTTYPE DHT22 // Tipe sensor DHT yang digunakan
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(RELAY_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
void loop() {
delay(500); // Delay untuk memberi waktu membaca sensor
// Membaca suhu dalam derajat Celsius
float suhu = dht.readTemperature();
// Cek apakah pembacaan berhasil
if (isnan(suhu)) {
Serial.println("Gagal membaca suhu dari DHT22!");
return;
}
Blynk.virtualWrite(V1, suhu);
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.println(" °C");
// Logika kendali
if (suhu > 45) {
digitalWrite(RELAY_PIN, HIGH); // Nyalakan relay
digitalWrite(BUZZER_PIN, HIGH); // Nyalakan buzzer
tone(BUZZER_PIN, 500);
} else {
digitalWrite(RELAY_PIN, LOW); // Matikan relay
digitalWrite(BUZZER_PIN, LOW); // Matikan buzzer
tone(BUZZER_PIN, 0);
}
}