#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
int Trig_Pin = 4;
int echo_Pin = 5;
#define DHT_PIN 7
DHT dht(DHT_PIN, DHT22);
LiquidCrystal_I2C lcd(0x27, 32, 4);
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(Trig_Pin, OUTPUT);
pinMode(echo_Pin, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
float Temp = dht.readTemperature();
float Humi = dht.readHumidity();
if(isnan(Temp) || isnan(Humi)){
lcd.setCursor(0, 0);
lcd.print("Sensor Rusak");
} else {
int pulse, inches, cm;
digitalWrite(Trig_Pin,LOW);
delayMicroseconds(2);
digitalWrite(Trig_Pin, HIGH);
delayMicroseconds(10);
digitalWrite(Trig_Pin, LOW);
pulse = pulseIn(echo_Pin, HIGH);
cm = pulse * 0.03422 / 2;
lcd.setCursor(0,0);
lcd.print("Jarak : ");
lcd.print(cm);
lcd.println(" CM");
lcd.setCursor(0,1);
lcd.print("---------------------");
lcd.setCursor(0, 2);
lcd.print("Temp: ");
lcd.print(Temp);
lcd.println(" C");
lcd.setCursor(0, 3);
lcd.print("Humi: ");
lcd.print(Humi);
lcd.println(" %");
}
delay(2000);
}