#include <LiquidCrystal_I2C.h>
#define LED 2
const float GAMMA = 0.7;
const float RL10 = 50;
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows
void setup()
{
pinMode(LED, OUTPUT);
lcd.init(); // initialize the lcd
lcd.backlight();
//lcd.setCursor(0, 0); // move cursor to (0, 0)
//lcd.print("Arduino"); // print message at (0, 0)
//lcd.setCursor(2, 1); // move cursor to (2, 1)
//lcd.print("GetStarted.com"); // print message at (2, 1)
}
void loop()
{
int analogValue = analogRead(A0);
float voltage = analogValue/1024. * 5 ;
float resistance = 2000*voltage/(1-voltage/5);
float lux = pow (RL10 *1e3*pow(10, GAMMA)/resistance,(1/GAMMA));
lcd.setCursor(0, 0);
lcd.print("Cahaya : ");
if(lux > 50){
lcd.print("Terang");
digitalWrite(LED,LOW);
} else {
lcd.print("Gelap");
digitalWrite(LED,HIGH);
}
lcd.setCursor(0, 1);
lcd.print("Lux : ");
lcd.print(lux);
//lcd.print(" ");
delay(100);
}