- Composants requis
- Schéma de circuit pour Raspberry Pi et détecteur de mouvement basé sur un capteur PIR
- Code Python pour Raspberry Pi:
Les systèmes de sécurité jouent un rôle important dans notre vie quotidienne et nous pouvons y trouver de nombreux types de systèmes de sécurité avec différents types de technologies et avec des gammes de prix différentes. Étant un passionné d'électronique, vous pouvez créer un système de sécurité simple en dépensant quelques dollars et du temps libre. Ici, dans cet article, je partage un guide de bricolage pour créer une simple alarme de détecteur de mouvement basée sur un capteur Raspberry pi et PIR qui activera le buzzer lorsque le capteur PIR détectera un mouvement humain dans la zone. Nous avons également couvert un simple circuit de détecteur de mouvement basé sur un capteur PIR dans l'un de nos articles précédents où nous avons couvert le fonctionnement du capteur PIR en détail.
Composants requis
- Raspberry Pi 3 (tout modèle)
- Capteur PIR
- Avertisseur sonore
- Planche à pain
- Fils de connexion
Fonctionnement du capteur PIR
Le capteur infrarouge passif (PIR) est appelé passif car il reçoit l'infrarouge, pas émet. Fondamentalement, il détecte tout changement de chaleur et chaque fois qu'il détecte un changement, son PIN de sortie devient HAUT. Ils sont également appelés capteurs de mouvement pyroélectriques ou IR.
Ici, nous devons noter que chaque objet émet une certaine quantité d'infrarouge lorsqu'il est chauffé. L'homme émet également des infrarouges à cause de la chaleur corporelle. Les capteurs PIR peuvent détecter une petite quantité de variation dans l'infrarouge. Chaque fois qu'un objet traverse la plage du capteur, il produit des infrarouges en raison du frottement entre l'air et l'objet, et se fait prendre par PIR.
Le composant principal du capteur PIR est le capteur pyroélectrique illustré sur la figure (cristal rectangulaire derrière le capuchon en plastique). Parallèlement à cela, BISS0001 ("Micro Power PIR Motion Detector IC"), certaines résistances, condensateurs et autres composants utilisés pour construire le capteur PIR. Le BISS0001 IC prend l'entrée du capteur et effectue le traitement pour rendre la broche de sortie HIGH ou LOW en conséquence.
Le capteur pyroélectrique se divise en deux moitiés, lorsqu'il n'y a pas de mouvement, les deux moitiés restent dans le même état, ce qui signifie que les deux sens le même niveau d'infrarouge. Dès que quelqu'un entre dans la première moitié, le niveau infrarouge de la moitié devient supérieur à celui de l'autre, ce qui fait réagir les PIR et rend la broche de sortie élevée.
Le capteur pyroélectrique est recouvert d'un capuchon en plastique, qui contient un ensemble de nombreuses lentilles de Fresnel. Ces lentilles sont incurvées de manière à ce que le capteur puisse couvrir une large plage.
Schéma de circuit pour Raspberry Pi et détecteur de mouvement basé sur un capteur PIR
Comme indiqué dans le diagramme schématique ci-dessus pour Raspberry Pi et détecteur de mouvement basé sur un capteur PIR, la broche positive du capteur PIR est connectée à la broche 4 (5v) et la broche de masse du capteur PIR est connectée à la broche 6 (masse) du Raspberry Pi (Vous pouvez trouver ici le diagramme des broches de Raspberry Pi). La broche de sortie du capteur PIR est connectée au GPIO 23 du Raspberry pi qui est utilisé pour donner une entrée au Raspberry Pi. La broche GPIO 24 qui est déclarée ici pour la sortie est connectée au positif du buzzer et la masse du buzzer est connectée à la masse (broche 6) du raspberry pi.
Code Python pour Raspberry Pi:
Le code Python pour ce détecteur de mouvement basé sur un capteur Raspberry pi et PIR est assez simple et peut être facilement compris avec les commentaires en ligne dans la section de code ci-dessous. J'ai déclaré les broches 23 et 24 du GPIO comme broches d'entrée et de sortie.
while True: if GPIO.input (23): #S'il y a un mouvement, le capteur PIR donne une entrée à GPIO23 GPIO.output (24, True) #Output donné à Buzzer via GPIO24 time.sleep (1) #Buzzer s'allume pendant 1 seconde GPIO.output (24, False)
Une boucle « while » est utilisée comme «True» donc le contenu à l'intérieur de la boucle s'exécutera toujours. if GPIO.input (23): instruction détecte si la broche GPIO 23 est haute, et si la même chose est vraie, elle rend la sortie PIN 24 haute. La fonction time.sleep (secs) est utilisée pour mettre en pause le programme en python pendant un temps particulier où «secs» est le temps en secondes. Donc, ici, nous avions l'habitude de le mettre en pause pendant 1 seconde. Dans la ligne suivante, nous avons rendu la sortie sur 24 comme false, donc le buzzer s'arrête jusqu'à ce que la boucle commence l'itération suivante, car la boucle While est toujours définie sur true sans aucune condition préalable.