#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
const int DHT_PIN = 13;
const int BUZZER = 18;
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
Serial.begin(115200);
pinMode(BUZZER, OUTPUT);//buzzer
pinMode(2,OUTPUT);//led merah
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
lcd.init();
lcd.backlight();
lcd.setCursor(8,0);
lcd.print("Projek");
lcd.setCursor(3,1);
lcd.print("Alarm Kebakaran");
lcd.setCursor(8,2);
lcd.print("oleh");
lcd.setCursor(2,3);
lcd.print("Amalia Mahardika");
delay(3000);
lcd.clear();
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "C");
Serial.println("Humidity: " + String(data.humidity, 2) + "%");
Serial.println("---");
digitalWrite(BUZZER,HIGH) ; //Turn on active buzzer
delay(1000);
lcd.setCursor(3,0);
lcd.print("Informasi Suhu");
lcd.setCursor(0, 1);
lcd.print("Suhu : " + String(data.temperature, 2) + " C");
lcd.setCursor(0,2);
lcd.print("Kelembaban : " + String(data.humidity, 2) + " %");
delay(3000);
lcd.clear();
lcd.setCursor(0, 1);
delay(2000);
lcd.clear();
if (data.temperature < 20){
lcd.setCursor(8,1);
lcd.print("AMAN");
digitalWrite(2, LOW);
noTone(BUZZER);
}
else if (data.temperature > 32){
lcd.setCursor(3,1);
lcd.print("BAHAYA API!!!");
digitalWrite(2, HIGH);
tone(BUZZER,165);
}
else if (data.temperature > 20 < 32){
lcd.setCursor(3,1);
lcd.print("TIDAK ADA API");
digitalWrite(2, LOW);
noTone(BUZZER);
}
}