Arduino UNO R4 - Capteur de mouvement
Ce tutoriel vous explique comment utiliser le capteur de mouvement HC-SR501 et l'Arduino UNO R4 pour détecter l'être humain. En détail, nous allons apprendre :
- Comment fonctionne le capteur de mouvement HC-SR501
- Comment connecter le capteur de mouvement HC-SR501 à l'Arduino UNO R4
- Comment programmer l'Arduino UNO R4 pour lire les informations du capteur de mouvement HC-SR501
- Comment utiliser l'Arduino UNO R4 et le capteur de mouvement pour détecter l'arrivée d'une personne

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de mouvement HC-SR501

Le capteur PIR HC-SR501 détecte les mouvements humains ou animaux. Il est couramment utilisé dans diverses applications telles que l'allumage et l'extinction des lumières, l'ouverture et la fermeture des portes, le fonctionnement des escalators et la détection d'intrus.
Quand vous vous rendez dans des lieux où les portes s'ouvrent et se ferment toutes seules, où les lumières s'allument et s'éteignent automatiquement, ou où les escaliers mécaniques démarrent d'eux-mêmes, vous êtes-vous déjà demandé : « Comment cela se passe-t-il ? » Si c'est le cas, ce guide expliquera non seulement comment cela fonctionne, mais il vous montrera aussi comment le créer vous-même. Commençons !
Schéma des broches
Le capteur de mouvement HC-SR501 est livré avec trois broches :
- Broche GND : connectez-la à GND (0 V)
- Broche VCC : connectez-la à VCC (5 V)
- Broche OUTPUT : envoie LOW lorsqu'il n'y a pas de mouvement, HIGH lorsqu'il y a un mouvement. Connectez cette broche à la broche d'entrée de l'Arduino UNN R4.
Le module HC-SR501 comprend un cavalier et deux potentiomètres, qui permettent d'ajuster les paramètres du capteur. Commencez par le réglage par défaut. Vous pouvez trouver plus d'informations dans la section « Utilisations Avancées ». Utilisations Avancées

Comment ça fonctionne
Le capteur HC-SR501 détecte les mouvements en observant les variations de la lumière infrarouge émise par l’objet qui bouge. Pour que le capteur HC-SR501 détecte un objet, il doit satisfaire deux conditions :
- Tremble ou se déplace
- émet de l'énergie infrarouge
Par conséquent :
- Si un objet se déplace sans émettre de rayons infrarouges (comme un robot ou une voiture-jouet), le capteur ne le détectera pas.
- Si un objet émet des rayons infrarouges mais ne bouge pas (comme une personne qui reste immobile), le capteur ne le détectera pas.
Les humains et les animaux émettent naturellement de l'infrarouge. En raison de cela, le capteur peut détecter quand les humains et les animaux bougent.
L'état de la broche de sortie :
- Si aucune personne ou aucun animal ne se déplace dans la portée du capteur, la broche OUTPUT du capteur est à l'état bas.
- Si une personne ou un animal entre dans la portée du capteur, la broche OUTPUT passe de l'état bas à l'état haut, indiquant une détection de mouvement.
- Si une personne ou un animal sort de la portée du capteur, la broche OUTPUT passe de l'état haut à l'état bas, indiquant la fin du mouvement.
La vidéo montre l'idée de base de la façon dont le capteur de mouvement fonctionne. Dans des situations réelles, la façon dont il opère peut varier légèrement en fonction de ses réglages, comme expliqué dans la section Utilisations avancées.
Arduino UNO R4 - Capteur de mouvement HC-SR501
Lorsque vous configurez une broche de l'Arduino UNO R4 en entrée numérique, elle peut détecter si l'élément connecté se trouve dans un état bas ou haut.
Connectez la broche de l'Arduino UNO R4 à la broche de sortie du capteur HC-SR501. Ensuite, utilisez le code Arduino UNO R4 pour lire la valeur de la broche de sortie afin de détecter le mouvement.
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Paramètre initial
Time Delay Adjuster | Screw it in anti-clockwise direction fully. |
Detection Range Adjuster | Screw it in clockwise direction fully. |
Repeat Trigger Selector | Put jumper as shown on the image. |

