GPIO et Python (9/9) – PIR

GPIO et Python (9/9) - PIR

Dans ce projet, vous apprendrez à câbler et à programmer un capteur infrarouge passif.

Choses dont vous aurez besoin:

Carte SD Raspberry Pi +
Clavier + souris
Moniteur + câble HDMI
Source de courant
Planche à pain
1x LED rouge
1x LED bleue
2x 330? Résistance
5x fils de pontage M / M
12x fils de pontage M / F
1x bouton
1x buzzer
1x capteur de température DS18B20
1x 4k7? Résistance
1x condensateur 1uF
1x résistance dépendante de la lumière (LDR)
1x capteur PIR

Conditions préalables:

Dernière version de Rasbian installée sur votre carte SD
Configuration du Raspberry Pi avec un clavier, une souris et un moniteur

GPIO et Python 99 PIR

1. Changez le répertoire courant en notre répertoire gpio_python_code:

cd gpio_python_code

1593232205 660 GPIO et Python 99 PIR

2. Commencez par créer un fichier pour notre script pir

touch 9_pir.py

1593232205 785 GPIO et Python 99 PIR

3. Modifiez le script 9_pir.py à l’aide de nano 9_pir.py, ajoutez le code suivant:

#!/usr/bin/python



import RPi.GPIO as GPIO

from time import sleep



GPIO.setmode(GPIO.BCM)

GPIO.setup(27,GPIO.OUT)



GPIO_PIR = 7



print "PIR Module Test (CTRL-C to exit)"



# Set pin as input

GPIO.setup(GPIO_PIR,GPIO.IN)



Current_State  = 0

Previous_State = 0



try:

    print "Waiting for PIR to settle ..."

    # Loop until PIR output is 0

    while GPIO.input(GPIO_PIR)==1:

        Current_State  = 0 

    print "  Ready" 

    # Loop until users quits with CTRL-C

    while True :

        # Read PIR state

        Current_State = GPIO.input(GPIO_PIR)

        if Current_State==1 and Previous_State==0:

            # PIR is triggered

            print "  Motion detected!"

            # Record previous state

            GPIO.output(27,GPIO.HIGH)

            sleep(1)

            GPIO.output(27,GPIO.LOW)

            Previous_State=1

        elif Current_State==0 and Previous_State==1:

            # PIR has returned to ready state

            print "  Ready"

            Previous_State=0

        # Wait for 10 milliseconds

        sleep(0.01)



# clean up gpio pins when we exit the script

except KeyboardInterrupt:

    print "  Quit" 

    # Reset GPIO settings

    GPIO.cleanup()

1593232206 549 GPIO et Python 99 PIR

4. Exécutez votre script 9_pir.py

sudo python 9_pir.py

1593232206 803 GPIO et Python 99 PIR

5. Appuyez sur ctrl + c pour quitter le script