#include <LiquidCrystal_I2C.h>
#include <DHTesp.h>
#define led_merah 12
#define led_kuning 14
#define led_biru 27
#define dht 15
#define buzzer 26
#define height 64
#define width 128
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 20, 4);
char destination[8];
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(led_merah, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_biru, OUTPUT);
pinMode(buzzer, OUTPUT);
dhtSensor.setup(dht, DHTesp::DHT22);
lcd.init();
}
void loop() {
// put your main code here, to run repeatedly:
float temp = dhtSensor.getTemperature();
lcd.setCursor(0, 0);
lcd.print("SUHU : ");
dtostrf(temp, 5, 2, destination);
lcd.setCursor(6, 0);
lcd.print(destination);
if (temp < 29) {
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning, LOW);
digitalWrite(led_biru, HIGH);
lcd.setCursor(0, 1);
lcd.print("SUHU RENDAH");
} else if (temp >= 29 && temp < 35) {
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning, HIGH);
digitalWrite(led_biru, LOW);
lcd.setCursor(0, 1);
lcd.print("SUHU CUKUP ");
} else {
digitalWrite(led_merah, HIGH);
digitalWrite(led_kuning, LOW);
digitalWrite(led_biru, LOW);
lcd.setCursor(0, 1);
lcd.print("SUHU PANAS ");
tone (buzzer, 800, 300);
delay(200);
tone (buzzer, 1600, 300);
delay(200);
}
}