#include <DHT.h>
// Pin configuration
#define DHTPIN 9 // Pin untuk sensor DHT11
#define DHTTYPE DHT22 // Tipe sensor (DHT11)
const int buzzerPin = 3; // Pin untuk buzzer
const int nearLedPin = 12; // Pin untuk LED
// Variables
float temperature; // Variabel untuk suhu
float humidity; // Variabel untuk kelembapan
DHT dht(DHTPIN, DHTTYPE); // Objek DHT
void setup() {
pinMode(buzzerPin, OUTPUT); // Buzzer
pinMode(nearLedPin, OUTPUT); // LED
Serial.begin(9600); // Serial monitor
dht.begin(); // Inisialisasi sensor DHT
}
void loop() {
// Membaca suhu dan kelembapan dari sensor DHT11
temperature = dht.readTemperature(); // Membaca suhu
humidity = dht.readHumidity(); // Membaca kelembapan
// Periksa apakah pembacaan valid
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Gagal membaca sensor DHT11!");
return;
}
// Cetak suhu dan kelembapan ke Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
// Logika kontrol berdasarkan suhu
if (humidity > 60) { // Aktifkan jika suhu > 30°C
tone(buzzerPin, 1000); // Bunyikan buzzer
digitalWrite(nearLedPin, HIGH); // Nyalakan LED
} else {
noTone(buzzerPin); // Matikan buzzer
digitalWrite(nearLedPin, LOW); // Matikan LED
}
delay(2000); // Tunggu 2 detik sebelum pembacaan berikutnya
}