from machine import Pin, PWM, ADC
from dht import DHT22
from time import sleep
gren= Pin(0, Pin.OUT)
red= Pin(1, Pin.OUT)
bot= Pin(13, Pin.IN, Pin.PULL_UP)
buzz= PWM(Pin(18))
senintegrado= ADC(4)
pir= Pin(28, Pin.IN)
sen= DHT22(27)
Temp = 0
def mov1(args):
global Temp
resp = input("Digite se quer ler a temperatura pelo dht22 ou pelo sensor integrado:")
if resp == "dht":
try:
sen.measure()
except:
print("falha na leitura")
Temp= sen.temperature()
umidade=sen.humidity()
print("a temperatura é:", Temp,"a umidade é:", umidade)
red.on()
buzz.freq(430)
buzz.duty_u16(299)
sleep(1)
elif resp == "senint":
leitura= senintegrado.read_u16()
tensão= 3.3*leitura/65535
Temp=27-(tensão-0.706)/(0.001721)
print(" a temperatura do senson integrado é:", Temp)
red.on()
buzz.freq(600)
buzz.duty_u16(100)
sleep(1)
else:
print("opção inválida")
bot.irq(handler= mov1, trigger= Pin.IRQ_FALLING)
def mov2(args):
global Temp
print("movimento detectado")
resp= input("Digite k para kelvin ou f para farenheit")
if resp == "k":
TemperaturaK= Temp +273
print("a temperatura em kelvin é:", TemperaturaK)
elif resp == "f":
TemperaturaF= (9/5*Temp)+32
print("a temperatura em farenheit é:", TemperaturaF)
else:
print("opção inválida")
pir.irq(handler= mov2, trigger= Pin.IRQ_RISING)
while True:
buzz.duty_u16(0)
gren.on()
sleep(1)
print("pressione o botão")