Arduino Mega - Capteur de mouvement
Ce guide vous montre comment utiliser le capteur de mouvement HC-SR501 et un Arduino Mega pour détecter une personne. Voici ce que nous allons apprendre :
- Ce que fait le capteur de mouvement HC-SR501
- Comment câbler le capteur de mouvement HC-SR501 à l'Arduino Mega
- Comment programmer l'Arduino Mega pour lire les données du capteur de mouvement HC-SR501
- Comment utiliser l'Arduino Mega et le capteur de mouvement pour détecter quand quelqu'un entre

Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de mouvement HC-SR501

Le HC-SR501 est un capteur PIR qui détecte les personnes ou les animaux en mouvement. Il est souvent utilisé pour de nombreuses tâches, comme allumer et éteindre les lumières, ouvrir et fermer les portes, contrôler les escalators, et repérer les intrus.
Avez-vous déjà vu des portes qui s'ouvrent et se ferment toutes seules, des lumières qui s'allument et s'éteignent toutes seules, ou des escalators qui démarrent tout seuls ? Vous êtes-vous déjà demandé "Comment cela fonctionne-t-il ?" Si oui, ce guide vous expliquera comment cela fonctionne et vous montrera aussi comment le faire vous-même. Commençons !
Brochage
Le capteur de mouvement HC-SR501 a trois broches.
- Broche GND : connecter à la masse (0 V)
- Broche VCC : connecter au 5V
- Broche OUTPUT : passe à LOW quand il n'y a pas de mouvement, HIGH quand il y a du mouvement. Connectez cette broche à la broche d'entrée d'un Arduino Mega.
Le HC-SR501 a un cavalier et deux boutons d'ajustement pour modifier les paramètres du capteur. Commencez avec le réglage par défaut. Pour plus d'informations, consultez la section "Utilisations avancées". Utilisations avancées

Comment ça fonctionne
Le capteur HC-SR501 détecte le mouvement en surveillant les changements de lumière infrarouge de l'objet en mouvement. Pour que le HC-SR501 détecte un objet, deux choses doivent être vraies :
- Il bouge ou se déplace.
- Il émet de l'énergie infrarouge.
Donc :
- Si quelque chose bouge mais n'émet pas de lumière infrarouge (par exemple, un robot ou une voiture jouet), le capteur ne le détectera pas.
- Si quelque chose émet de la lumière infrarouge mais reste immobile (par exemple, une personne qui reste immobile), le capteur ne le détectera pas.
Les personnes et les animaux émettent naturellement de la chaleur. À cause de cela, le capteur peut détecter quand les personnes et les animaux bougent.
L'état de la broche de sortie :
- Si rien ne bouge dans la portée du capteur, la broche OUTPUT est à LOW.
- Si une personne ou un animal entre dans la portée du capteur, la broche OUTPUT passe de LOW à HIGH, indiquant qu'un mouvement est détecté.
- Si une personne ou un animal quitte la portée du capteur, la broche OUTPUT passe de HIGH à LOW, indiquant que le mouvement a cessé.
La vidéo montre l'idée principale de comment le capteur de mouvement fonctionne. En réalité, son fonctionnement peut être un peu différent selon ses paramètres, comme expliqué dans la section Utilisations avancées.
Arduino Mega - Capteur de mouvement HC-SR501
Quand vous configurez une broche de l'Arduino Mega comme entrée numérique, elle peut détecter si ce qui y est connecté est bas ou haut.
Connectez une broche de l'Arduino Mega à la broche OUTPUT du capteur HC-SR501. Puis utilisez un code Arduino simple pour lire la valeur de cette broche afin de détecter le mouvement.
Schéma de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Réglage initial
| Ajusteur de délai | Vissez-le dans le sens anti-horaire complètement. |
| Ajusteur de portée de détection | Vissez-le dans le sens horaire complètement. |
| Sélecteur de déclenchement répété | Placez le cavalier comme montré sur l'image. |

