#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <Tone.h>
// Mendefinisikan pin yang terhubung ke sensor DHT
#define DHTPIN 2
#define DHTTYPE DHT22
// Membuat objek untuk sensor DHT dan layar LCDI2C
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Mendefinisikan pin yang terhubung ke buzzer
int buzzerPin = 3;
Tone tone1;
void setup() {
// Menginisialisasi layar LCDI2C, sensor DHT, dan pin buzzer
lcd.init();
lcd.backlight();
dht.begin();
pinMode(buzzerPin, OUTPUT);
tone1.begin(buzzerPin);
}
void loop() {
// Memberikan jeda waktu selama 2 detik
delay(2000);
// Membaca suhu dan kelembaban dari sensor DHT
float h = dht.readHumidity();
float t = dht.readTemperature();
// Membersihkan layar LCDI2C dan menampilkan suhu dan kelembaban
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("%");
// Memainkan nada pada buzzer jika suhu melebihi 30 derajat Celsius
if (t > 30) {
tone1.play(NOTE_C4, 200);
delay(200);
tone1.stop();
}
}