# LED ACESO NA INICIALIZACAO 1 OK!
# BUZZER EM SILENCIO
# #PRESSIONAMENTO DO BOTAO 2
# DISPARA INTERRUPCAO
# A) LER TEMPERATURA E UMIDADE, IMPRIMIR
# B) ACIONA LED 2
# C) ATIVA BUZZER
# D) VERIFICA SE A TEMP E HUMIDADE
# ATENDAM AOS CRITERIOS
# SE T > 48 E U < 10% ACENDE LED 3
# CASO CONTRARIO, LED 3 APAGADO
#IMPORT BIBLIO
from machine import Pin, PWM
from time import sleep
from dht import DHT22
#DAS CONSTANTS
red = Pin(0, Pin.OUT)
yellow = Pin(5, Pin.OUT)
green = Pin(9, Pin.OUT)
buzzer = PWM(Pin(13))
bot = Pin(19,Pin.IN,Pin.PULL_UP)
inter = Pin(25, Pin.OUT)
sens = DHT22(28)
contador = 0
x = int(input(f"ENTRE COM O VALOR DO VOL. P/ BUZZER:\t"))
y = int(input(f"ENTRE COM O VALOR DO FREQ. P/ BUZZER:\t"))
print(f"Vol. = {x}\nFreq. = {y}Hz ")
# DA NOMEACAO DA FUNCAO
def Leitura(args):
buzzer.duty_u16(x) # C = ATIVACAO BUZZER
buzzer.freq(y)
yellow.on() # B = ACIONA LED
sleep(1)
yellow.off()
try:
sens.measure() # A = LER TEMP E HUMIDADE
T = sens.temperature()
U = sens.humidity()
print(f"Temperatura:\t{T}°\tHumidade:\t{U}%")
except:
print("falhou")
if T > 48 and U < 10:
green.on()
red.off()
yellow.off()
else:
green.off()
print("LED APAGADO")
bot.irq(handler = Leitura, trigger = Pin.IRQ_FALLING)
while True: # INICIA COM BUZZ EM 0 E LED RED LIGADO
red.on()
inter.on()
sleep(1)
buzzer.duty_u16(0)
buzzer.freq()
sleep(1)
#CONDITIONALS
# while contador < 10:
# buzzer.duty_u16(0)
# buzzer.freq()
# inter.on()
# red.on()
# yellow.off()
# green.off()
# sleep(5)
# contador += 1
###################################################################################
#CODIGO DIGITADO PELO PROF LUIS
# from machine import Pin, PWM
# from time import sleep
# from dht import DHT22
# #DAS CONSTANTS
# red = Pin(0, Pin.OUT)
# yellow = Pin(3, Pin.OUT)
# green = Pin(9, Pin.OUT)
# buzzer = PWM(Pin(13))
# contador = 0
# bot = Pin(16, Pin.IN, Pin. PULL_UP)
# sensi = DHT22(28)
# buzzer.freq(200)
# def leitura(args):
# T = sensi.temperature()
# U = sensi.humidity()
# print(T,U)
# led2.on()
# buzzer.duty_u16(100)
# if T >= 48 and U <= 10:
# led3.on()
# else:
# led3.off()
# bot.irq(handler = leitura, trigger = Pin.IRQ_FALLING)
# #CONDITIONALS
# while True:
# try:
# sensi.measure()
# except:
# print('Falha')
# led1.on()
# led2.off()
# led3.off()
# buzzer.duty_u16(0)