ESP32 S3 - Capteur de mouvement
Apprenez à détecter un mouvement avec votre ESP32 S3 et le capteur de mouvement PIR HC-SR501. Ce tutoriel adapté aux débutants vous guide à travers tout ce dont vous avez besoin pour construire des projets de détection de mouvement fiables avec la carte ESP32 S3.
Ce que vous allez construire :
- Un circuit reliant le capteur de mouvement HC-SR501 à l'ESP32 S3
- Un code Arduino qui lit le capteur et détecte les événements de début et de fin de mouvement
- Une sortie du Moniteur Série affichant les résultats de détection de mouvement en temps réel
- Une base que vous pouvez étendre avec des lumières, des alarmes ou des automatisations domotiques

Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de mouvement HC-SR501

Le HC-SR501 est un capteur PIR (infrarouge passif) qui détecte le mouvement en percevant les changements de rayonnement infrarouge émis par les objets chauds. Il fournit un signal numérique simple — HIGH lorsqu'un mouvement est détecté et LOW lorsque le champ est dégagé — ce qui le rend facile à lire avec n'importe quelle broche d'entrée numérique de l'ESP32 S3.
Spécifications clés
Le HC-SR501 fonctionne avec une alimentation 5V et fournit un signal numérique HIGH ou LOW pour indiquer l'état de mouvement. Sa portée de détection atteint jusqu'à 7 mètres grâce à un potentiomètre de sensibilité ajustable, et un second potentiomètre contrôle la durée pendant laquelle la sortie reste à HIGH après un événement de détection. Un cavalier permet de choisir entre les modes de déclenchement unique et répétable, vous offrant une flexibilité pour différents besoins d'application. Le capteur est peu coûteux et largement pris en charge, ce qui en fait un choix populaire aussi bien pour les débutants que pour les professionnels.
Brochage du capteur de mouvement HC-SR501
Le HC-SR501 expose trois broches pour l'alimentation et le signal, plus deux potentiomètres embarqués et un cavalier de mode.

- VCC : Connectez à une alimentation 5V
- GND : Connectez à la masse (0V)
- OUTPUT : Connectez à une broche d'entrée numérique de l'ESP32 S3 — la sortie est LOW lorsqu'aucun mouvement n'est détecté, HIGH lorsqu'un mouvement est détecté
- Réglage de la portée de détection : Potentiomètre pour ajuster la distance de détection
- Réglage du délai : Potentiomètre pour définir la durée pendant laquelle la sortie reste à HIGH après une détection
- Sélecteur de déclenchement répété : Cavalier pour choisir entre les modes de déclenchement unique ou répétable
Comment fonctionne le capteur de mouvement HC-SR501
Le HC-SR501 détecte le mouvement en percevant les changements de rayonnement infrarouge émis par des objets chauds comme les personnes et les animaux. Lorsqu'un objet se déplace dans le champ de vision du capteur, l'élément pyroélectrique enregistre un changement dans le motif infrarouge et fait passer la broche OUTPUT à HIGH.
Pour qu'une détection se produise, l'objet doit émettre un rayonnement infrarouge et doit être en mouvement ou changer de position. Une personne traversant la pièce déclenchera fiablement le capteur, alors qu'une personne parfaitement immobile pourrait ne pas être détectée. De même, un robot ou un véhicule en mouvement qui n'émet pas d'énergie infrarouge significative passera inaperçu.
La vidéo ci-dessus montre comment le capteur de mouvement HC-SR501 réagit au mouvement en temps réel.
Détecter la présence humaine
Le HC-SR501 déduit la présence humaine à partir du mouvement plutôt que de détecter une personne directement. Lorsque le capteur perçoit un mouvement, vous pouvez raisonnablement conclure que quelqu'un est présent ; lorsque le mouvement s'arrête, la personne a peut-être quitté les lieux ou simplement fait une pause.
Cette approche indirecte a une limitation pratique : une personne présente mais parfaitement immobile ne sera pas détectée, ce qui peut produire des faux négatifs dans certains scénarios. Malgré cela, le capteur est très efficace pour l'éclairage automatique, les alarmes de sécurité et les appareils économiseurs d'énergie où le mouvement actif est le déclencheur clé.
ESP32 S3 et le capteur de mouvement HC-SR501
En connectant le HC-SR501 à l'ESP32 S3, vous obtenez un système de détection de mouvement simple mais puissant. L'ESP32 S3 lit la broche numérique OUTPUT du capteur et peut répondre en contrôlant des lumières, en déclenchant des alarmes, en enregistrant des événements ou en envoyant des notifications sans fil — tout cela sur une seule carte compacte.
Schéma de câblage
Connectez le capteur de mouvement HC-SR501 à votre ESP32 S3 comme indiqué dans le schéma ci-dessous. Le capteur nécessite une alimentation 5V pour un fonctionnement fiable, utilisez donc le rail 5V de l'ESP32 S3 plutôt que le rail 3,3V.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
Alimentez toujours le HC-SR501 depuis la broche 5V de l'ESP32 S3, jamais depuis le 3,3V, car une tension d'alimentation insuffisante entraîne une détection erratique ou inexistante. Le signal OUTPUT du capteur est sûr pour les broches GPIO de l'ESP32 S3 car la tension de sortie du capteur est compatible avec les seuils d'entrée. Gardez le capteur à l'écart des bouches de chaleur et de la lumière directe du soleil pendant les tests, car de fortes sources infrarouges ambiantes peuvent provoquer de fausses détections.
| HC-SR501 Pin | ESP32 S3 Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| OUTPUT | GPIO19 |
Réglages initiaux du capteur
Avant d'utiliser le HC-SR501, configurez ces réglages pour des performances optimales.

