ESP32 S3 - Capteur de mouvement - LED
Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur de mouvement PIR HC-SR501 pour contrôler automatiquement une LED en fonction du mouvement détecté. En câblant un capteur infrarouge passif à une entrée GPIO et une LED à une sortie GPIO, vous comprendrez concrètement comment réagir à des événements de mouvement réels avec un indicateur visuel sur l'ESP32 S3.
Ce que vous allez construire :
- Un circuit reliant un capteur de mouvement PIR HC-SR501 et une LED à l'ESP32 S3
- Un sketch qui lit en continu la broche de sortie du capteur de mouvement sur l'ESP32 S3
- Un système qui allume automatiquement la LED lorsqu'un mouvement est détecté et l'éteint en l'absence de mouvement
- Une base pour construire des alarmes activées par mouvement, des systèmes d'éclairage automatique et des projets de détection de présence
Matériel nécessaire
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) |
Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.
À propos de la LED et du capteur de mouvement
Le capteur de mouvement PIR HC-SR501 et une LED forment une association efficace pour construire des projets de détection de mouvement sur l'ESP32 S3. Le capteur détecte les changements de rayonnement infrarouge causés par une personne ou un animal se déplaçant dans son champ de vision, produit un signal HIGH sur sa broche de données, et l'ESP32 S3 lit ce signal pour allumer ou éteindre la LED via une sortie GPIO numérique.
Spécifications clés
Nous avons des tutoriels dédiés couvrant chaque composant en détail. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, la connexion de câblage à l'ESP32 S3 et le code Arduino. Apprenez-en plus grâce aux liens suivants :
Schéma de câblage
Connectez le capteur de mouvement et la LED à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez toutes les connexions avant de mettre sous tension, en faisant particulièrement attention à la polarité de la LED et au placement de la résistance de limitation de courant de 220 ohms.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous préférez une plaque d'essai ? Placez la LED et sa résistance de 220 ohms sur une plaque d'essai et câblez-les ainsi :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Si vous comptez garder ce circuit, pensez aux borniers à vis. La carte ESP32 S3 se branche sur une carte à bornier à vis pour ESP32 S3, qui transforme chaque broche en bornier à vis. Le câblage ne change pas. Les fils vont simplement aux borniers à vis, comme ci-dessous.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Une autre solution est une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a une broche de signal avec une broche 3,3V et une broche GND à côté, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Consignes de sécurité
Incluez toujours la résistance de limitation de courant de 220 ohms en série avec la LED pour éviter de tirer un courant excessif à travers la broche GPIO de l'ESP32 S3, ce qui pourrait endommager le microcontrôleur de façon permanente. Le capteur de mouvement HC-SR501 nécessite une tension d'alimentation entre 5V et 20V sur sa broche VCC ; utilisez la broche de sortie 5V disponible sur la carte ESP32 S3 pour alimenter le capteur, tout en gardant la ligne de signal de sortie du capteur à un niveau compatible avec l'entrée GPIO 3,3V de l'ESP32 S3.
Réglage initial
| Réglage de la portée de détection | vissez-le complètement dans le sens horaire. |
| Réglage du délai | vissez-le complètement dans le sens antihoraire. |
| Sélecteur de déclenchement répété | placez le cavalier comme sur l'image ci-dessous. |

Code ESP32 S3
Le code suivant lit la broche de sortie du capteur de mouvement HC-SR501 sur l'ESP32 S3 et allume immédiatement la LED lorsqu'un mouvement est détecté, puis l'éteint une fois que la sortie du capteur revient à LOW. Le potentiomètre de délai intégré au capteur contrôle combien de temps la sortie reste à HIGH après la détection d'un mouvement, vous pouvez donc ajuster ce réglage matériel pour changer la durée de maintien de la LED sans modifier le code.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants en suivant le schéma de câblage présenté ci-dessus.
- Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le code sur l'ESP32 S3.

