#define LDR_PIN 4
#define ECHO_PIN 14
#define TRIG_PIN 12
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
void setup() {
pinMode(LDR_PIN, INPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(115200);
}
void loop() {
LCD.init();
LCD.backlight();
LCD.setCursor(0,0);
LCD.print("Cahaya: ");
if (digitalRead(LDR_PIN) == LOW) {
LCD.setCursor(0,1);
LCD.println("Terang");
} else {
LCD.setCursor(0,1);
LCD.println("Gelap");
}
// Clear the condition
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
// Generate ultrasonic signal
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Read ultrasonic signal
int duration = pulseIn(ECHO_PIN, HIGH);
// Calculating the distance
float distance = duration * 0.034 / 2;
LCD.init();
LCD.backlight();
LCD.setCursor(0,1);
LCD.print("Jarak: ");
LCD.print(distance);
LCD.println(" CM");
LCD.println();
delay(1000);
}