#Diretivas
from machine import Pin, PWM, ADC
from dht import DHT22
from time import sleep
#Declaração
red = Pin(0,Pin.OUT)
blue = Pin(5,Pin.OUT)
green = Pin(8,Pin.OUT)
pir = Pin(28,Pin.IN)
sensor = DHT22(22)
buz = PWM(13)
temp = ADC(4)
pot = ADC(27)
#Função de interrupção
def margot(args):
#Pergunta ao usuário
resp = input('Digite POT, DHT , TERM , PRESENTEMISTERIOSO: ')
if resp == 'POT':
valor = pot.read_u16()
valorfinal = (valor*3.3)/65535
print('Leitura da tensão = ',valorfinal)
red.on()
blue.off()
green.off()
buz.freq(420)
buz.duty_u16(100)
sleep(2)
elif resp == 'DHT':
sensor.measure()
T = sensor.temperature()
U = sensor.humidity()
red.off()
blue.on()
green.off()
print('A temperatura é ',T)
print('A umidade é ',U)
buz.freq(430)
buz.duty_u16(100)
sleep(2)
elif resp == 'TERM':
valor = temp.read_u16()
valorfinal = (27-((valor-0.706)/0.001721))
print('Leitura da temperatura: ',valorfinal)
red.off()
blue.off()
green.on()
buz.freq(450)
buz.duty_u16(100)
sleep(2)
elif resp == 'PRESENTEMISTERIOSO':
print('Feliz natal!!! ')
red.on()
blue.off()
green.off()
buz.freq(450)
buz.duty_u16(100)
sleep(2)
else:
print('vc prestou atenção nas opções? tente novamente meu amigo.')
sleep(1)
#Vinculo
pir.irq(handler=margot,trigger=Pin.IRQ_RISING)
#Loop infinito
while True:
red.off()
blue.off()
green.off()
buz.duty_u16(0)
sleep(1)
#Obrigado pelo semestre professor! Foi muito bom.