Détecteur de mouvement à infrarouge
Lorsque vous vous approchez de certains endroits où les portes s’ouvrent/se ferment automatiquement, où les ampoules s’allument/se ferment automatiquement ou où l’escalator s’active automatiquement, vous êtes-vous déjà posé la question suivante : “Comment peut-il faire cela ?” ? Si oui, ce tutoriel répond non seulement à cette question mais vous explique également comment le faire. C’est parti !
Le capteur IRP HC-SR501 est un capteur qui peut détecter le mouvement des humains (ou des animaux). Il est largement utilisé pour détecter la présence humaine dans de nombreuses applications (allumer/éteindre automatiquement une ampoule, ouvrir/fermer une porte, activer/désactiver un escalator, détecter un intrus…).
La vidéo ci-dessus illustre le fonctionnement de principe du capteur de mouvement. En pratique, le capteur de mouvement fonctionne un peu différemment, selon le réglage du capteur (décrit dans la section Utilisations avancées)
Le capteur lui-même ne détecte PAS la présence d’humains, le capteur détecte simplement le mouvement. Nous utilisons Arduino (ou MCU) pour déduire la présence d’humains en se basant sur la détection de mouvement du capteur, selon la règle suivante :
Détecteur de mouvement Pir
J’ai un Arduino configuré avec de multiples capteurs imprimant sur le port série. Initialement, j’avais implémenté le capteur PIR avec plusieurs retards intégrés afin qu’il ne spamme pas le message de détection de mouvement. Cependant, la fonction delay(), bien sûr, met en pause tout le code et interfère avec les autres capteurs.
L’idée générale étant d’utiliser le logiciel pour minimiser également les faux positifs. J’ai essayé d’utiliser la fonction millis() pour le contrôler, mais je n’ai pas eu beaucoup de succès. Il existe probablement une solution très simple, mais je ne la vois pas.
Je sais que c’est tout à fait faux, car je pense que de la façon dont il est configuré maintenant, la boucle ne sera jamais entrée. J’ai essayé plusieurs autres structures, mais je ne vois pas ce que je dois faire. S’agit-il d’une situation où je dois construire une machine d’état essentiellement ? Toute aide pour y réfléchir serait appréciée !
Vous y êtes presque. Vous avez juste besoin de définir previousMillis quelque part. Quel est le point de départ de votre timing ? C’est quand le capteur PIR détecte le mouvement. C’est ça ? Ou autrement dit, vous voulez chronométrer à partir du dernier moment où il n’a pas détecté de mouvement. Il suffit donc d’ajouter une ligne pour que si le PIR ne détecte aucun mouvement, il fixe previousMillis à millis(). De cette façon, lorsqu’il détecte un mouvement, previousMillis correspondra au dernier moment où il ne l’a pas détecté.
Capteur Pir toujours élevé
Cela signifie que lorsqu’un corps humain ou animal se trouve dans le champ d’action du capteur, celui-ci détecte un mouvement car le corps humain ou animal émet de l’énergie thermique sous forme de rayonnement infrarouge. C’est de là que vient le nom du capteur, un capteur infrarouge passif. Le terme “passif” signifie que le capteur n’utilise pas d’énergie pour la détection, il fonctionne simplement en détectant l’énergie émise par d’autres objets.
Le module n’a que trois broches, une masse et une VCC pour l’alimentation du module et une broche de sortie qui donne un niveau logique élevé si un objet est détecté. Il possède également deux potentiomètres. Un pour ajuster la sensibilité du capteur et l’autre pour ajuster le temps pendant lequel le signal de sortie reste élevé lorsqu’un objet est détecté. Ce temps peut être réglé de 0,3 seconde à 5 minutes.
Le module possède trois autres broches avec un cavalier entre deux d’entre elles. Ces broches servent à sélectionner les modes de déclenchement. Le premier est appelé “déclenchement non répétable” et fonctionne comme suit : lorsque la sortie du capteur est élevée et que le délai est écoulé, la sortie passe automatiquement du niveau haut au niveau bas. L’autre mode, appelé “déclenchement répétable”, maintiendra la sortie haute tout le temps jusqu’à ce que l’objet détecté soit présent dans la zone du capteur.
Réglage de la sensibilité du capteur Pir
3 (1)Détecter un mouvement à l’intérieur d’une zone de surveillance, telle qu’une zone de sécurité ou un lieu restreint de la maison, nécessite de surveiller tous les mouvements d’objets à l’intérieur de ce périmètre. Le capteur PIR (HC-SR501) avec Arduino est une option bonne et bon marché, car il a la capacité de mesurer jusqu’à 7 mètres.
Le capteur PIR est utilisé à des fins de sécurité pour détecter des personnes ou des objets non autorisés. Il y a deux capteurs à l’intérieur du capteur PIR connu sous le nom de capteurs pyroélectriques qui fonctionnent sur les changements de l’énergie thermique, Ces deux capteurs se trouvent adjacents l’un à l’autre, et lorsque le différentiel de signe entre les deux capteurs change comme supposer qu’un individu entre dans la pièce ou tout objet vient dans le chemin. Devant le capteur se trouve un boîtier de lentilles qui augmente la surface de détection.
Le capteur PIR fonctionne sur la base d’un changement de chaleur : lorsque l’objet arrive devant lui, le changement de chaleur est détecté, puis le capteur PIR envoie une logique HAUT à la broche de sortie. Ce capteur est normalement utilisé pour les casiers, les zones non autorisées et la sécurité domestique. Ce sont les caractéristiques importantes du capteur de mouvement PIR, qui comprennent sa distance, le type de rayons et la description des fonctionnalités.