import machine
import dht
import time
DHT_PINS = [4, 5, 12]
DOOR_PIN = 13
TEMP_LIMIT = 25.0
WINDOW_SIZE = 5
sensor1 = dht.DHT22(machine.Pin(4))
sensor2 = dht.DHT22(machine.Pin(5))
sensor3 = dht.DHT22(machine.Pin(12))
door_switch = machine.Pin(DOOR_PIN, machine.Pin.IN, machine.Pin.PULL_UP)
history = []
print("Starting!")
def read_all_temps():
valid_temps = []
sensor1.measure()
sensor2.measure()
sensor3.measure()
valid_temps.append(sensor1.temperature())
valid_temps.append(sensor2.temperature())
valid_temps.append(sensor3.temperature())
return valid_temps
def valid_temps_avg(temps):
avg_raw = sum(temps) / 3
history.append(avg_raw)
if len(history) < WINDOW_SIZE:
return sum(history) / len(history), avg_raw
else:
return sum(history[-WINDOW_SIZE:]) / 5, avg_raw
while True:
temps = read_all_temps()
print(f"Raw: {temps}")
avg = valid_temps_avg(temps)
print(f"Avg Raw: {avg[1]} | Avg: {avg[0]}")
time.sleep(2)