| Setting | Configuration |
|---|---|
| Réglage de la portée de détection | Vissez entièrement dans le sens horaire (portée minimale pour les tests) |
| Réglage du délai | Vissez entièrement dans le sens antihoraire (délai minimal) |
| Sélecteur de déclenchement répété | Positionnez le cavalier comme indiqué dans l'image ci-dessus |
Comment programmer le capteur de mouvement
Programmer l'ESP32 S3 pour lire le HC-SR501 ne nécessite que quelques lignes de code Arduino. L'idée centrale est de suivre l'état précédent de la broche du capteur et de le comparer à l'état actuel à chaque itération de la boucle, afin de détecter le moment exact où le mouvement commence ou s'arrête.
Étape 1 : Configurer la broche de l'ESP32 S3 en entrée
Étape 2 : Lire l'état de sortie du capteur
Étape 3 : Détecter le début du mouvement (LOW vers HIGH)
Étape 4 : Détecter la fin du mouvement (HIGH vers LOW)
Code ESP32 S3
Le code suivant surveille le capteur de mouvement HC-SR501 et signale chaque événement de début et de fin de mouvement dans le Moniteur Série. Il configure la broche D5 comme entrée numérique, suit en continu les transitions d'état de LOW à HIGH et inversement, et affiche un message descriptif pour chaque événement — vous donnant un journal clair en temps réel de l'activité devant le capteur.
Étapes rapides
- Nouveau avec l'ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Sélectionnez votre carte ESP32 S3 dans le menu Tools > Board.
- Connectez votre ESP32 S3 à votre ordinateur via USB Type-C.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour transférer le code.
- Ouvrez le Moniteur Série en cliquant sur son icône ou en appuyant sur Ctrl+Shift+M.
- Réglez le débit en bauds sur 115200 dans le menu déroulant du Moniteur Série.
- Passez votre main devant le capteur HC-SR501 et observez la sortie.
- Astuce pro : Commencez avec les potentiomètres réglés à la sensibilité et au délai minimum, puis augmentez-les progressivement pour ajuster la portée de détection et le minutage adaptés à votre environnement.
Sortie du Moniteur Série
Lorsque vous vous déplacez devant le capteur, vous verrez une sortie similaire à la suivante :
Idées de projets
Le HC-SR501 associé à l'ESP32 S3 ouvre la porte à un large éventail d'applications pratiques, de l'automatisation simple aux systèmes domotiques connectés.
- Éclairage automatique de pièce : Allumez les lumières lorsqu'un mouvement est détecté et éteignez-les automatiquement une fois la pièce silencieuse.
- Système d'alerte de sécurité : Envoyez des notifications push ou déclenchez une alarme sonore lorsqu'un intrus est détecté.
- Économiseur d'énergie : Éteignez automatiquement les écrans ou appareils lorsque personne n'est présent dans la pièce.
- Distributeur intelligent pour animaux : Détectez quand votre animal approche de la station d'alimentation et distribuez de la nourriture à la demande.
- Compteur de visiteurs : Enregistrez le nombre de personnes entrant dans une pièce ou un bâtiment au fil du temps.
- Accessoires d'Halloween : Déclenchez des sons effrayants ou des décorations mobiles lorsque quelqu'un approche.
Vidéo tutoriel
Regardez ci-dessous la vidéo pas à pas de ce projet ESP32 S3.
Défiez-vous
Une fois que votre capteur de mouvement fonctionne, essayez ces défis pour repousser vos compétences ESP32 S3 plus loin — en commençant par des ajouts adaptés aux débutants et en progressant vers des fonctionnalités connectées plus avancées.
- Débutant : Ajoutez une LED qui s'allume lorsqu'un mouvement est détecté et s'éteint lorsqu'il s'arrête.
- Débutant : Comptez et affichez le nombre total d'événements de mouvement détectés depuis la mise sous tension de la carte.
- Intermédiaire : Ajoutez un buzzer qui sonne une alarme pendant 3 secondes chaque fois qu'un mouvement est détecté.
- Intermédiaire : Utilisez le capteur pour contrôler un relais qui allume et éteint une lampe de bureau.
- Avancé : Combinez le capteur de mouvement avec un écran OLED pour afficher l'horodatage du dernier événement de détection.
- Avancé : Créez un système de sécurité intelligent qui envoie des alertes par email lorsqu'un mouvement est détecté hors des heures programmées.