#include <WiFi.h>
#include <DHT.h>
// Konfigurasi Wi-Fi (Simulasi, WiFi tidak perlu terhubung)
const char* ssid = "Wokwi-WiFi";
const char* password = "Wokwi-Password";
// Definisikan pin dan tipe sensor
#define DHTPIN 4 // Pin untuk DHT22
#define DHTTYPE DHT22 // Tipe sensor DHT
#define RELAY_PIN 18 // Pin untuk relay (gunakan LED di Wokwi)
DHT dht(DHTPIN, DHTTYPE);
float thresholdTemperature = 30.0; // Ambang suhu dalam derajat Celsius
float temperature = 0.0;
void setup() {
Serial.begin(115200);
// Inisialisasi sensor DHT
dht.begin();
// Inisialisasi pin relay sebagai output (gunakan LED untuk relay di Wokwi)
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Matikan relay (LED) pada awalnya
// Simulasi koneksi Wi-Fi dan alamat IP
Serial.println("Menghubungkan ke Wi-Fi (simulasi Wokwi)");
delay(2000); // Delay untuk simulasi
Serial.println("\nTerhubung ke Wi-Fi (Simulasi)");
// Menampilkan alamat IP lokal simulasi
Serial.print("Alamat IP lokal ESP32: ");
Serial.println("192.168.1.100"); // IP simulasi
}
void loop() {
// Membaca suhu dari sensor DHT22
temperature = dht.readTemperature();
// Cek apakah pembacaan suhu berhasil
if (isnan(temperature)) {
Serial.println("Gagal membaca sensor DHT!");
return;
}
// Menampilkan suhu di Serial Monitor
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.println(" °C");
// Kontrol relay (LED) berdasarkan suhu
if (temperature > thresholdTemperature) {
Serial.println("Suhu di atas ambang batas, mengaktifkan relay (LED ON)");
digitalWrite(RELAY_PIN, HIGH); // Aktifkan relay (LED menyala)
} else {
Serial.println("Suhu di bawah ambang batas, mematikan relay (LED OFF)");
digitalWrite(RELAY_PIN, LOW); // Matikan relay (LED mati)
}
// Tunggu sebentar sebelum pembacaan berikutnya
delay(2000);
}