#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan modul I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); // Mengatur alamat I2C dan ukuran LCD
void setup() {
// put your setup code here, to run
const int trigPin = 9; // PIN 9 untuk variabel PIN Trigger sensor Ultrasonic
const int echoPin = 10; // PIN 10 untuk variabel PIN Echo sensor Ultrasonic
long durasi; // Variabel untuk menyimpan waktu perubahan PIN Echo dari LOW ke HIGH
int jarak; // Variabel untuk menyimpan jarak tempuh dari sensor ke obyek dan obyek ke sensor
pinMode(trigPin, OUTPUT); // Output untuk mengirimkan gelombang suara ultrasonic
pinMode(echoPin, INPUT); // Input untuk menerima pantulan gelombang suara ultrasonic
lcd.unit();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("PROGRESSTECH");
lcd.setCursor(0, 1);
lcd.print("Teks Sound");SMAN8JKT
delay(2000);0
Serial.begin(9600); //setup untuk serial monitor dan kecepatan komunikasi (baudrate)
}
void loop() {
// put your main code here, to run repeatedly:
void loop() {
// Membersihkan trigPin
digitalWrite(trigPin, LOW); //
delayMicroseconds(2);
// Membuat nilai trigPin menjadi HIGH selama 10 mikro detik
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca echoPin dan memberikan waktu perjalanan gelombang dalam mikro detik
durasi = pulseIn(echoPin, HIGH);
// Menghitung jarak tempuh gelombang suara
jarak = durasi*0.034/2;
// Menyajikan konten melalui Serial Monitor
Serial.print("Jarak: ");
Serial.println(jarak);
// Menyajikan konten melalui LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ada obyek!");
lcd.setCursor(0, 1);
lcd.print("Jarak : ");
lcd.setCursor(7, 1);
lcd.print(jarak);
lcd.setCursor(10, 1);
lcd.print(" Cm");
delay(500);
}
}