# ATIVIDADE SALA DE AULA
from machine import Pin,ADC,PWM
from time import sleep
from dht import DHT22
DHT = DHT22(28)
pot = ADC(27)
buzzer = PWM(21)
bot = Pin(16,Pin.IN,Pin.PULL_UP)
def nome_funcao(args):
buzzer.duty_u16(0)
buzzer.freq()
if option_user == 1:
print(f"--------------------------------------------------------------")
leitura_usuario = int(input(f"QUAL VALOR DE LEITURA DO COMPONENTE ESCOLHIDO:\t"))
sleep(5)
if leitura_usuario == VALOR:
print(f"ACERTOU!!! \nVALOR POTENCIOMETRO:\t{VALOR}")
sleep(3)
else:
print(f"TENTE NOVAMENTE. O VALOR É:\t{VALOR}")
if option_user == 2:
print(f"--------------------------------------------------------------")
opcao_componente = int(input("\n1- TEMPERATURA\n2- UMIDADE\n\nOPCAO ESCOLHIDA:\t"))
leitura_usuario = int(input(f"QUANTO IRÁ DAR A LEITURA DO COMPONENTE:\t"))
if opcao_componente == 1 and leitura_usuario == T:
print(f"--------------------------------------------------------------")
print(f"\nACERTOU")
print(f"\n\nTEMPERATURA:\t{T:.1f}° C")
if opcao_componente == 2 and leitura_usuario == U:
print(f"--------------------------------------------------------------")
print(f"ACERTOU")
print(f"\n\nUMIDADE:\t{U:.1f}%")
else:
print(f"--------------------------------------------------------------")
print(f"\nOPCAO INVALIDA!\n\nTEMPERATURA:\t{T:.1f}° C\nUMIDADE:\t{U:.1f}%")
# else:
# print("OPCAO INVALIDA!")
bot.irq(handler = nome_funcao, trigger = Pin.IRQ_FALLING)
while True:
buzzer.duty_u16(100)
buzzer.freq(100)
VALOR = pot.read_u16()
try:
DHT.measure()
T = DHT.temperature()
U = DHT.humidity()
except:
print(f"FALHA FISICA OU LOGICA")
print(f"--------------------------------------------------------------")
print(f"COMPONENTES DO SISTEMA:")
print(f"\n1- POTENCIOMETRO\n2- DHT(SENSOR DE TEMPERATURA E UMIDADE)")
option_user = int(input(f"\n\nQUAL A OPCAO ESCOLHIDA:\t"))
print(f"\nPRESSIONE O BOTAO!!!")
print(f"--------------------------------------------------------------")
sleep(5)