Comment programmer un capteur de mouvement
- Configurez une broche de l'Arduino UNO R4 en mode entrée numérique en utilisant la fonction pinMode().
- Utilisez la fonction digitalRead() pour vérifier l'état de la broche de sortie du capteur.
- Détecter le moment où le mouvement commence (la broche passe de LOW à HIGH).
- Détecter quand le mouvement s'arrête (l'état de la broche passe de HIGH à LOW).
Arduino UNO R4 code
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Branchez les composants selon le schéma fourni.
- Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Appuyez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino UNO R4
- Ouvrez le Moniteur série
- Passez votre main devant le capteur
- Vérifiez la sortie dans le Moniteur série
Vidéo
Utilisations avancées
Nous pouvons ajuster les réglages du capteur en utilisant un cavalier et deux potentiomètres, comme décrit ci-dessus.
Régleur de la portée de détection
Ce potentiomètre règle la distance de détection (environ 3 à 7 mètres).
- Lorsqu'il est tourné complètement dans le sens horaire, la portée de détection est d'environ 3 mètres.
- Lorsqu'il est tourné complètement dans le sens antihoraire, la portée de détection est d'environ 7 mètres.

Nous pouvons modifier les réglages du potentiomètre pour obtenir la portée souhaitée, comprise entre 3 et 7 mètres.
Régleur de délai
Ce potentiomètre ajuste le délai.
- Si vous le tournez complètement dans le sens des aiguilles d'une montre, le délai sera d'environ 5 minutes.
- Si vous le tournez complètement dans le sens inverse des aiguilles d'une montre, le délai sera d'environ 3 secondes.
Ensuite, nous expliquerons ce que signifie le délai temporel et comment il se rapporte à Repeat Trigger.

Sélecteur de déclencheur répété
Ce cavalier vous permet de choisir un mode de déclenchement : déclenchement unique ou déclenchement répétable.

Nous désignerons le réglage du délai d'attente (ajusté par le Time Delay Adjuster) comme time_delay. Imaginez que vous continuiez à vous déplacer dans la zone de détection du capteur pendant une période considérable, que nous appellerons motion_time (beaucoup plus longue que time_delay).
- En mode à déclenchement unique, la broche de sortie bascule entre BAS et HAUT à plusieurs reprises. Elle reste HAUT pendant une période égale à "time_delay" et BAS pendant un temps fixe de 3 secondes.

- La broche de sortie reste à un niveau haut pendant la durée du mouvement plus le délai.

Tests
Testons les modes de déclenchement. Tournez le régleur de délai complètement vers la gauche pour régler le temps de retard à 3 secondes.
- Mode à déclenchement unique:
- Placez le cavalier pour sélectionner le mode à déclenchement unique.
- Agitez votre main devant le capteur pendant 10 secondes.
- Retirez votre main de la portée du capteur.
- Attendez 3 secondes ; puis vérifiez le moniteur série pour la sortie telle qu'elle est affichée.
- Mode de déclenchement répétable:
- Placez le cavalier pour activer le mode de déclenchement répétable.
- Déplacez votre main en continu devant le capteur pendant environ 10 secondes.
- Retirez votre main de la portée du capteur.
- Après avoir attendu 3 secondes, vérifiez le moniteur série pour voir la sortie.
- Les appareils ou machines sont souvent allumés lorsqu'une personne est détectée à proximité.
- Les appareils ou machines ne sont pas éteints dès que la personne s'éloigne. Ils sont éteints après un certain délai.
En mode de déclenchement unique, le capteur s'active deux ou trois fois. En mode de déclenchement répétable, il ne s'active qu'une fois.
※ Note:
Pendant la période LOW, qui dure 3 secondes, le capteur ne peut détecter aucun mouvement. Cela signifie que le capteur est inactif pendant cette période, mais cela ne pose généralement pas de problèmes.
Il est conseillé d'utiliser le mode de déclenchement répétable.
Dans les applications pratiques: