Raspberry Pi Pico - Capteur de mouvement
Ce guide vous montre comment utiliser le capteur de mouvement HC-SR501 avec le Raspberry Pi Pico pour détecter une personne. Nous aborderons les détails suivants :
- Comment fonctionne le capteur de mouvement HC-SR501
- Connecter le capteur de mouvement HC-SR501 au Raspberry Pi Pico
- Programmer le Raspberry Pi Pico pour collecter des données du capteur de mouvement HC-SR501
- Utiliser le Raspberry Pi Pico et le capteur de mouvement pour détecter la présence humaine

Préparation du matériel
| 1 | × | Raspberry Pi Pico W | |
| 1 | × | Raspberry Pi Pico Alternativement: | |
| 1 | × | Câble Micro USB | |
| 1 | × | Capteur de mouvement HC-SR501 | |
| 1 | × | Fils de connexion | |
| 1 | × | Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico |
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de mouvement HC-SR501

Le capteur PIR HC-SR501 est un détecteur de mouvement qui peut détecter les mouvements humains ou animaux. Il est utilisé dans de nombreuses applications, notamment :
- Éclairage automatique : Allumer et éteindre les lumières en fonction du mouvement.
- Contrôle des portes : Ouverture et fermeture automatiques.
- Contrôle des escaliers mécaniques : Activation ou désactivation des escaliers mécaniques.
- Systèmes de sécurité : Détection des intrus.
Plan de brochage
Le capteur de mouvement HC-SR501 a trois broches.
- Broche GND : Connectez à GND (0 V).
- Broche VCC : Connectez à VCC (5 V).
- Broche OUTPUT : Émet un signal bas lorsque aucun mouvement n'est détecté et un signal haut lorsqu'un mouvement est détecté. Connectez cette broche à une broche d'entrée sur l'ESP32.
Le HC-SR501 est équipé d'un cavalier et de deux potentiomètres qui permettent d'ajuster ses réglages. Pour plus de détails, reportez-vous à l'Utilisations avancées du capteur de mouvement.

Comment cela fonctionne
Le capteur HC-SR501 détecte le mouvement en détectant les changements dans le rayonnement infrarouge. Pour que le capteur soit déclenché, un objet doit remplir deux conditions:
- Il doit être en mouvement.
- Il doit émettre un rayonnement infrarouge.
En conséquence :
- Les objets en mouvement qui n'émettent pas de rayonnement infrarouge (comme un jouet robot) ne seront pas détectés.
- Des objets qui émettent un rayonnement infrarouge mais restent immobiles (comme une personne qui reste immobile*) ne seront pas détectés.
Les humains et les animaux émettent naturellement des rayons infrarouges, ce qui les rend détectables par le capteur.
Comportement de la broche de sortie:
- Aucun mouvement: Lorsqu'aucune personne ou aucun animal n'est dans la plage de détection du capteur, la broche de sortie reste à l'état bas.
- Mouvement détecté: Lorsqu'une personne ou un animal entre dans la plage de détection, la broche de sortie passe de bas à haut.
- Mouvement terminé: Lorsque la personne ou l'animal quitte la plage de détection, la broche de sortie revient de haut à bas.
La vidéo explique le fonctionnement de base du capteur de mouvement. Dans des situations réelles, son fonctionnement peut différer légèrement en fonction de ses réglages, comme indiqué dans la section Utilisations avancées.
Raspberry Pi Pico - Capteur de mouvement HC-SR501
Lorsque vous configurez une broche du Raspberry Pi Pico comme entrée numérique, elle peut indiquer si l’objet connecté est dans un état bas ou haut.
Connectez la broche du Raspberry Pi Pico à la broche de sortie du capteur HC-SR501. Ensuite, utilisez du code sur le Raspberry Pi Pico pour lire l'état de la broche de sortie et détecter le mouvement.
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Paramètre initial
| Time Delay Adjuster | Screw it in anti-clockwise direction fully. |
| Detection Range Adjuster | Screw it in clockwise direction fully. |
| Repeat Trigger Selector | Put jumper as shown on the image. |

