from machine import Pin, PWM
from time import sleep
# Capteurs de porte et fenetre
porte = Pin(18, Pin.IN, Pin.PULL_UP)
fenetre = Pin(19, Pin.IN, Pin.PULL_UP)
# Capteur de mouvement PIR
pir = Pin(23, Pin.IN)
# LEDs
led_verte = Pin(26, Pin.OUT)
led_rouge = Pin(25, Pin.OUT)
# Buzzer
buzzer = PWM(Pin(27))
buzzer.freq(2000)
buzzer.duty_u16(0)
# Etats precedents
ancienne_porte = 1
ancienne_fenetre = 1
ancien_mouvement = 0
# Etat initial
led_verte.on()
led_rouge.off()
print("SMART HOME SECURITY SYSTEM")
print("Surveillance active")
print("Maison securisee")
while True:
etat_porte = porte.value()
etat_fenetre = fenetre.value()
mouvement = pir.value()
# Detection de la porte
if etat_porte != ancienne_porte:
if etat_porte == 0:
print("ALERTE ! PORTE OUVERTE")
else:
print("Porte fermee")
ancienne_porte = etat_porte
# Detection de la fenetre
if etat_fenetre != ancienne_fenetre:
if etat_fenetre == 0:
print("ALERTE ! FENETRE OUVERTE")
else:
print("Fenetre fermee")
ancienne_fenetre = etat_fenetre
# Detection de mouvement
if mouvement == 1 and ancien_mouvement == 0:
print("ALERTE ! MOUVEMENT DETECTE")
if mouvement == 0 and ancien_mouvement == 1:
print("Mouvement termine")
ancien_mouvement = mouvement
# Gestion generale de l'alarme
if etat_porte == 0 or etat_fenetre == 0 or mouvement == 1:
led_verte.off()
led_rouge.on()
buzzer.duty_u16(30000)
else:
led_verte.on()
led_rouge.off()
buzzer.duty_u16(0)
sleep(0.1)
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4