Comment connecter, calibrer et programmer le capteur de mouvement PIR HC‑SR501 avec un Raspberry Pi
Sommaire
- Fonctionnement du capteur PIR HC‑SR501
- Réglage de la sensibilité et du délai
- Schéma de câblage et connexions
- Code Python pour lire les événements de mouvement
- Exemple de sortie et prochaines étapes
Tout être vivant émet un rayonnement infrarouge invisible à l'œil nu. Un capteur infrarouge passif (PIR) comme le HC‑SR501 détecte les variations subtiles de température causées par des corps en mouvement et déclenche une sortie numérique. Le HC‑SR501 utilise deux éléments pyroélectriques et un circuit différentiel pour supprimer les fausses alarmes dues aux variations de température ambiante, le rendant idéal pour les projets de sécurité et d'automatisation.
L'interfaçage du HC‑SR501 avec un Raspberry Pi est simple car la sortie du capteur est en 3,3 V TTL et il peut être alimenté directement depuis le rail 5 V du Pi.
Le module possède trois broches :
- Vcc – 4,5 V à 20 V, entrée d'alimentation
- OUTPUT – 0 V (LOW) / 3,3 V (HIGH)
- GND – masse
Fonctionnement du capteur PIR HC‑SR501

L'ouverture rectangulaire du capteur abrite deux éléments de détection infrarouge positionnés aux extrémités opposées. Lorsqu'un objet émettant de la chaleur traverse le champ, le temps que chaque élément met à enregistrer le changement de température diffère. Plus cette différence temporelle est grande, plus l'unité est sensible. Une lentille de Fresnel concentre les rayons infrarouges sur les éléments, tandis qu'un filtre interne bloque les longueurs d'onde non-IR pour améliorer la précision.
Réglage de la sensibilité et du délai
- Délai de détection (0,3 s à 600 s) : Tournez le potentiomètre dans le sens horaire pour augmenter le délai, anti-horaire pour le diminuer.
- Distance de détection (3 m à 7 m) : Tournez le potentiomètre dans le sens horaire pour augmenter la portée, anti-horaire pour la réduire.
Schéma de câblage et connexions

Connectez le capteur comme suit :
- Vcc à la broche 2 (5 V)
- OUTPUT à la broche 26 (GPIO 19)
- GND à la broche 6 (masse)
Vérifiez les numéros de broches si vous utilisez la numérotation BCM ; GPIO 19 correspond à la broche 26 sur l'en-tête 40 broches.
Code Python pour lire les événements de mouvement
Avant d'exécuter le script, installez la bibliothèque RPi.GPIO si ce n'est pas déjà fait :
sudo apt-get install python3-rpi.gpio
Puis créez pir_motion.py avec le contenu suivant :
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD) # Utilise la numérotation physique des broches
pir_pin = 26 # Broche 26 (GPIO 19) connectée à la sortie du capteur
GPIO.setup(pir_pin, GPIO.IN)
print("Attente de la stabilisation du capteur…")
time.sleep(2) # Laisse le capteur se stabiliser
print("Détection de mouvement…")
try:
while True:
if GPIO.input(pir_pin): # Sortie du capteur à HIGH
print("Mouvement détecté !")
time.sleep(2) # Délai anti-rebond pour éviter les déclenchements multiples
time.sleep(0.1) # Court délai de boucle
except KeyboardInterrupt:
print("Arrêt…")
finally:
GPIO.cleanup()
Exécutez le script avec python3 pir_motion.py. La console affichera « Mouvement détecté ! » chaque fois que le capteur enregistre un mouvement.
Exemple de sortie et prochaines étapes
Après un câblage et une exécution réussis, vous devriez voir une sortie similaire dans votre terminal :
Attente de la stabilisation du capteur…
Détection de mouvement…
Mouvement détecté !
Mouvement détecté !
...
À partir de là, vous pouvez étendre le programme pour déclencher des alarmes, capturer des images avec une caméra, ou journaliser les événements dans un fichier ou une base de données. Le HC‑SR501 est un composant fiable et peu coûteux pour une large gamme de projets d'automatisation et de sécurité.
En savoir plus sur l'utilisation avancée du capteur PIR, les techniques de calibration et l'intégration avec les plateformes domotiques sur notre page Utilisation avancée PIR.
Processus de fabrication
- Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
- Surveillance précise de la température dans un placard serveur avec Raspberry Pi
- Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
- Intégration de données de capteurs sur Raspberry Pi : Guide pratique complet
- Connexion du capteur ultrasonique HC‑SR04 au Raspberry Pi 3 : Guide complet
- Capteur de suivi de ligne KY‑033 avec Raspberry Pi : Détecteur de porte/lignes simple
- Surveillance domestique sécurisée avec Home Assistant sur Raspberry Pi : Mouvement, Alarme et Capture Vidéo
- Construire un capteur de mouvement infrarouge DIY pour Raspberry Pi – Guide étape par étape
- Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi