Objectifs : Découvrir comment utiliser un capteur de mouvement PIR et ses applications.
Difficulté : 1/5
Temps d'exécution : 15 min
Matériel nécessaire :
Le capteur de mouvent ou PIR ( )HC-SR501 que nous allons utiliser ensemble est un capteur capable de détecter les mouvements. Il détecte les rayonnements infrarouge dans son champ de vision et en déduit une présence ou un mouvement. Ce capteur peut servir dans de nombreuses applications notamment dans un système d'alarme.
Ci-dessus les exemples d'un robot et d'un allumage automatique qui utilise un capteur infrarouge.
Pour commencer, voici des images du capteur HC-SR501 présent sur la boutique :
Il dispose de deux trous de fixation pour pouvoir l'assembler à votre projet, c'est plutôt pratique.
Fonctionnement du capteur de mouvements
Le capteur renvoie un signal qui possède deux états : un état bas (0 V) lorsque le capteur est au repos, et un état haut (3,3 V) si un mouvement est détecté.
Quand un mouvement a été pris en compte, le signal passe à l'état haut et un délai est déclenché. Une fois que le délai est terminé, le signal retourne à l'état bas.
Ce capteur infrarouge a la possibilité d'être paramétré par son utilisateur. Pour cela, il dispose de deux potentiomètres pour régler la distance de détection et la durée de l'état haut. Il y a aussi la possibilité de le configurer dans deux modes de fonctionnement grâce à un cavalier à placer entre deux broches.
Voici des images du signal émis par le capteur sur un oscilloscope pour illustrer ces explications :
Le délai à l'état haut est d'environ 2,5 secondes par défaut.
Comme vous pouvez le voir sur la seconde image, il y a un temps ou le signal du capteur est "forcé" à l'état bas. C'est à dire que pendant ce laps de temps là, le capteur ne détectera pas les mouvements. En faisant plusieurs essais, je trouve une valeur d'environ 6 secondes.
Le capteur possède deux modes de fonctionnement :
- Un mode de détection unique qui permet de détecter un seul mouvement à la fois
- Un mode de détection multiple qui permet de détecter plusieurs mouvements et de déclencher le compteur du temps à l'état haut à partir du dernier mouvement détecté. L'image ci-dessous illustre ce mode de fonctionnement.
La cavalier sert à sélectionner ces deux modes :
le mode de détection unique
et le mode de détection multiple.
Utilisation du capteur PIR
Il est temps de relier votre capteur à votre carte arduino ! C'est simple, le capteur ne possède que 3 broches à connecter.
Les 3 broches sont en haut de l'image, voici leurs fonctions de gauche à droite : la masse, le signal de sortie (numérique), l'alimentation (5 V).
Il ne reste plus qu'à les relier de la sorte :
A présent, voici un petit programme qui permet la lecture du capteur infrarouge :
Ce programme permet d'afficher dans le moniteur série si un mouvement est détecter ou non. Le seul problème est que l'affichage est en continu, même s'il n'y a pas de changement dans l'information le moniteur l'affiche tout de même. Par conséquent je trouve le moniteur série un peu surchargé.
Le programme suivant utilise les interruptions, ainsi le moniteur affiche les informations uniquement à chaque fois qu'elles changent ! C'est quand même plus lisible !
Et voilà ! Maintenant vous savez tous sur ce capteur et vous pouvez l'utiliser pour vos projets ! N'hésitez pas à les partager sur le forum et à demander de l'aide aux makers !
J'ai laissé les potentiomètres à leur position neutre et j'ai écrit même code et j'ai fait même montage mais ça n'affiche rien.Aidez moi s'il vous plait !
Bonjour, Dans l'optique d'une alarme sur un voilier (à quai) j'ai appliqué le principe expliqué dans cet article avec le même capteur PIR relié à un shield GSM. Utilisé seul comme dans votre article aucun problème. Couplé au shield GPRS tout fonctionne mais j'ai des détections intempestives et aléatoires que je ne comprends pas. Une détection toutes les trois heures dans le meilleur des cas ; ex : 01:19 - 04:18 - 07:18 etc... Cette situation ne se produit que si le PIR est connecté ; j'ai essayé sur différentes pin, c'est pareil. Une idée ? Merci !
Il faudrait peut être jeter un oeil à votre code ... Je vous invite à passer du côté du forum => www.robot-maker.com/forum
Bonjour, j'ai un probleme avec le deuxieme code, ca me dit que" 'detection_IR' was not declared in this scope". comment remedier a cela ?
Bonjour, j'ai brancher ce fameux détecteur pour un montage fait maison. Le but étant d'alimenter un servo moteur(4,8v) quand le capteur détecte un mouvement. J'ai donc le + de la batterie (4 piles LR6) sur le branchement VCC du capteur et le moins (des piles) sur le branchement GND du capteur. Le + du servo moteur est relié à l'out du capteur et le - du moteur est rélié au - des piles. Mon problème est que le capteur ne s'active pas peu importe les réglages de luminosité et de timer que je fais. Je me demande donc si le problème viens de mon montage ou si je fais une mauvaise utilisation du capteur. Je vous remercie par avance, Cordialement,
Bonjour, dans le cadre d un projet de groupe de fin de licence, nous aurions besoin d utiliser plusieurs capteurs, est-il possible de les relier sur la même carte arduino et dans ce cas combien au maximum? Nous cherchons à coder pour declencher du son.
bonsoir, j'ai besoin de quelques exemlpes de smart home .merci d'avance
connecter avec une led c'est le top bonne détection la led s'allume a la detection petite modofication sur le programme.
bonsoir , stp j'aimerais savoir si on peut fixer une distance auxquelles on peut pas dépasser, et dès qu'on le dépasse le pir se déclenche .. et merci