from machine import Pin, ADC
from time import sleep
ldrValue = ADC(27)
poLED = Pin(15, Pin.OUT)
buLED = Pin(16, 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("==========")
sleep(2)
if: ldrValue>30:
buLED.value(1)
poLED.value(0)
else:
buLED.value(0)
poLED.value(1)