jeudi 12 octobre 2017

Capteur infrarouge passif (PIR) avec une carte STM32 Nucleo


Dans ce court billet, je vous fournis quelques informations utiles pour détecter un mouvement au moyen d'un capteur à infrarouge passif (ou PIR, pour passive infrared) branché à une carte STM32 Nucleo.

Pour plus d'informations au sujet des capteurs PIR, je vous réfère à ce précédent billet:  vous y trouverez des informations utiles concernant leur principe de fonctionnement et les réglages qu'on peut effectuer au moyen de leurs potentiomètres. Si vous préférez utiliser une carte Arduino ou encore un Raspberry Pi, il existe également des tutoriels à ce sujet.

Connexions

Le capteur nécessite une tension d'alimentation d'au moins 5 V, mais sa sortie délivre malgré tout une tension de 3,3 V qui est tout à fait appropriée pour notre Nucleo.

En théorie, les branchements sont donc:
  • +5 V du PIR : 5V du Nucleo
  • OUT du PIR : D7 du Nucleo
  • GND du PIR:  GND du Nucleo


Pourquoi ai-je précisé "en théorie"?  Parce qu'aussi longtemps que je me suis obstiné à alimenter mon capteur au moyen de la sortie 5 V de ma carte Nucleo, le capteur s'est comporté de façon complètement erratique (le symptôme le plus fréquent, c'est qu'il continuait de détecter un mouvement alors qu'il n'y en avait plus depuis bien longtemps).  J'ai essayé de stabiliser l'alimentation avec le vieux truc du condensateur ajouté entre les deux bornes, mais ça n'a pas apporté d'amélioration notable.  Par contre, tout fonctionne à merveille si mon capteur est alimenté par sa propre source de tension.

Voici donc le circuit qui a correctement fonctionné pour moi:



Script mbed

Voici finalement un script réalisé au moyen de l'IDE en ligne mbed.  Lorsqu'un mouvement est détectée, la LED verte intégrée à la carte Nucleo s'allume, et un message est envoyé à l'ordinateur par liaison série.


Remarquez que si votre seul objectif est d'allumer une LED lorsque que capteur PIR détecte un mouvement, la carte Nucleo n'est pas nécessaire:  le capteur PIR peut très bien piloter une LED ou un relais sans l'aide d'un microcontrôleur.   Ce script se veut plutôt un exemple qui pourra servir de point de départ à un projet plus ambitieux.

Yves Pelletier   ( Twitter , Facebook )

3 commentaires:

  1. bonjour,
    je veux savoir est ce qu'on peut brancher le PIR avec une carte STM32F4 et qu'elles sont les changements prévus sur le code ? merci

    RépondreSupprimer