#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int trig= 12;
int echo= 11;
int speaker= 10;
long durasi,jarak;
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(speaker, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(1,0);
lcd.print("SINAR COMPUTER");
lcd.setCursor(3,1);
lcd.print("Ultrasonic");
delay(3000);
Serial.begin(9600);
}
void loop() {
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Jarak :");
lcd.print(jarak);
lcd.print(" cm");
lcd.setCursor(2,1);
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi= pulseIn(echo, HIGH);
jarak= (durasi/2) / 29.1;
Serial.println(jarak);
delay(5);
if ( jarak < 100 ) {
tone(speaker,300);
delay(200);
noTone(8);
delay(5);
lcd.print("Awas nabrak");
digitalWrite(speaker, HIGH);
delay(200);
} else if (jarak > 100) {
noTone(speaker);
lcd.print(" jarak aman ");
digitalWrite(speaker, LOW);
delay(200);
}
delay(1000);
lcd.clear();
}