from machine import Pin, ADC
from time import sleep
ldrValue = ADC(26)
redLED = Pin(16, Pin.OUT)
greenLED = Pin(15, Pin.OUT)
MAX_ADC_READING = 65535
ADC_REF_VOLTAGE = 3.3
REF_RESISTANCE = 50
LUX_CALC_SCALAR = 12518931
LUX_CALC_EXPONENT = -1.405
while True:
rawData = ldrValue.read_u16()
print(f"Raw data: {rawData}")
resistorVoltage = rawData / MAX_ADC_READING * ADC_REF_VOLTAGE
print(f"Resistor voltage: {resistorVoltage}")
ldrVoltage = ADC_REF_VOLTAGE - resistorVoltage
print(f"LDR voltage: {ldrVoltage}")
ldrResistance = ldrVoltage/resistorVoltage * REF_RESISTANCE ;
print(f"LDR resistance: {ldrResistance}")
ldrLux = LUX_CALC_SCALAR * pow(ldrResistance, LUX_CALC_EXPONENT) ;
print (f"Lux: {ldrLux}")
print ("==================")
if ldrVoltage > (0.3*3.3) :
greenLED.value(1)
redLED.value(0)
else:
greenLED.value(0)
redLED.value(1)
sleep(2)