Pilotage d'un Raspberry à l'aide d'un PIR


#1

Bonjour,
Je voudrai commander l’allumage et l’extinction de l’écran de mon futur miroir magique :slightly_smiling_face: à l’aide d’un module PIR (un HC SR501) et d’un petit script python qui lancerait une commande de type : vcgencmd display_power 1 (ou 0).
Cependant, les réactions du capteur sont très erratiques. Je pensais que c’était une question de réglage de ses potentiomètres. Ben non, en fait…
J’ai fait un script python pour avoir les résultats de la mesure toutes les secondes. Pour plus de commodité, je le lance par SSH :

#!/usr/bin/env python3

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(17, GPIO.IN)

delais = 1

try:
while True:
time.sleep(delais)
print(GPIO.input(17))
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()

Et par VNC, je lance MagicMirror.

Là, je me suis aperçu que le capteur affichait 1 lorsque l’affichage de MagicMirror se modifiait. Changement de la phrase de bienvenue par exemple.
MagicMirror n’est qu’un exemple car même quand il n’est pas lancé, il suffit que je change le fucus d’une fenêtre sur mon raspberry, pour que une série de 1 s’affichent sur ma console SSH. :cry:
(J’ai positionné le PIR de telle façon qu’il ne me voit pas :wink: )

Bref, bref, bref. Certaines modifications de l’affichage créent des parasites dans les circuits du raspberry, provoquant des réponses incohérentes du capteur.
J’ai bien essayé de connecter le pin 17 sur un pull_down : (GPIO.setup(17, GPIO.IN,pull_up_down=GPIO.PUD_DOWN) sans résultat.

Est-ce que quelqu’un aurait déjà rencontré ce problème et quelle solution envisager (en dehors d’alimenter le capteur par une autre alimentation) ?

En vous remerciant par avance.


#2

Bonjour, pourquoi ne pas remplacer le PIR par un radar tel que le RCWL0516 (~0,50€) et HW-MS03 (~2€). A mon avis il sera totalement insensible à l’écran et aux variations de lumière. Ca fonctionne exactement pareil, le GPIO sur lequel il est branché passe à 1 dès que quelqu’un est détecté (jusqu’à 4m).


#3

Ah? tiens, je vais essayer de m’en procurer un pour tester.
Mais j’aurais bien aimé avoir une piste de résolution avec le PIR car quand je le masque avec un tissus, les sautes d’état aux variations de l’écran sont toujours là.
Ne serait-ce pas une question de masse?


#4

Bonjour, ne pas oublier que contrairement à un détecteur PIR, le détecteur radar fonctionne sous le principe de l’effet dopler c.a.d qu’il se déclenche lors d’un mouvement devant à proximité, mais repasse en mode non détection dès que la personne reste immobile devant.
Micar, le problème que tu rencontre peut être est un manque de découplage de l’alimentation du détecteur PIR essaye de mettre un petit condensateur de 10 µF directement aux bornes d’arrivée du PIR (attention à la polarité +/-)


#5

Ah! super pour l’idée du condensateur. Je me doutais bien. Je vais tenter. Mais pour bien comprendre (je suis une bille en électronique) je mets le condensateur en parallèle entre les bornes d’alimentation du PIR avec le + du condensateur sur la broche VCC et le - sur le GRD ?
Et est-ce qu’un condensateur chimique 10µF 63V (trouvé sur amazon) conviendrait ?


#6

Salut,
Ton condensateur conviendrait mais il faut faire attention, les condensateurs chimiques sont polarisés.
Pense bien à brancher le + sur VCC et le - sur GND.

Quand tu sors la lentille de fresnel de ton module, qu’elle est la référence de ton PIR ? fais tu de la radio avec ton RPI? j’ai déjà eu le soucis avec la radio de parasiter mon PIR…