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

LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C modul LCD bisa berbeda

const int LDR_PIN = A0; // Pin sensor LDR terhubung ke pin analog A0

void setup() {
  Serial.begin(9600);

  lcd.init(); // Inisialisasi LCD
  lcd.backlight(); // Nyalakan pencahayaan belakang
}

void loop() {
  int sensorValue = analogRead(LDR_PIN); // Membaca nilai analog dari sensor LDR
  float voltage = (sensorValue / 1023.0) * 5.0; // Mengonversi nilai ke tegangan (0-5V)
  float resistance = (5.0 - voltage) / voltage; // Menghitung resistansi LDR

  // Menggunakan rumus empiris untuk mengonversi resistansi ke lux (perhatikan bahwa Anda perlu mengkalibrasi rumus ini)
  float lux = 500 / resistance; // Contoh rumus, Anda mungkin perlu menyesuaikannya sesuai dengan karakteristik LDR Anda

  Serial.print("Nilai LDR: ");
  Serial.println(sensorValue);
  Serial.print("Tegangan: ");
  Serial.print(voltage);
  Serial.println(" V");
  Serial.print("Resistansi: ");
  Serial.print(resistance);
  Serial.println(" ohm");
  Serial.print("intensitas: ");
  Serial.print(lux*100);
  Serial.println(" candela");

   lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Cahaya: ");
  lcd.setCursor(8, 0);
  lcd.print(lux*100, 0);

  delay(1000); // Mengukur cahaya setiap 1 detik
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
ldr1:VCC
ldr1:GND
ldr1:DO
ldr1:AO
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL