import machine
import time
import dht
# ldr sensor connected to an analog pin
LDR_SENSOR_PIN = machine.ADC(1)
# DHT22 (AM2302) sensor on GPIO 4
dht_sensor = dht.DHT22(machine.Pin(4))
dht_sensor2 = dht.DHT22(machine.Pin(5))
# Function to read analog pin
def read_ldr():
ldr_data = LDR_SENSOR_PIN.read_u16()
v_out = ldr_data / 65535 * 5
r_ldr = 2000 * v_out/(1 - v_out / 5)
lux = pow(50*1000*pow(10,0.7)/r_ldr,(1/0.7))
return ldr_data, lux
# Function to read room temperature and humidity
def read_room_temperature_humidity():
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
return temperature, humidity
def read_room_temperature_humidity2():
dht_sensor2.measure()
temperature2 = dht_sensor2.temperature()
humidity2 = dht_sensor2.humidity()
return temperature2, humidity2
print ("Output Room Brightness, Temperature & Humidity")
if __name__ == "__main__":
try:
while True:
adc,ldr = read_ldr()
print (f"\n Lux: {ldr}")
print (f" ADC: {adc}")
temperature, humidity = read_room_temperature_humidity()
print (f" Temperature: {temperature}")
print (f" Humdity: {humidity}\n")
temperature2, humidity2 = read_room_temperature_humidity2()
print (f" Temperature 2: {temperature2}")
print (f" Humdity 2: {humidity2}\n")
print ("Data Up-to-Date!")
time.sleep(5) # Send data every 15 seconds (adjust the interval as needed)
except KeyboardInterrupt:
pass