#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C (alamat, jumlah kolom, jumlah baris)
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define ldr_pin A0
#define button_pin 2
#define buzz 11
#define led_pin1 12
#define led_pin2 13
const float GAMMA = 0.7;
const float RL10 = 50;
int ldr_value, button_value;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(ldr_pin, INPUT);
pinMode(button_pin, INPUT);
pinMode(led_pin1, OUTPUT);
pinMode(led_pin2, OUTPUT);
pinMode(buzz, OUTPUT);
}
void loop() {
ldr_value = analogRead(ldr_pin);
button_value = digitalRead(button_pin);
//Serial.println(button_value);
float voltage = ldr_value / 1024.0 * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
Serial.println(lux);
if(lux > 350) {
lcd.setCursor(1, 1);
lcd.print("ADA MALING!!!!!");
digitalWrite(led_pin1, HIGH);
digitalWrite(led_pin2, LOW);
delay(1000);
digitalWrite(led_pin1, LOW);
digitalWrite(led_pin2, HIGH);
delay(1000);
}
else{
lcd.clear();
digitalWrite(led_pin1, LOW);
tone(buzz ,100, 1000);
}
}