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

blank

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

cd gpio_python_code

blank

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

touch 9_pir.py

blank

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()

blank

4. Exécutez votre script 9_pir.py

sudo python 9_pir.py

blank

5. Appuyez sur ctrl + c pour quitter le script

Articles similaires

Bouton retour en haut de la page
Fermer