Comment programmer pour le capteur de mouvement
- Configurez une broche de l'Arduino Mega comme entrée numérique en utilisant la fonction pinMode().
- Utilisez la fonction digitalRead() pour voir si la broche OUTPUT du capteur est haute ou basse.
- Détectez quand le mouvement commence (la broche passe de bas à haut).
- Détectez quand il n'y a plus de mouvement (la broche passe de HIGH à LOW).
Code Arduino Mega
Étapes rapides
Suivez ces étapes une par une :
- Connectez les composants comme montré dans le schéma.
- Connectez la carte Arduino Mega à votre ordinateur avec un câble USB.
- Ouvrez l'Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte : Arduino Mega, et sélectionnez le port COM.
- Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE.
- Appuyez sur le bouton Upload pour envoyer le code à l'Arduino Mega.
- Ouvrez le moniteur série.
- Bougez votre main devant le capteur.
- Vérifiez la sortie dans le moniteur série.
Vidéo
Utilisations avancées
Nous pouvons ajuster les paramètres du capteur avec un cavalier et deux boutons, comme décrit ci-dessus.
Ajusteur de portée de détection
Ce bouton vous permet de changer la distance à laquelle il peut détecter les choses (environ 3 à 7 mètres).
- Quand il est tourné complètement vers la droite, il peut détecter jusqu'à environ 3 mètres.
- Quand il est tourné complètement vers la gauche, il peut détecter jusqu'à environ 7 mètres.

Nous pouvons ajuster le potentiomètre pour régler la portée entre 3 et 7 mètres.
Ajusteur de délai
Ce bouton règle le temps de délai.
- Tournez-le complètement vers la droite, et le délai sera d'environ 5 minutes.
- Tournez-le complètement vers la gauche, et le délai sera d'environ 3 secondes.
Ensuite, nous expliquerons ce qu'est un délai et comment il fonctionne avec le déclenchement répété.

Sélecteur de déclenchement répété
Cet interrupteur vous permet de choisir comment fonctionne le déclenchement : déclenchement unique ou déclenchement répété.

Nous appelons le réglage du délai time_delay (vous le modifiez avec l'ajusteur de délai). Imaginez que vous continuez à bouger à l'intérieur de la zone de détection du capteur pendant longtemps. C'est motion_time, qui est beaucoup plus long que time_delay.
- En mode coup unique, la broche OUTPUT s'allume et s'éteint plusieurs fois. Elle reste allumée pendant un temps égal à time_delay et reste éteinte pendant 3 secondes fixes.

- La broche OUTPUT reste HIGH pendant le temps de mouvement plus le délai.

Test
Testons les modes de déclenchement. Tournez le bouton de délai complètement vers la gauche pour régler le délai à 3 secondes.
- Mode déclenchement unique :
- Réglez le cavalier en mode déclenchement unique.
- Bougez votre main devant le capteur pendant 10 secondes.
- Retirez votre main du capteur.
- Attendez 3 secondes, puis vérifiez le moniteur série pour voir la sortie.
- Mode déclenchement répétable :
- Placez le cavalier pour démarrer le mode déclenchement répétable.
- Tenez votre main devant le capteur pendant environ 10 secondes.
- Retirez votre main du capteur.
- Après environ 3 secondes, vérifiez le moniteur série pour voir la sortie.
En mode coup unique, le capteur se déclenche deux ou trois fois. En mode déclenchement répétable, il se déclenche seulement une fois.
※ Note:
Pendant la période LOW (3 secondes), le capteur ne peut détecter aucun mouvement. Cela signifie que le capteur n'est pas actif pendant ce temps, mais cela ne cause généralement pas de problèmes.
Nous recommandons d'utiliser le mode déclenchement répétable.
En utilisation réelle :
- Les appareils ou machines s'allument souvent quand quelqu'un est à proximité.
- Ils ne s'éteignent pas immédiatement quand la personne part ; ils s'éteignent après un court délai.