from machine import Pin
from time import sleep, ticks_ms
button = Pin(14, Pin.IN, Pin.PULL_UP)
pir = Pin(25, Pin.IN)
led = Pin(32, Pin.OUT)
siren = Pin(18, Pin.OUT)
button_before = 0
button_now = 0
state_alarm_led = 0
timestamp = 0
alarm_state = 0
vorige_alarm_state = 0
sirene_state = 0
timer_sirene = 0
SIREN_ON_TIME = 10000 # 10000 ms sirene ( blauwe led) ON
print("Alarmsystem started!")
while True:
button_now = button.value()
if button_now != button_before:
button_before = button_now
if button_now == 0:
alarm_state = not alarm_state
print("alarm_state=", alarm_state)
if alarm_state == False:
print("zet sirene en statusled uit")
led.value(0)
siren.value(0)
sleep(0.01)
if alarm_state:
if ticks_ms() - timestamp > 500:
timestamp = ticks_ms()
state_alarm_led = not state_alarm_led
led.value(state_alarm_led)
if pir.value():
print("PIR triggered!")
if sirene_state == 0 :
print("start sirene")
siren.value(1)
sirene_state = 1
timer_sirene = ticks_ms()
if sirene_state:
if ticks_ms() - timer_sirene > SIREN_ON_TIME:
print("start sirene")
siren.value(0)
sirene_state = 0
# oefening : als je het alarm uitschakelt terwijl de sirene loeit, wat gebeurt er dan? Hoe los je dat op?