#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

//pin Ultrasonik
#define pintriger 4   //Pin Trigger Ultrasonic 
#define pinecho 2     //Pin Echo Ultrasonic

#define ledlow 5      //Pin LED pada level low
#define ledmiddle 6   //Pin LED pada level middle
#define ledhigh 7     //Pin LED pada level high
#define buzzer 8      //Pin Buzzer untuk peringatan bahaya

void setup() {
  Serial.begin (9600);  //Inisialisasi komunikasi serial 
  lcd.begin(16, 2);

  //Deklarasi pin
  
  pinMode(pintriger, OUTPUT);
  pinMode(pinecho, INPUT);
 
  pinMode(ledlow, OUTPUT);
  pinMode(ledmiddle, OUTPUT);
  pinMode(ledhigh, OUTPUT);
  pinMode(buzzer, OUTPUT);
 
}

void loop() {
  long durasi, jarak;  //Varibel durasi dan jarak
  digitalWrite(pintriger, LOW); 
  delayMicroseconds(2);
  digitalWrite(pintriger, HIGH);
  delayMicroseconds(10);
  digitalWrite(pintriger, LOW);
  durasi = pulseIn(pinecho, HIGH);
  jarak = (durasi/2) / 29;  //Perhitungan untuk pembacaan jarak
 
  Serial.print(jarak);
  Serial.println ("  cm");

  lcd.setCursor(0,0);
  lcd.print("  Jarak = ");
  lcd.print(jarak);       //Menampilkan jarak pada LCD 16x2
  lcd.print(" cm");
  lcd.setCursor(0,1);
  lcd.print("   KELOMPOK 6 ");

 if (jarak > 15)  //Pada jarak lebih dari 15 cm mengaktifkan LED level low
  {
      digitalWrite(ledlow, HIGH);
      digitalWrite(ledmiddle, LOW);
      digitalWrite(ledhigh,LOW);
      digitalWrite(buzzer,LOW);
      
  }
  
  else {
    
      digitalWrite(ledlow, LOW);
           
  }
  
  if (jarak <= 15)  //Pada jarak kurang dari sama dengan 15 cm mengaktifkan LED level middle
  {
      digitalWrite(ledmiddle, HIGH);
      digitalWrite(ledhigh, LOW);
      digitalWrite(buzzer,LOW);  
      
  } 
  
  
  if (jarak < 10)  //Pada jarak kurang dari 10 cm mengaktifkan LED level high
  {
    
      digitalWrite(ledhigh, HIGH);
      digitalWrite(buzzer,LOW);  
      
  } 
  
  
  if (jarak < 5) //Pada jarak kurang dari 5 cm mengaktifkan buzzer dan relay
  { 
    digitalWrite(buzzer,HIGH);
    digitalWrite(ledhigh, LOW);
    digitalWrite(ledmiddle, LOW);
   
  }
 
  delay(500);

}
$abcdeabcde151015202530354045505560fghijfghij
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
bz1:1
bz1:2
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2