#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int ledPin = 9; // Pin PWM untuk LED
int potPin = A0; // Pin analog untuk potensiometer
int potValue = 0; // Variabel untuk menyimpan nilai potensiometer
int ledBrightness = 0; // Variabel untuk menyimpan kecerahan LED (0-255)
// Inisialisasi LCD I2C dengan alamat 0x27, ukuran 16 kolom dan 2 baris
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(ledPin, OUTPUT); // Inisialisasi pin LED sebagai output
lcd.begin(16, 2); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
// Tampilkan teks awal pada LCD
lcd.setCursor(0, 0); // Posisikan kursor pada kolom 0, baris 0
lcd.print("Kecerahan LED:"); // Tampilkan teks pada baris pertama
}
void loop() {
// Membaca nilai potensiometer (0 - 1023)
potValue = analogRead(potPin);
// Konversi nilai potensiometer (0-1023) ke nilai PWM (0-255)
ledBrightness = map(potValue, 0, 1023, 0, 255);
// Mengatur kecerahan LED berdasarkan nilai potensiometer
analogWrite(ledPin, ledBrightness);
// Update tampilan kecerahan pada LCD
lcd.setCursor(0, 1); // Posisikan kursor pada baris kedua
lcd.print(" "); // Membersihkan baris kedua
lcd.setCursor(0, 1); // Kembali ke awal baris kedua
lcd.print(ledBrightness); // Tampilkan nilai kecerahan LED (0-255)
delay(100); // Penundaan singkat untuk stabilitas tampilan
}