- Déplacez votre main devant le capteur de mouvement.
- Observez la LED s'allumer lorsque le mouvement est détecté.
- Restez immobile et observez la LED s'éteindre après l'expiration du délai du capteur.
- Consultez le Serial Monitor pour voir l'état du mouvement affiché en direct.
- Astuce : ajustez les deux potentiomètres intégrés du HC-SR501 - le potentiomètre de sensibilité définit la portée de détection (jusqu'à environ 7 mètres) et le potentiomètre de délai définit combien de temps la sortie reste à HIGH après l'arrêt du mouvement, donc ajustez les deux pour votre environnement d'installation spécifique avant de finaliser votre projet.
Sortie du Serial Monitor
La sortie du Serial Monitor suivante montre l'ESP32 S3 lisant les données de mouvement du capteur HC-SR501 en temps réel. Chaque ligne affiche l'état actuel du mouvement et l'état correspondant de la LED déclenché par la sortie du capteur.
Applications et idées de projets
Une fois que vous pouvez déclencher une LED à partir d'un capteur de mouvement sur l'ESP32 S3, vous pouvez étendre ce modèle à un large éventail de projets activés par mouvement et de détection de présence.
- Éclairage automatique de pièce : allumez une lumière contrôlée par relais lorsque quelqu'un entre dans une pièce et éteignez-la automatiquement après l'expiration du délai.
- Système d'alerte de sécurité : remplacez la LED par un buzzer piézo ou une sirène connectée par relais pour déclencher une alarme sonore chaque fois qu'un mouvement est détecté dans une zone restreinte.
- Caméra activée par mouvement : utilisez le signal de détection de mouvement pour déclencher un module caméra ou envoyer une notification afin de capturer des images lorsqu'une présence est détectée.
- Affichage économe en énergie : réveillez un écran OLED ou LCD de sa veille uniquement lorsque quelqu'un approche de l'appareil, économisant de l'énergie dans les projets alimentés par batterie.
- Moniteur d'activité d'animal domestique : suivez quand et à quelle fréquence un animal se déplace dans une zone spécifique en enregistrant les événements de mouvement avec des horodatages sur une carte SD.
- Sonnette intelligente : détectez quand quelqu'un approche de la porte d'entrée et déclenchez un buzzer, envoyez une notification par email, ou enregistrez l'événement sur un serveur web.
Tutoriel vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que vous pouvez contrôler une LED avec un capteur de mouvement sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et construire des systèmes de détection de mouvement plus performants.
- Débutant : ajoutez un message dans le Serial Monitor qui affiche la date et l'heure exactes (en utilisant millis() comme compteur) chaque fois qu'un mouvement est détecté pour la première fois, afin de suivre les événements de détection au cours d'une session.
- Débutant : ajoutez une seconde LED câblée sur une autre broche GPIO et faites-la clignoter rapidement tandis que la LED principale reste allumée fixement, offrant un motif visuel distinct pour indiquer une détection de mouvement active.
- Intermédiaire : ajoutez un bouton-poussoir qui permet à l'utilisateur d'activer ou de désactiver la fonction de détection de mouvement en cours d'exécution, la LED indiquant l'état actuel d'activation/désactivation en l'absence de mouvement.
- Intermédiaire : connectez un afficheur OLED I2C à l'ESP32 S3 et affichez un compteur en direct du nombre d'événements de mouvement survenus au cours de la session actuelle, ainsi que l'état de détection actuel.
- Avancé : envoyez un email ou un message MQTT à une plateforme domotique chaque fois que le capteur de mouvement est déclenché, en utilisant la connexion Wi-Fi de l'ESP32 S3 pour rapporter les événements à distance.
- Avancé : construisez un système de détection de mouvement multi-zones utilisant deux capteurs HC-SR501 sur des broches GPIO séparées, et utilisez la combinaison de leurs sorties pour déterminer la direction du mouvement à travers la zone surveillée.