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

// Inisialisasi LCD I2C (alamat 0x27 dan ukuran 16x2)
// LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Inisialisasi pin LED dan LDR
const int ledPin = 9; // Pin PWM untuk LED
const int ldrPin = A0; // Pin analog untuk LDR
const int buzzer = 3; // Pin analog untuk LDR

void setup() {
  // Atur pin LED sebagai output
  pinMode(ledPin, OUTPUT);
  pinMode(buzzer, OUTPUT);

  // Inisialisasi LCD
  lcd.begin(16, 2); // Konfigurasi LCD 16x2
  lcd.print("LUX Meter"); // Tampilkan teks awal
  delay(2000);
  lcd.clear();
}

void loop() {
  // Membaca nilai intensitas cahaya dari LDR
  int ldrValue = analogRead(ldrPin);

  // Mengatur intensitas cahaya LED berdasarkan nilai LDR
  int ledBrightness = map(ldrValue, 0, 1023, 0, 255);
  analogWrite(ledPin, ledBrightness);
  // Menghitung persentase kecerahan LED
  int brightnessPercent = map(ledBrightness, 0, 255, 0, 100);

  if (brightnessPercent > 90) {
    digitalWrite(buzzer, HIGH);
  } else {
    digitalWrite(buzzer, LOW);
  }


  // Menampilkan nilai pada LCD
  lcd.setCursor(0, 0);
  lcd.print("Percen : ");
  lcd.print(brightnessPercent);
  lcd.print(" %");


  delay(500); // Delay untuk pembaruan data
}
$abcdeabcde151015202530fghijfghij