from machine import ADC, Pin
import math,time
import dht
import machine, onewire, ds18x20
adc = ADC(Pin(14))
adc.atten(ADC.ATTN_11DB)
rl10 = 50e3 #LDR resistance at 10lux
gamma = 0.7 #log(Ra/Rb) / log(La/Lb)
sensor = dht.DHT22(Pin(4))
ds_pin = machine.Pin(2)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)
def calculate_resistance():
value = adc.read()
voltage_ratio = value / (4095 - value)
return 10e3 * voltage_ratio
def calculate_lux(resistance):
return 10 * math.pow(rl10/resistance, 1/gamma)
while 1:
resistance = calculate_resistance()
print('Lux:', round(calculate_lux(resistance),1))
time.sleep(1)
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print('Temperature: %3.1f C' %temp)
print('Humidity: %3.1f %%' %hum)
time.sleep(2)
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
print(rom)
print(ds_sensor.read_temp(rom))
time.sleep(5)