#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#define buzzerPin 3 // Pin tempat kabel buzzer terhubung
#define DHTPIN 2 // Pin tempat kabel DATA sensor DHT22 terhubung
#define DHTTYPE DHT22 // Jenis sensor yang digunakan
DHT dht(DHTPIN, DHTTYPE); // Inisialisasi sensor DHT
LiquidCrystal_I2C lcd(0x27,16,2); // Inisialisasi LCD 16x2 dengan alamat I2C
void setup() {
pinMode(buzzerPin, OUTPUT); // Menginisialisasi pin buzzer sebagai output
lcd.init(); // Menginisialisasi LCD
lcd.backlight(); // Menghidupkan backlight LCD
lcd.clear(); // Membersihkan layar LCD
dht.begin(); // Menginisialisasi sensor DHT
}
void loop() {
float humidity = dht.readHumidity(); // Membaca kelembaban
float temperature = dht.readTemperature(); // Membaca suhu dalam Celcius
// Menampilkan data kelembaban dan suhu pada LCD
lcd.setCursor(0,0);
lcd.print("Kelembaban: ");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("Suhu: ");
lcd.print(temperature);
lcd.print("C");
// Menghasilkan nada pada buzzer jika suhu lebih dari 30 derajat Celcius
if (temperature > 30) {
tone(buzzerPin, 1000, 1000); // Menghasilkan nada dengan frekuensi 1000 Hz selama 1 detik
}
delay(2000); // Menunda selama 2 detik sebelum membaca data lagi
}