ESP32 - Capteur de mouvement
Ce tutoriel explique comment détecter la présence humaine à l'aide d'un capteur de mouvement HC-SR501 et d'un ESP32 avec MicroPython. En détail, nous allons apprendre :
- Comment fonctionne le capteur de mouvement HC-SR501
- Comment écrire du code MicroPython pour l’ESP32 afin de lire l’état du capteur de mouvement HC-SR501

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 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 capable de détecter le déplacement d’êtres humains ou d’animaux. Il est couramment utilisé dans diverses applications, telles que :
- Éclairage automatique : Allumer et éteindre les lumières en réponse au mouvement.
- Contrôle des portes : Ouverture et fermeture automatiques des portes.
**Contrôle des escaliers mécaniques : Activation ou désactivation des escaliers mécaniques.
- Systèmes de sécurité : Détection d'intrusions.
Schéma des broches
Le capteur de mouvement HC-SR501 comprend trois broches.
- Broche GND : Connecter à la masse (0 V).
- Broche VCC : Connecter à l'alimentation (5 V).
- Broche de sortie : Émet un signal bas lorsque aucun mouvement n'est détecté et un signal haut lorsque le mouvement est détecté. Connectez cette broche à une broche d'entrée sur l'ESP32.
Le capteur HC-SR501 dispose d'un cavalier et de deux potentiomètres qui vous permettent d'ajuster ses réglages. Pour plus de détails, consultez Utilisations avancées du capteur de mouvement.

Comment ça fonctionne
Le capteur HC-SR501 détecte les mouvements en détectant les variations du rayonnement infrarouge. Pour que le capteur puisse détecter un objet, deux conditions doivent être réunies :
- L'objet doit être en mouvement.
- L'objet doit émettre un rayonnement infrarouge.
Par conséquent :
- Des objets qui bougent mais n'émettent pas de rayons infrarouges (comme certains jouets) ne seront pas détectés.
- Des objets qui émettent des rayons infrarouges mais ne bougent pas (comme une personne immobile) ne seront pas détectés.
Puisque les humains et les animaux émettent du rayonnement infrarouge, le capteur peut détecter leurs mouvements.
Comportement de la broche de sortie:
- Pas de mouvement : Lorsqu'aucune personne ou aucun animal n'est dans la plage de détection du capteur, la broche de sortie reste 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é : Lorsqu'une personne ou un animal sort de la plage de détection, la broche de sortie passe de HAUT à BAS.
La vidéo montre comment le capteur de mouvement fonctionne généralement. Dans des situations réelles, son fonctionnement peut légèrement varier en fonction de ses réglages, comme expliqué dans la section Utilisations avancées.
ESP32 - Capteur de mouvement HC-SR501
Lorsque vous configurez une broche de l'ESP32 en entrée numérique, elle peut détecter si l'objet connecté est dans un état bas ou haut.
Connectez la broche de l'ESP32 à la broche de sortie du capteur HC-SR501. Ensuite, programmez l'ESP32 pour surveiller la valeur de la broche de sortie et détecter le mouvement.
Diagramme de câblage
- Comment connecter l'ESP32 et le capteur de mouvement en utilisant breadboard (alimenté via un câble USB)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et le capteur de mouvement en utilisant breadboard (alimenté via la broche Vin)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et le capteur de mouvement en utilisant carte d'extension à bornes à vis (alimenté par un câble USB)

- Comment connecter l'ESP32 et le capteur de mouvement en utilisant un module breakout de borniers à vis (alimenté via la broche Vin)

Réglage 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 pour un capteur de mouvement
- Configurer une broche ESP32 en entrée numérique.
- Vérifiez l'état de la broche de sortie du capteur.
Code MicroPython pour ESP32
Étapes rapides
Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :
- Assurez-vous que Thonny IDE est installé sur votre ordinateur.
- Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
- Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 MicroPython Getting Started pour des instructions étape par étape.
- Connectez votre carte ESP32 au capteur de mouvement HC-SR501 comme indiqué dans le schéma.
- Utilisez un câble USB pour connecter votre carte ESP32 à votre ordinateur.
- Ouvrez Thonny IDE sur votre ordinateur.
- Dans Thonny IDE, allez dans Outils Options.
- Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
- Assurez-vous que le port correct est sélectionné. Thonny IDE détecte généralement automatiquement, mais vous pourriez avoir besoin de le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
- Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre ESP32 en:
- En cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, choisissez le périphérique MicroPython.
- Nommez le fichier main.py.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Agitez votre main devant le capteur.
- Consultez le message dans la Shell en bas de Thonny IDE pour voir la sortie.