#define Buzzer 4 //mendefinisikan pin 4 Arduino sebagai pin Output Buzzer
#define trigPin 5 //mendefinisikan pin 5 arduino sebagai trigger pin sensor ultrasonic
#define echoPin 6 //mendefinisikan pin 6 arduino sebagai echoPin sensor ultrasonic
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
long duration; // variabel durasi sensor ultrasonic
int distance = 0; // jarah dalam centimeter
void setup()
{
lcd.init();
lcd.backlight();
pinMode(trigPin, OUTPUT); // setting triggerpin sebagai output
pinMode(echoPin, INPUT); // setting echopin sebagai Input
pinMode(Buzzer, OUTPUT); // setting Buzzer sebagai Output
}
void loop()
{
digitalWrite(trigPin, HIGH);// aktifkan sensor ultrasonic
delayMicroseconds(10); // selama 10 microseconds
digitalWrite(trigPin, LOW); // matikan sensor ultrasonic
duration = pulseIn(echoPin, HIGH); // baca rentan waktu dari trigPin High sampai echoPin high
distance= duration*0.034/2; //konversi selang waktu ke CM
if (distance <= 50) // Hanya menampilkan jarak jika jaraknya kurang dari 300 cm / 3 mete
{
lcd.setCursor(2,0);
lcd.print("Jarak Bahaya");
tone(Buzzer,700);
delay(distance);
noTone(Buzzer);
delay(distance);
}
if (distance > 50 && distance <= 100) // Hanya menampilkan jarak jika jaraknya kurang dari 300 cm / 3 mete
{
lcd.setCursor(2,0);
lcd.print(" Hati-hati ");
tone(Buzzer,100);
delay(distance);
noTone(Buzzer);
delay(distance);
}
if(distance > 100)
{
lcd.setCursor(2,0);
lcd.print(" Jarak Aman ");
}
}