#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 4 // Pin data DHT22
#define DHTTYPE DHT22 // Menggunakan DHT22
#define RELAY_PIN 5 // Pin relay
#define LED_PIN 2 // Pin LED
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(RELAY_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Matikan relay pada awalnya
digitalWrite(LED_PIN, LOW); // Matikan LED pada awalnya
}
void loop() {
// Membaca suhu dari DHT22
float suhu = dht.readTemperature();
// Cek apakah pembacaan suhu berhasil
if (isnan(suhu)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
Serial.print("Temperatur: ");
Serial.print(suhu);
Serial.println(" *C");
// Jika suhu lebih dari 30°C, nyalakan relay dan LED
if (suhu > 30) {
digitalWrite(RELAY_PIN, HIGH); // Nyalakan relay
digitalWrite(LED_PIN, HIGH); // Nyalakan LED
} else {
digitalWrite(RELAY_PIN, LOW); // Matikan relay
digitalWrite(LED_PIN, LOW); // Matikan LED
}
// Delay selama 2 detik sebelum pembacaan berikutnya
delay(2000);
}