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 :

  1. Un circuit connectant un capteur de mouvement HC-SR501 et un module relais à l'ESP32 S3
  2. Un croquis qui active le relais quand un mouvement est détecté et le désactive quand la zone se libère
  3. Un système qui peut commuter des charges haute tension comme des lampes, des sirènes, ou des ventilateurs via le relais
  4. 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.

À 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.

ESP32 S3 Motion Sensor Relay Wiring Diagram

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.

ESP32 S3 Motion Sensor Relay Wiring Diagram (Screw Terminal)

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 :

ESP32 S3 Motion Sensor Relay Wiring Diagram (GPIO Breakout Board)

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.

ESP32 S3 motion sensor initial setting
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.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-motion-sensor-relay */ // MotionSensorRelay.cpp // ESP32-S3 - Motion sensor (HC-SR501) controls a relay // Wiring: HC-SR501 OUTPUT -> GPIO42, Relay IN -> GPIO9 #define SENSOR_PIN 42 // HC-SR501 OUTPUT (was D5) #define RELAY_PIN 9 // Relay IN (was D7) int lastState = LOW; void setup() { Serial.begin(115200); pinMode(SENSOR_PIN, INPUT); pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Ensure relay is off delay(100); Serial.println("[INFO] MotionSensorRelay initialized."); } void loop() { int state = digitalRead(SENSOR_PIN); if (state != lastState) { if (state == HIGH) { digitalWrite(RELAY_PIN, HIGH); // Turn relay on Serial.println("[INFO] Motion detected - Relay: ON"); } else { digitalWrite(RELAY_PIN, LOW); // Turn relay off Serial.println("[INFO] Motion stopped - Relay: OFF"); } lastState = state; } delay(50); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câblez les composants en suivant le schéma de câblage montré ci-dessus.
  3. Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
  4. Ouvrez Arduino IDE sur votre PC.
  5. Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
  6. Copiez le code ci-dessus et collez-le dans Arduino IDE.
  7. Cliquez sur le bouton Upload pour compiler et téléverser le code vers l'ESP32 S3.
Arduino IDE Upload Code
  1. Déplacez votre main devant le capteur HC-SR501.
  2. Observez le relais s'activer (vous entendrez un clic) quand un mouvement est détecté.
  3. Arrêtez de bouger et observez le relais se désactiver après l'expiration du délai du capteur.
  4. 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.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 09:14:22] Motion detected - Relay: ON [2026-06-16 09:14:30] Motion stopped - Relay: OFF [2026-06-16 09:14:45] Motion detected - Relay: ON [2026-06-16 09:14:53] Motion stopped - Relay: OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

  1. É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.
  2. 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.
  3. 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.
  4. É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.
  5. 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.
  6. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !