#include <Wire.h>                   // Memanggil library wire.h
    #include <LiquidCrystal_I2C.h>      // Memanggil library LCD dengan I2C
    LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4  
    
    #define echoPin A0 //Deklarasi echo terhubung pada pin A0 HC-SR04
   #define trigPin A1 //Deklarasi trig terhubung pada pin A1 HC-SR04
   #define led 2      //Deklarasi LED terhubung pada pin 2
   
   // defines variables
    long durasi; // variabel durasi suara
    int jarak, jarak_max = 150;   // variabel untuk mengukur jarak
    
    void setup() {
      lcd.init();               // instruksi untuk memulai LCD
      lcd.begin(16,2);          // instruksi untuk menggunakan lcd 20x4
      lcd.backlight();          // instruksi untuk mengaktifkan lampu latar LCD
      pinMode(trigPin, OUTPUT); // deklarasi pin trig sebagai output
      pinMode(echoPin, INPUT);  // deklarasi pin echo sebagai input
     pinMode(led, OUTPUT);     // deklarasi LED sebagai output
      Serial.begin(9600);       // Serial Communication is starting with 9600 of baudrate speed
   }
    
    void loop() {
      digitalWrite(trigPin, LOW);  // Trig tidak aktif
      delayMicroseconds(2); 
      digitalWrite(trigPin, HIGH); // Trig aktif
      delayMicroseconds(10);
     digitalWrite(trigPin, LOW);
     // Membaca sinyal masuk pada echo
      durasi = pulseIn(echoPin, HIGH);
      // Menghitung Jarak
      jarak = durasi * 0.034 / 2;     // Rumus menghitung jarak ultrasonik
      lcd.setCursor(0,0);             // karakter dimulai dari kolom 1 baris 3
     lcd.print("Jarak:");            // Karakter yang akan ditampilkan pada LCD
     lcd.print (jarak);               // Menampilkan data jarak pada LCD
     lcd.print("   cm");
     Serial.print("Jarak : ");
      Serial.print(jarak);
      Serial.println(" cm");
      delay(500);
    
      if (jarak < jarak_max){                // instruksi untuk mengaktifkan LED jika jarak benda kurang dari 20 cm (jarak_max)
        digitalWrite(led, LOW);
       lcd.setCursor(0,1);
        lcd.print("di luar jangkauan");
      }
      else {
        digitalWrite(led, HIGH);              // instruksi untuk mematikan LED jika jarak benda lebih dari 20 cm (jarak_max)
       lcd.setCursor(0,1);
       lcd.print("di dalam jangkauan");
      }
        delay(500);53.;    }
$abcdeabcde151015202530354045505560fghijfghij