// Mengimpor library yang dibutuhkan
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
// Mendefinisikan
#define buzzer 9
#define DHTPIN A0
#define DHTTYPE DHT22
#define RELAY 13
DHT dht(DHTPIN, DHTTYPE); //serangkaian sensor suhu dan kelembaban digital yang
//umum digunakan dalam proyek-proyek berbasis mikrokontroler
void setup() {
//Inisialisasi sensor DHT.
dht.begin();
//Mengatur mode pin Arduino untuk output.
//relay, dan buzzer diatur sebagai output.
pinMode(RELAY, OUTPUT);
pinMode(buzzer, OUTPUT);
//langkah awal untuk menetapkan status awal perangkat keras.
digitalWrite(RELAY, HIGH);
//Memainkan nada pada buzzer dengan frekuensi 300 Hz selama 500 milidetik.
//Ini mungkin digunakan sebagai efek suara awal atau notifikasi pada awal program.
tone(buzzer,300,500);
//Menginisialisasi komunikasi serial dengan kecepatan baud 9600.
Serial.begin(9600);
delay(1000);
digitalWrite(buzzer, LOW);
digitalWrite(RELAY, LOW);
}
void loop() {
//Membaca suhu dari sensor DHT dan menyimpan nilainya dalam variabel temperature.
//Fungsi readTemperature() digunakan untuk membaca suhu dalam derajat Celsius dari sensor.
float temperature = dht.readTemperature();
//Membaca kelembaban dari sensor DHT dan menyimpan nilainya dalam variabel humidity.
//Fungsi readHumidity() digunakan untuk membaca kelembaban dalam persen dari sensor.
float humidity = dht.readHumidity();
//if(temperature >= 30 && humidity <= 30): Ini adalah struktur kontrol if yang menguji dua kondisi:
//temperature >= 30: Mengevaluasi apakah suhu lebih besar atau sama dengan 30 derajat Celsius.
//humidity <= 30: Mengevaluasi apakah kelembaban kurang dari atau sama dengan 30 persen.
if(temperature >=30 && humidity <= 30)
{
tone(buzzer,500,1000);
delay(1000);
}
if (temperature <30 || humidity >30)
{
delay(3000);
delay(100);
}
}