#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const float GAMMA = 0.7;
const float RL10 = 50;
#define LDR 34
void setup() {
Serial.begin(115200);
pinMode(LDR, INPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Iniciando...");
}
void loop() {
int analogValue = analogRead(LDR);
float voltage = analogValue/4095.0*3.3;
float resistance = 2000*voltage/(1-voltage/3.3);
float lux = pow(RL10*1e3*pow(10, GAMMA)/resistance,(1/GAMMA))/1.8075;
Serial.println("Luminocidad "+String(lux));
delay(1000);
if(lux<1000){
lcd.setCursor(0, 0);
lcd.println("Totalmente Oscuro");
Serial.println("Totalmente Oscuro");
}else if(lux>1000 && lux<10000){
lcd.setCursor(0, 2);
lcd.println("Parcialmente oscuro");
Serial.println("Parcialmente oscuro");
}else{
lcd.setCursor(0, 3);
lcd.println("Totalmente Iluminado");
Serial.print("Totalmente iluminado\n");
}
}