import dht
from machine import Pin, ADC
from time import sleep
# Инициализация датчиков
dht_sensor = dht.DHT22(Pin(14))
soil_sensor = ADC(Pin(17))
soil_sensor.atten(ADC.ATTN_11DB)
light_sensor = ADC(Pin(26))
light_sensor.atten(ADC.ATTN_11DB)
# Инициализация исполнительных устройств
pump = Pin(26, Pin.OUT)
light = Pin(22, Pin.OUT)
fan = Pin(16, Pin.OUT)
heater = Pin(17, Pin.OUT)
# Пороговые значения
moisture_threshold = 2000
light_threshold = 1000
temperature_threshold = 25.0
humidity_threshold = 60.0
while True:
try:
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
except OSError as e:
print("Ошибка чтения DHT22:", e)
continue
moisture = soil_sensor.read()
light_level = light_sensor.read()
print("Температура:", temperature, "Влажность воздуха:", humidity)
print("Влажность почвы:", moisture, "Освещённость:", light_level)
# Управление насосом
if moisture < moisture_threshold:
pump.value(1)
else:
pump.value(0)
# Управление освещением
if light_level < light_threshold:
light.value(1)
else:
light.value(0)
# Управление вентилятором и обогревателем
if temperature > temperature_threshold:
fan.value(1)
heater.value(0)
elif temperature < (temperature_threshold - 5):
fan.value(0)
heater.value(1)
else:
fan.value(0)
heater.value(0)
sleep(5)