ESP32 S3 - Capteur de mouvement - Relais
Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur de mouvement PIR HC-SR501 et un module relais pour allumer et éteindre automatiquement un appareil haute tension en fonction du mouvement détecté. À la fin, vous aurez une base solide pour construire des projets d'automatisation réels tels que des lumières activées par mouvement, des alarmes, et des systèmes de sécurité avec votre ESP32 S3.
Ce que vous allez construire :
- Un circuit connectant un capteur de mouvement HC-SR501 et un module relais à l'ESP32 S3
- Un croquis qui active le relais quand un mouvement est détecté et le désactive quand la zone se libère
- Un système qui peut commuter des charges haute tension comme des lampes, des sirènes, ou des ventilateurs via le relais
- Une base pour étendre vers l'automatisation de maison intelligente et des projets de sécurité
Nous pouvons étendre ce tutoriel pour utiliser le capteur de mouvement afin de contrôler un ruban LED, une sirène, une ampoule, ou un actionneur en les connectant au relais.
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 et du relais
Le capteur de mouvement PIR HC-SR501 et le module relais sont deux des blocs de construction les plus pratiques pour les projets de contrôle automatisé avec l'ESP32 S3. Le HC-SR501 délivre un signal numérique HIGH chaque fois qu'il détecte un mouvement provenant d'un objet chaud comme une personne ou un animal, tandis que le relais permet à l'ESP32 S3 de commuter en toute sécurité des charges haute tension ou fort courant qui endommageraient autrement directement les broches GPIO de la carte.
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 matériel, le principe de fonctionnement, la connexion de câblage à l'ESP32 S3, et le code Arduino. En savoir plus via les liens suivants :
Schéma de câblage
Connectez le capteur de mouvement HC-SR501 et le module relais à votre ESP32 S3 en suivant le schéma ci-dessous. Le capteur nécessite une alimentation 5V pour un fonctionnement fiable, donc utilisez 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.
Vous voulez que le câblage reste bien en place ? Pour cela, montez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3. Voici le schéma de câblage avec la carte à bornier à vis.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous pouvez aussi utiliser une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a ses propres broches S, 3,3V et GND, et les fils des modules s'y branchent directement :

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 conduit à une détection erratique ou inexistante. Côté relais, vérifiez que les bornes COM et NO (ou NC) sont bien fixées et qu'aucun fil dénudé n'est exposé avant de mettre sous tension — gardez le câblage de charge haute tension physiquement séparé du câblage de commande basse tension pour réduire le risque de contact accidentel.
| Composant | Broche | Broche ESP32 S3 |
|---|---|---|
| HC-SR501 | VCC | 5V |
| HC-SR501 | GND | GND |
| HC-SR501 | OUTPUT | GPIO42 |
| Relay | DC- | GND |
| Relay | DC+ | 5V |
| Relay | IN | GPIO9 |
Réglages initiaux du capteur
Avant d'utiliser le HC-SR501, configurez ces réglages pour des performances optimales pendant les tests initiaux.

| Réglage | Configuration |
|---|---|
| Detection Range Adjuster | Tourner complètement dans le sens horaire (portée minimale pour les tests) |
| Time Delay Adjuster | Tourner complètement dans le sens antihoraire (délai minimal) |
| Repeat Trigger Selector | Positionner le cavalier comme montré dans l'image ci-dessus |
Code ESP32 S3
Le code suivant lit la sortie du capteur de mouvement HC-SR501 connecté à l'ESP32 S3 et contrôle un relais en conséquence — activant le relais quand un mouvement est détecté et le désactivant quand la zone devient libre. Les transitions d'état sont suivies d'une boucle à l'autre afin que le relais ne réponde qu'aux changements d'état de mouvement plutôt que de basculer en continu.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants en suivant le schéma de câblage montré ci-dessus.
- Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
- Ouvrez 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 Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le code vers l'ESP32 S3.

