#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 24, 4); 
#define ECHO 5
#define TRIG 6
#define PB1 2
#define PB2 3
#define PB3 4
int duration;
int distance;
int bacapb1;
int bacapb2;
int bacapb3;
int x = 0;
void setup() {
lcd.init();
lcd.backlight();
pinMode(ECHO, INPUT);
pinMode(TRIG, OUTPUT);
pinMode(PB1, INPUT_PULLUP);
pinMode(PB2, INPUT_PULLUP);
pinMode(PB3, INPUT_PULLUP);
Serial.begin(9600);
}

void loop() {
bacapb1 = digitalRead(PB1);
bacapb2 = digitalRead(PB2);
bacapb3 = digitalRead(PB3);
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH);
distance = duration / 58.2;
if(bacapb1 == 0){
  x = x + 1;
}else if(bacapb2 == 0){
  x = 0;
}
Serial.println(x);
if(x == 0){
lcd.clear();
lcd.setCursor(5,0);
lcd.print("PILIH MODE");
lcd.setCursor(4,1);
lcd.print("TOMBOL HIJAU");
lcd.setCursor(5,2);
lcd.print("RESET MODE");
lcd.setCursor(4,3);
lcd.print("TOMBOL MERAH");
delay(100);
}
//MODE UST
else if(x == 1){
lcd.clear();
lcd.setCursor(0,2);
lcd.print("MODE UST");
lcd.setCursor(0,0);
lcd.print("PTP PALEMBANG");
lcd.setCursor(0,1);
lcd.print("BBM LEVEL : ");
lcd.setCursor(12,1);
lcd.print(151 - distance);
lcd.setCursor(16,1);
lcd.print("CM");
delay(100);
}
//MODE TANKER
else if(x == 2){
lcd.clear();
lcd.setCursor(0,2);
lcd.print("MODE TRUK TANGKI");
lcd.setCursor(0,0);
lcd.print("PTP PALEMBANG");
lcd.setCursor(0,1);
lcd.print("BBM LEVEL : ");
lcd.setCursor(12,1);
lcd.print(146 - distance);
lcd.setCursor(16,1);
lcd.print("CM");
delay(100);
}
}
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
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r