# P14: Crie e programe um circuito eletrônico
# utilizando um PIR, um buzzer e um push button. O
# programa simulará um sistema de alarme
# residencial. O programa deverá realizar as seguintes
# tarefas:
# ▪ Verificar se há movimento no local utilizando o
# PIR.
# ▪ Se o PIR detectar movimento, imprima na tela
# uma mensagem solicitando que o usuário digite
# uma senha. Considere que a senha é ENG1107;
# ▪ Caso a senha esteja correta, imprima na tela
# uma mensagem de “sistema liberado” e oriente
# o usuário a pressionar o botão para reativar o
# alarme;
# ▪ Ao pressionar o botão, deverá ser ativada uma
# função de interrupção que acione o buzzer e
# imprima na tela a mensagem “alarme ativado”.
from machine import Pin,PWM
from time import sleep
PIR = Pin(28,Pin.IN)
buzzer = PWM(21)
bot = Pin(16, Pin.IN,Pin.PULL_UP)
def nome_funcao (args):
# ▪ Ao pressionar o botão, deverá ser ativada uma
# função de interrupção que acione o buzzer e
# imprima na tela a mensagem “alarme ativado”.
buzzer.duty_u16(100)
buzzer.freq(100)
print(f"alarme ativado")
bot.irq(handler = nome_funcao, trigger = Pin.IRQ_FALLING)
while True:
buzzer.duty_u16(0)
buzzer.freq()
if PIR.value() == 1:
senha = "ENG1107"
entrada_usuario = int(input(f"usuário digite uma senha:\t"))
if entrada_usuario == senha:
print(f"Sistema Liberado!!!", f"\n{senha}")
print(f"Pressionar o botão para reativar o alarme")
else:
print(f"SENHA INCORRETA. LIGANDO 190")
else:
print(f"N ha movimento")