- Déplacez votre main devant le capteur HC-SR501.
- Observez le relais s'activer (vous entendrez un clic) quand un mouvement est détecté.
- Arrêtez de bouger et observez le relais se désactiver après l'expiration du délai du capteur.
- Astuce pro : Ouvrez le Serial Monitor à 115200 bauds pour voir les messages de détection de mouvement et d'état du relais en temps réel — cela facilite grandement le débogage d'un comportement inattendu ou l'ajustement fin des potentiomètres de sensibilité et de délai du capteur.
Sortie du moniteur série
La sortie du Serial Monitor suivante montre l'ESP32 S3 répondant aux événements de détection et de libération de mouvement en temps réel. Chaque ligne est horodatée afin que vous puissiez vérifier le timing entre la détection et l'activation du relais.
Applications et idées de projets
Une fois que vous maîtrisez la commutation de relais contrôlée par mouvement avec l'ESP32 S3, vous pouvez étendre ce modèle à une large gamme de projets d'automatisation pratiques et de maison intelligente.
- Éclairage automatique de pièce : Allumez une lampe ou un ruban LED quand quelqu'un entre dans une pièce et éteignez-le automatiquement après son départ.
- Alarme activée par mouvement : Déclenchez une sirène 12V ou un voyant d'avertissement quand le capteur détecte un intrus hors des heures d'ouverture.
- Système de bureau économe en énergie : Coupez automatiquement l'alimentation des moniteurs, ventilateurs, ou machines à café quand aucun mouvement n'est détecté pendant une période définie.
- Éclairage d'escalier intelligent : Activez l'éclairage de l'escalier quand quelqu'un commence à monter et éteignez-le peu après qu'il atteigne le haut.
- Alerte de porte de garage : Utilisez le relais pour faire sonner un buzzer chaque fois qu'un mouvement est détecté près d'un véhicule ou d'un point d'entrée.
- Automatisation de serre : Activez un ventilateur de ventilation chaque fois qu'un technicien entre dans la zone de culture, assurant une circulation d'air fraîche à la demande.
Relais vs module MOSFET
Un relais n'est pas le seul moyen de commuter un appareil. Si votre appareil fonctionne en courant continu (DC), comme une bande LED 12V, une serrure à solénoïde 12V ou un ventilateur 12V, un module MOSFET peut faire le même travail.
| Relais | Module MOSFET | |
|---|---|---|
| Ce qu'il peut faire | allumer ou éteindre l'appareil | allumer ou éteindre l'appareil, et régler sa puissance (PWM) |
| Bruit à la commutation | un clic à chaque fois | aucun bruit |
| Vitesse de commutation | lente, quelques millisecondes | très rapide |
| Durée de vie | les contacts s'usent après de nombreuses commutations | rien ne bouge, donc il dure longtemps |
| Type d'alimentation | AC ou DC | DC uniquement |
| Alimentation de l'appareil | toute tension admise par le relais | environ 6V ou plus |
| Isolation de l'ESP32 S3 | oui, entre bobine et contacts | oui, par l'optocoupleur PC817 |
| Idéal pour | appareils AC, ou simple ON/OFF | appareils DC, ou variation de luminosité et de vitesse |
Le relais et le module MOSFET s'activent tous les deux quand la broche de l'ESP32 S3 est à l'état HIGH. Le niveau 3.3V de l'ESP32 S3 suffit largement, car la LED de l'optocoupleur PC817 n'a besoin que de quelques milliampères. Donc, pour un simple ON/OFF, le code ci-dessus reste le même. Seul le câblage change. Pour les appareils branchés sur le secteur AC, utilisez toujours le relais.
Pour connaître le brochage, le câblage, le code PWM et les conseils de sécurité du module MOSFET, consultez le tutoriel ESP32 S3 - Module MOSFET.
Tutoriel vidéo
Regardez la démonstration vidéo étape par étape de ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que vous pouvez contrôler un relais avec un capteur de mouvement sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et construire des projets plus performants.
- Débutant : Ajoutez un indicateur LED qui s'allume en même temps que le relais afin d'avoir une confirmation visuelle de la détection de mouvement sans avoir à écouter le clic du relais.
- Débutant : Modifiez le code pour afficher le nombre total d'événements de mouvement sur le Serial Monitor chaque fois qu'une nouvelle détection se produit.
- Intermédiaire : Implémentez une durée minimale d'activation afin que le relais reste actif pendant au moins 10 secondes après la détection d'un mouvement, même si le capteur se libère plus tôt.
- Intermédiaire : Ajoutez un second capteur HC-SR501 pour couvrir une zone plus large, activant le relais seulement quand l'un ou l'autre des capteurs détecte un mouvement.
- Avancé : Ajoutez un module d'horloge temps réel et restreignez l'activation du relais à des heures spécifiques, créant ainsi efficacement un système de sécurité activé par mouvement et programmé dans le temps.
- Avancé : Étendez le projet avec le WiFi afin que l'ESP32 S3 envoie un email ou une notification push chaque fois que le relais est activé par un mouvement.