# P8: Utilizando um DHT,
# um buzzer, um LED verde,
# um amarelo
# e um vermelho,
# crie e programe
# circuito de um equipamento de monitoramento da
# umidade de uma estufa. O circuito deverá atender
# aos seguintes requisitos:
# ▪ se a umidade for maior ou igual a 60%
# (ambiente úmido), deverá acionar somente o
# led verde e imprimir na tela que as plantas não
# precisam de água;
# ▪ se a umidade estiver entre 20% e 60%, deverá
# acionar somente o led amarelo e imprimir na
# tela que as plantas estão ficando sem água;
# ▪ se a umidade for inferior a 20%, deverá acionar
# o led vermelho e o buzzer e imprimir na tela que
# as plantas precisam de água.
# Observação: dois leds não ficam acesos ao mesmo
# tempo.
# IMPORT'S COMPONENT'S
from dht import DHT22
from machine import PWM,Pin
from time import sleep
# NAMES COMPONENT'S
dht = DHT22(28)
buzzer = PWM(27)
lg = Pin(0,Pin.OUT)
ly = Pin(5,Pin.OUT)
lr = Pin(9,Pin.OUT)
# FUNCTION
def estufa():
#DHT
try:
dht.measure()
T = dht.temperature()
U = dht.humidity()
#DHT
except:
print(f"O equipamento está com falha na montagem ou Lógico!")
print("--------------------------------------------------")
#CONDITIONAL'S
if U >= 60:
# ▪ se a umidade for maior ou igual a 60%
# (ambiente úmido), deverá acionar somente o
# led verde e imprimir na tela que as plantas não
# precisam de água;
lg.on()
ly.off()
lr.off()
print(f"Plantas NAO",
f"precisam de água!",
f"\nUmidade é: {U:.1f}%")
print("--------------------------------------------------")
if U >= 20 and U <= 60:
# ▪ se a umidade estiver entre 20% e 60%, deverá
# acionar somente o led amarelo e imprimir na
# tela que as plantas estão ficando sem água;
ly.on()
lg.off()
lr.off()
print(f"Plantas estão ficando sem água!",
f"\nUmidade é: {U:.1f}%")
print("--------------------------------------------------")
if U < 20:
# ▪ se a umidade for inferior a 20%, deverá acionar
# o led vermelho e o buzzer e imprimir na tela que
# as plantas precisam de água.
lr.on()
lg.off()
ly.off()
print(f"Plantas precisam de água",
f"\nUmidade é: {U:.1f}%")
print("--------------------------------------------------")
while True:
estufa()
sleep(10)