#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
#define ECHO_PIN 3
#define TRIG_PIN 4
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
int vr=A0;
int vrvalue;
float readDistanceCM() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
return duration * 0.034 / 2;
}
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
dht.begin();
lcd.init();
lcd.backlight();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// vrvalue=analogRead(vr);
float distance = readDistanceCM();
// bool isNearby = distance < 100;
Serial.println(temperature);
lcd.setCursor(11,0);
lcd.println(temperature);
lcd.setCursor(0,0);
lcd.println("Suhu skrg = ");
lcd.setCursor(11,1);
lcd.println(distance);
lcd.setCursor(0,1);
lcd.println("dist skrg = ");
if (distance < 50 && temperature >17){
digitalWrite(LED_BUILTIN, true);
} else {
digitalWrite(LED_BUILTIN, false);
}
}