Comment programmer un capteur de mouvement
- Configurer une broche du Raspberry Pi Pico en mode d'entrée numérique.
- Lire l'état de la broche de sortie du capteur.
Code du Raspberry Pi Pico
Étapes rapides
Veuillez suivre ces instructions étape par étape :
- Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
- Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
- Si c'est la première fois que vous utilisez un Raspberry Pi Pico, consultez le tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
- Connectez le Raspberry Pi Pico au capteur de mouvement HC-SR501 selon le schéma fourni.
- Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Thonny sur votre ordinateur.
- Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en vous rendant dans Outils Options.
- Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
- Assurez-vous que le port correct est sélectionné. L'IDE Thonny devrait détecter automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sur Windows ou /dev/ttyACM0 sur Linux).
- Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
- Enregistrez le script sur votre Raspberry Pi Pico en:
- Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, vous verrez deux sections : Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico
- Enregistrez le fichier sous main.py
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
- Approchez votre main du capteur.
- Consultez le message dans le Shell en bas de Thonny.
Si vous nommez votre script main.py et que vous le sauvegardez dans le répertoire racine du Raspberry Pi Pico, il s'exécutera automatiquement à chaque fois que le Pico sera alimenté ou réinitialisé. Cela est utile pour les applications autonomes qui doivent commencer à s'exécuter immédiatement après la mise sous tension. Si vous nommez votre script avec un autre nom que main.py, vous devrez l’exécuter manuellement depuis le shell de Thonnys.
Vidéo
Utilisations avancées
Nous pouvons modifier les paramètres du capteur en utilisant un cavalier et deux potentiomètres, comme expliqué précédemment.
Réglage de la portée de détection
Ce potentiomètre règle la plage de détection (d'environ 3 mètres à 7 mètres).
- Lorsqu'il est tourné complètement dans le sens des aiguilles d'une montre, la distance de détection est d'environ 3 mètres.
- Lorsqu'il est tourné complètement dans le sens antihoraire, la distance de détection est d'environ 7 mètres.

Nous pouvons ajuster les réglages du potentiomètre pour obtenir une distance comprise entre 3 mètres et 7 mètres.
Régleur de délai
Ce bouton modifie le temps de retard.
- Si vous le faites tourner complètement dans le sens des aiguilles d'une montre, le délai sera d'environ 5 minutes.
- Si vous le faites tourner complètement dans le sens inverse des aiguilles d'une montre, le délai sera d'environ 3 secondes.
Ensuite, nous décrirons ce qu'est le délai temporel et sa connexion à Repeat Trigger.

Sélecteur de répétition du déclencheur
Ce cavalier de pontage permet de choisir un mode de déclenchement : déclenchement unique ou déclenchement répété.

Nous appellerons le réglage de délai (que vous pouvez modifier à l'aide de l'ajusteur de délai) time_delay. Imaginez-vous en train de vous déplacer dans la zone de détection du capteur pendant une longue période, que nous appellerons motion_time (ceci est plus long que time_delay).
- En mode déclenchement unique, la broche OUTPUT passe de LOW à HIGH à plusieurs reprises. Elle reste HIGH pendant une durée appelée "time_delay" et LOW pendant une période constante de 3 secondes.

- La broche OUTPUT reste en état haut pendant la durée du temps de mouvement plus le délai supplémentaire.

Tests
Essayons les différents réglages de déclenchement. Tout d'abord, tournez le régleur de délai complètement sur la gauche pour régler le temps de retard à 3 secondes.
- Mode de déclenchement unique :
- Réglez le cavalier pour le mode de déclenchement unique.
- Déplacez votre main devant le capteur pendant 10 secondes.
- Retirez votre main de la zone du capteur.
- Attendez 3 secondes, puis regardez le moniteur série pour voir les résultats.
- Mode déclencheur répétable :
- Placez le cavalier pour démarrer le mode déclencheur répétable.
- Continuez à déplacer votre main devant le capteur pendant 10 secondes.
- Retirez votre main du capteur.
- Attendez 3 secondes, puis regardez le moniteur série pour afficher la sortie.
- Les dispositifs ou machines s'allument généralement lorsqu'ils détectent une personne à proximité.
- Les dispositifs ou machines ne s'éteignent pas immédiatement lorsque la personne s'éloigne. Ils s'éteignent après un court délai.
En mode de déclenchement unique, le capteur s'allume deux ou trois fois. En mode de déclenchement répétable, il s'allume une seule fois.
※ Note:
Pendant une période d'inactivité de 3 secondes, le capteur ne peut pas détecter de mouvement. Cela signifie qu'il n'est pas actif, mais cela ne pose généralement pas de problèmes.
Il est recommandé d'utiliser le mode de déclenchement répétable.
Dans les usages pratiques :