#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define pinTrig 3
#define pinEcho 2
#define pinBuz 13
long waktu, jarak;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
pinMode(pinBuz, OUTPUT);
pinMode(pinTrig, OUTPUT);
pinMode(pinEcho, INPUT);
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
}
void loop() {
digitalWrite(pinTrig, LOW);
delayMicroseconds(2);
digitalWrite(pinTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrig, LOW);
waktu = pulseIn(pinEcho, HIGH);
jarak = waktu / 58.2;
lcd.setCursor(10, 0);
lcd.print(" ");
lcd.setCursor(10, 0);
lcd.print(jarak);
lcd.print(" cm");
if (jarak < 250 && jarak >= 200) {
tone(pinBuz, 100);
delay(50);
noTone(pinBuz);
delay(200);
} else if (jarak < 200 && jarak >= 150) {
tone(pinBuz, 200);
delay(50);
noTone(pinBuz);
delay(150);
} else if (jarak < 150 && jarak >= 100) {
tone(pinBuz, 400);
delay(50);
noTone(pinBuz);
delay(50);
} else if (jarak < 100 && jarak >= 2) {
tone(pinBuz, 500);
delay(50);
noTone(pinBuz);
} else {
noTone(pinBuz);
}
delay(100);
}