Kunkune

Configurer un capteur PIR HC-SR501 avec Arduino

Configurer un capteur PIR HC-SR501 avec Arduino

By Kunkune | Published: 2026-10-13

Category: Guides pratiques

Branchez un module PIR HC-SR501 sur un Arduino, réglez sa sensibilité et ses potentiomètres de délai, et corrigez les déclenchements intempestifs grâce à une procédure claire et étape par étape.

Réponse rapide

Branchez le HC-SR501 avec VCC sur 5V, GND sur GND, et OUT sur une broche numérique, puis couvrez la lentille et attendez 30-60 secondes pour l'échauffement avant de vous fier aux lectures. Réglez d'abord les deux potentiomètres à mi-course, téléversez un simple sketch digitalRead, puis ajustez la sensibilité et le délai en surveillant le moniteur série.

Ce que font réellement les broches du HC-SR501

Le module a trois broches : VCC, OUT et GND. OUT est un signal numérique qui passe à HIGH lorsqu'un mouvement est détecté, donc toute entrée numérique Arduino fonctionne. Le catalogue indique la tension de sortie comme 3.3V, ce qui est le niveau logique que le module présente sur OUT. Cela compte si vous prévoyez d'envoyer le signal vers une entrée logique uniquement 5V ou une carte 3.3V : un HIGH de 3.3V est généralement lu correctement par les MCU 3.3V tels que ESP32 ou Raspberry Pi, mais un Arduino Uno classique de 5V considère tout ce qui dépasse environ 3V comme HIGH, donc cela fonctionne aussi. Si vous n'êtes pas sûr, mesurez OUT avec un multimètre pendant un déclenchement plutôt que de supposer.

Le HC-SR501 possède également deux potentiomètres et un cavalier. Un potentiomètre règle la sensibilité (portée de détection), l'autre règle le délai (combien de temps OUT reste HIGH après l'arrêt du mouvement). Le cavalier sélectionne le mode de déclenchement répétable ou non répétable. Le module a besoin d'une période d'échauffement après la mise sous tension ; pendant ce temps, OUT peut rester HIGH ou basculer, donc ne jugez pas le capteur avant qu'il ne se stabilise.

Choix d'alimentation et de câblage pour éviter le bruit

Le HC-SR501 est le plus heureux sur une alimentation stable de 5V. L'alimenter depuis la broche 5V de l'Arduino est acceptable pour un seul module, mais si vous ajoutez des relais, des moteurs ou de longs fils, utilisez une alimentation séparée régulée de 5V et reliez les masses. Une alimentation faible ou bruyante est l'une des causes les plus courantes de déclenchements aléatoires.

Gardez le fil de signal court et éloignez-le du câblage moteur ou secteur. Si vous devez utiliser un long câble, torsadez les fils OUT et GND ensemble ou utilisez un câble blindé. Pour une installation permanente, soudez les connexions ou utilisez une borne à vis au lieu de fils de liaison lâches qui peuvent bouger.

Un sketch Arduino minimal pour vérifier le mouvement

Commencez par le test le plus simple possible : lire une broche numérique et imprimer son état. Connectez OUT à la broche 2, puis téléversez un sketch qui définit la broche 2 comme INPUT et imprime digitalRead(2) sur le moniteur série à 9600 bauds. Agitez la main devant la lentille et observez le changement de valeur. Cela confirme le câblage avant d'ajouter toute logique.

Une fois la lecture brute fonctionnelle, ajoutez un court debounce ou une vérification de changement d'état pour qu'un seul événement de mouvement ne spamme pas la sortie série. Par exemple, n'imprimez que lorsque la lecture passe de LOW à HIGH. Cela rend le comportement du potentiomètre de délai beaucoup plus facile à observer.

Ajustez la sensibilité et le délai sans courir après les faux déclenchements

Tournez d'abord les deux potentiomètres complètement dans le sens antihoraire, puis augmentez la sensibilité lentement jusqu'à ce que le capteur couvre la zone souhaitée. Plus de sensibilité n'est pas mieux : cela capte aussi les sources de chaleur, les courants d'air et les animaux domestiques. Le potentiomètre de délai contrôle combien de temps OUT reste HIGH après le dernier mouvement ; réglez-le court pour le comptage d'événements et plus long pour les temps de maintien d'éclairage ou d'alarme.

