Publié par Laisser un commentaire

Capteur de mouvement PIR avec Raspberry Pi Pico

Raspberry Pi Pico PIR motion sensor pinout

Voyons comment connecter un capteur de mouvement PIR (Passive Infrared Detection) sur un Raspberry Pi Pico. A base d’un script MicroPython, nous pourrons détecter un mouvement ou une présence humaine.

Lorsque vous aurez terminé ce tutoriel, vous pourrez connecter un capteur HC-SR501 ou HC-SR505 (2 types de capteurs de mouvement PIR) à votre Raspberry Pi Pico. Vous aurez également le code de base pour convertir le signal de sortie du capteur en informations utilisables.

  1. Préparer le matériel

    – Vous avez d’abord besoin d’un ordinateur pour pouvoir utiliser Thonny. Dans ce tutoriel, nous utiliserons un Raspberry Pi 4 comme ordinateur. Et Thonny est un EDI Python convivial pour interagir avec la carte Raspberry Pi Pico. Si vous n’avez jamais utilisé Thonny pour programmer le Raspberry Pi Pico, avant de continuer, vous feriez mieux de jeter un œil à notre tutoriel “Commencer à programmer le Raspberry Pi Pico“.

    – Ensuite, vous avez besoin d’un câble USB avec prise micro-USB.

    – Vous avez également besoin d’un Raspberry Pi Pico bien sûr. Pour ce tutoriel, vous avez besoin d’avoir les broches soudés à votre carte.

    Et enfin, vous aurez besoin de quelques composants supplémentaires :
    – un breadboard (nous utilisons un breadboard de 400 points)
    – un capteur de mouvement PIR HC-SR501 PIR ou HC-SR505
    – des câbles Dupont

    Si vous manquez des pièces, n’hésitez pas à visiter notre boutique.Raspberry Pi Pico breadboard PIR

  2. Apprenez à connaître le capteur de mouvement PIR

    PIR signifie Détection Infrarouge Passive. Le capteur mesure les variations de la lumière infrarouge. Comme nous émettons tous une lumière infrarouge, les variations infrarouges sont détectées par le capteur lorsque nous nous déplaçons devant le capteur. Lorsque cela se produit, le capteur définira la sortie du signal sur HAUT. Comme le signal de sortie est de 3,3 V, le signal de sortie peut être directement connecté à une broche d’entrée GPIO du Raspberry Pi Pico.

    Il existe deux types courants de capteurs : le HC-SR501 et le plus petit HC-SR505. Voyons comment configurer les deux types de capteurs.

    HC-SR501
    Le module peut être configuré comme suit:
    HC-SR501 PIR motion sensorTime Delay Adjust : Lorsqu’un mouvement a été détecté, le signal de sortie passe de BAS à HAUT. Cette position HAUT restera un certain temps. Ici, vous pouvez régler ce temps. Tournez le potentiomètre dans le sens inverse des aiguilles d’une montre pour réduire le temps. Pour notre script MicroPython (ci-dessous), il est préférable de réduire la temporisation au minimum.
    Jumper set : Le jumper est utilisé pour contrôler le mode de déclenchement. Lorsque le jumper est en position “L”, le mode est défini comme “mode de déclenchement non répété”, ce qui signifie que lorsque le module fournit une tension HAUTE en raison d’un mouvement, il ne se déclenchera plus, même si un autre mouvement est détecté. Lorsque le jumper est en position “H”, le module est configuré en “mode de déclenchement répété”, ce qui signifie que le temps de retard sera recalculé lorsqu’un deuxième mouvement humain est détecté pendant son temps de retard. Le compteur de temps recommencera donc à zéro pour chaque nouveau mouvement pendant la temporistaion. Si la temporisation est réglée au minimum, la position du jumper ne fera aucune différence.
    Sensitivity adjust : pour ajuster la plage de détection

    HC-SR505
    Pour ce capteur, aucune configuration n’est nécessaire. Lorsqu’un mouvement est détecté, le signal de sortie reste élevé pendant environ 10 secondes (= temporisation fixe).
    HC-SR505 mini PIR motion sensorSoyez prudent ! Avant de brancher des composants sur les broches GPIO de votre Raspberry Pi Pico, assurez-vous que celui-ci ne soit pas connecté à votre ordinateur.

  3. Mettez en place la partie matérielle

    Raspberry Pi Pico HC-SR501 pinout– reliez la broche VCC (power) du capteur à une broche 5V (fil rouge)
    – reliez la broche OUTPUT du capteur à la broche 22 (fil jaune)
    – connectez le GND du capteur à une broche GPIO GND (fil noir)

    Pour le HC-SR505 cela doit donner ceci :

    Raspberry Pi Pico HC-SR505
    Et pour le HC-SR501 :
    Raspberry Pi Pico HC-SR501

  4. Ecrivez le code

    Le but ici est d’écrire un script MicroPython très basique qui nous permet de visualiser quand un mouvement est détecté. Pour ce faire, le microcontrôleur vérifie chaque seconde le signal de sortie du capteur PIR. Si la sortie est élevée, cela signifie qu’un mouvement a été détecté. N’oubliez pas que le signal restera élevé pendant un certain temps (voir la temporisation ci-dessus).

    Maintenant, ouvrez Thonny et écrivez ou collez le code suivant dans l’EDI :

    from machine import Pin
    import time
     
    pir = Pin(22, Pin.IN, Pin.PULL_DOWN)
    n = 0
     
    print('Starting up the PIR Module')
    time.sleep(1)
    print('Ready')
     
    while True:
         if pir.value() == 1:
              n = n+1
              print('Motion Detected ',n)
         time.sleep(1)


    Attention, MicroPython est sensible aux espaces. Ne supprimez pas les “tabs”.

    MicroPython Pico PIR motion
    Quelques explications à propos du code :

    from machine import Pin  : importer partiellement le module machine pour avoir accès aux pins GPIO.
    import time   : importer le module de temps. Cela nous permettra d’utiliser des tâches liées au temps.
    pir = Pin(22, Pin.IN, Pin.PULL_DOWN): ici, nous définissons la broche du capteur (=GP22) comme une broche d’entrée. Pour éviter une entrée “flottante”, nous utilisons une résistance de tirage interne.
    time.sleep(1)  On attend 1 seconde pour être certain que le capteur soit stabilisé.
    while True: est une boucle à l’infinie (jusqu’à ce que nous interrompons le programme).
    if pir.value() == 1:si la broche PIR est haute (le capteur a détecté un mouvement)
    time.sleep(1):  On attend 1 seconde avant de poursuivre la boucle

  5. Exécutez le programme

    Maintenant, il est temps de sauvegarder votre script. Vous pouvez l’enregistrer sur votre ordinateur ou sur votre carte Pico.

    Ensuite, cliquez sur le bouton Exécuter de l’IDE Thonny. Lorsque le capteur PIR détecte un mouvement, « Motion Detected » avec un compteur apparaîtra.Raspberry Pi Pico PIR motion sensor pinout

Félicitations ! Avec cette configuration, vous pouvez intégrer maintenant la détection de mouvement dans vos projets. Vous pouvez également utiliser le script pour traiter le résultat dans une application dans laquelle vous souhaitez surveiller la présence humaine. Ayez encore beaucoup de plaisir !

Résoudre les anomalies

Si le message « Motion Detected » se répète continuellement, même lorsqu’il n’y a aucun mouvement à détecter :

  1. Vérifiez votre câblage.
  2. Vérifiez si vous avez réglé le potentiomètre “Time Delay” sur un temps minimum (tournez dans le sens inverse des aiguilles d’une montre jusqu’à la butée). Si ce n’est pas le cas, le capteur sera HAUT pendant un certain temps. Et pendant tout ce temps, chaque seconde, le script émettra “Motion Detected”. Plus d’informations : voir l’étape “Apprenez à connaître le capteur de mouvement PIR” ci-dessus.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 0 / 5. Nombre de voix : 0

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 0 / 5. Nombre de voix : 0

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

découvrez ici plus de produits

Soyez le premier informé de nos derniers tutoriels et produits en vous inscrivant à notre Newsletter

freva.com respecte votre vie privée. Lisez notre politique de protection de la vie privée sur la façon dont nous traitons vos informations personnelles.