#include <Wire.h>
#include <LiquidCrystal_I2C.h>

const int potPin = A0;
const int ledPin = 5;
const int pwmMin = 0;
const int pwmMax = 1023;
const int rangeMin = 3078;
const int rangeMax = 3975;

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
 pinMode(potPin, INPUT);
 pinMode(ledPin, OUTPUT);
  
 lcd.init();
 lcd.backlight();
}

void loop() {
 int potValue = analogRead(potPin);
 float percentage = map(potValue, rangeMin, rangeMax, pwmMin, pwmMax);
  
 analogWrite(ledPin, percentage);
  
 lcd.setCursor(0, 0);
 lcd.print("Nilai Sensor: ");
 lcd.print(potValue);
 lcd.setCursor(0, 1);
 lcd.print(": ");
 lcd.print(percentage);
 lcd.print(" %");

 delay(500);
}