Faites un changement à la fois et attendez que le module se stabilise. Si la sortie reste constamment HIGH, réduisez la sensibilité et vérifiez que la lentille ne fait pas face à une fenêtre, un radiateur ou un rideau en mouvement. Si elle ne se déclenche jamais, confirmez le mode du cavalier et que la période d'échauffement est passée.

Configuration étape par étape du HC-SR501 avec Arduino

  1. Étape 1 : Identifiez le brochage et réglez le cavalier : Avec la lentille face à vous, les broches sont généralement VCC, OUT, GND de gauche à droite, mais confirmez avec les marquages sur votre carte. Réglez le cavalier en mode non répétable (H) pour une détection simple on/off, ou en mode répétable (L) si vous voulez que OUT reste HIGH pendant que le mouvement continue. Point de contrôle : si les marquages ne sont pas clairs, testez avec un multimètre avant de connecter l'alimentation.
  2. Étape 2 : Câblez l'alimentation et le signal : Connectez VCC à 5V, GND à GND, et OUT à la broche numérique Arduino 2. Gardez le fil de signal court et éloigné des moteurs ou du câblage secteur. Si vous utilisez une alimentation externe, reliez sa masse à la masse de l'Arduino. Erreur courante : oublier la masse commune lors de l'utilisation d'une alimentation séparée de 5V.
  3. Étape 3 : Attendez l'échauffement : Mettez le module sous tension et attendez 30-60 secondes sans bouger devant lui. La sortie peut basculer pendant cette période ; c'est normal. Ne réglez pas les potentiomètres avant que le module ne se soit stabilisé. Point de contrôle : si OUT est encore instable après deux minutes, vérifiez la stabilité de l'alimentation et le câblage.
  4. Étape 4 : Téléversez un sketch de lecture minimal : Définissez la broche 2 comme INPUT et imprimez digitalRead(2) sur le moniteur série à 9600 bauds. Agitez la main et confirmez que la valeur change. Ajoutez une vérification de changement d'état pour que seules les transitions s'impriment. Erreur courante : utiliser INPUT_PULLUP, qui entre en conflit avec la sortie du module ; utilisez INPUT simple sauf si votre module spécifique l'exige autrement.
  5. Étape 5 : Réglez la sensibilité et le délai : Commencez avec les deux potentiomètres complètement dans le sens antihoraire. Augmentez la sensibilité jusqu'à ce que le capteur couvre de manière fiable votre zone cible, puis arrêtez. Réglez le délai au temps de maintien le plus court qui convient à votre projet. Point de contrôle : si les faux déclenchements persistent, réduisez la sensibilité et éliminez les sources de chaleur ou de mouvement d'air du champ de vision.
  6. Étape 6 : Testez le comportement final en place : Montez le capteur à la hauteur et à l'angle que vous utiliserez, puis traversez la zone de détection plusieurs fois. Confirmez que OUT passe à HIGH quand prévu et retombe à LOW après le délai. Prochaine étape : ajoutez un debounce ou une minuterie de maintien dans le code si vous avez besoin d'un comptage d'événements plus propre.

Fiche produit

  • Module capteur de mouvement HC-SR501 Détecteur PIR réglable: Module capteur de mouvement HC-SR501 Détecteur PIR réglable, tension de sortie 3.3V. Un HIGH logique de 3.3V est compatible avec les cartes 3.3V et est toujours lu comme HIGH par la plupart des entrées Arduino de 5V, donc vous pouvez l'utiliser avec l'un ou l'autre sans décalage de niveau dans les configurations typiques.
  • Convertisseur DC-DC Buck Boost 4-35V à 1.25-25V LM2596S XL6019E1 3A: Convertisseur DC-DC Buck Boost 4-35V à 1.25-25V LM2596S XL6019E1 3A avec sortie réglable. Utile lorsque votre projet fonctionne sur batterie ou sur un rail de tension plus élevée et que vous avez besoin d'une alimentation propre et réglable de 5V pour le module PIR au lieu de puiser sur un rail Arduino bruyant.

Shop Related Products

Convertisseur DC‑DC buck‑boost 4‑35 V vers 1,25‑25 V LM2596S XL6019E1 3 A

Convertisseur DC‑DC buck‑boost 4‑35 V vers 1,25‑25 V LM2596S XL6019E1 3 A

$2.94 $4.90

Shop Now
Module capteur de mouvement HC-SR501 PIR réglable

Module capteur de mouvement HC-SR501 PIR réglable

$0.97 $1.45

Shop Now