#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
const int pinPot = 34;
const int pinLED = 12;
int sensor = 0;
int levelsensor=0;
float vin;
int brightness = 0;
void setup() {
 // put your setup code here, to run once:
 pinMode(pinPot, INPUT);
 pinMode(pinLED, OUTPUT);
 Serial.begin(115200);
 lcd.init();
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("UAS 2204016");
 Serial.println("Hello, ESP32!");
}

void loop() {
 // put your main code here, to run repeatedly:
 sensor = analogRead(pinPot);
 vin=((float)(3.3*sensor))/4095;
 brightness = map(sensor, 3715, 4095, 0, 255);
 levelsensor=map(brightness, 0, 255, 0, 100);
 
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Nilai Sensor : ");
  
 lcd.setCursor(0, 1);
 lcd.print(sensor,1);
 lcd.setCursor(6, 1);
 lcd.print(vin,1);
 lcd.setCursor(9, 1);
 lcd.print("V");
 lcd.setCursor(12, 1);
 if (levelsensor>=0 and levelsensor<=100){
    lcd.print(levelsensor,1);
    lcd.setCursor(15, 1);
    lcd.print("%");
 }
 analogWrite(pinLED, brightness);
  
 if (vin<3) {
     Serial.println("EMpty");
 }else{
    
    Serial.print(levelsensor);
    Serial.println("%");
 }
 Serial.print("Nilai Sensor : ");
 Serial.println(sensor);
 delay(1000); // this speeds up the simulation
}