#include <DHT.h>
// Pin Definitions
#define DHTPIN 19 // Pin untuk DHT22
#define RELAYPIN 21 // Pin untuk relay
#define DHTTYPE DHT22
// DHT Sensor Initialization
DHT dht(DHTPIN, DHTTYPE);
// Ambang suhu
const float AMBANG_SUHU = 32.0;
void setup() {
Serial.begin(115200);
dht.begin();
// Set relay pin sebagai output
pinMode(RELAYPIN, OUTPUT);
digitalWrite(RELAYPIN, LOW); // Pastikan relay mati saat memulai
}
void loop() {
// Membaca suhu dan kelembapan
float suhu = dht.readTemperature();
float kelembapan = dht.readHumidity();
// Periksa apakah pembacaan valid
if (isnan(suhu) || isnan(kelembapan)) {
Serial.println("Gagal membaca dari sensor DHT22!");
return;
}
// Menampilkan data ke Serial Monitor
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print("°C | Kelembapan: ");
Serial.print(kelembapan);
Serial.println("%");
// Kontrol relay berdasarkan suhu
if (suhu > AMBANG_SUHU) {
digitalWrite(RELAYPIN, HIGH); // Nyalakan kipas
Serial.println("Kipas: ON");
} else {
digitalWrite(RELAYPIN, LOW); // Matikan kipas
Serial.println("Kipas: OFF");
}
delay(2000); // Tunggu 2 detik sebelum pembacaan berikutnya
}