#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16,2);
#define nada 262
#define nada2 330
int led = 13;
int trig = 9; // membuat varibel trig yang di set ke-pin 3
int echo = 8;
int buzzer = 12; // membuat variabel echo yang di set ke-pin 2
long durasi, jarak; // membuat variabel durasi dan jarak
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(led, OUTPUT);
pinMode(trig, OUTPUT); // set pin trig menjadi OUTPUT
pinMode(echo, INPUT); // set pin echo menjadi INPUT
Serial.begin(9600); // digunakan untuk komunikasi Serial dengan komputer
lcd.init();
lcd.backlight();
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Jarak :");
lcd.setCursor(0,1);
lcd.print("Ket :");
lcd.setCursor(7,0);
lcd.print(jarak);
lcd.setCursor(10,0);
lcd.print("cm");
// program dibawah ini agar trigger memancarakan suara ultrasonic
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi = pulseIn(echo, HIGH); // menerima suara ultrasonic
jarak = (durasi / 2) / 29.1; // mengubah durasi menjadi jarak (cm)
Serial.println(jarak); // menampilkan jarak pada Serial Monitor
if (jarak <100){
digitalWrite(led, HIGH);
tone(buzzer, nada);
delay(100);
tone(buzzer, nada2);
delay(100);
lcd.setCursor(7,1);
lcd.print("Dekat");
}
else {
digitalWrite(led, LOW);
noTone(buzzer);
lcd.setCursor(7,1);
lcd.print("Jauh ");
}
}