ESP32 S3 - Un capteur de porte bascule un relais

Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur de porte magnétique pour basculer l'état d'un relais chaque fois que la porte est fermée. À chaque fermeture de la porte, lorsque l'aimant s'approche de l'interrupteur à lame souple, le relais bascule vers son état opposé — un modèle polyvalent pour construire des circuits d'automatisation pilotés par capteur.

Ce que vous allez construire :

  1. Un circuit ESP32 S3 avec un capteur de porte et un relais câblés à la carte
  2. Un programme qui bascule l'état du relais à chaque fermeture de la porte
  3. Une sortie sur le moniteur série confirmant chaque basculement en temps réel
  4. Un modèle réutilisable pour contrôler des appareils haute tension tels que des lampes, des ventilateurs et des solénoïdes via des événements de porte
ESP32 S3 - Un capteur de porte bascule un relais

Nous pouvons étendre ce tutoriel pour utiliser le capteur de porte afin de contrôler un ruban de LED, une sirène, une ampoule ou un actionneur en les connectant au relais.

À propos du relais et du capteur de porte

Un relais et un capteur de porte magnétique sont deux composants hautement complémentaires pour les projets d'automatisation ESP32 S3. Le capteur de porte fournit un signal numérique propre chaque fois que la porte passe d'un état ouvert à fermé ou inversement, tandis que le relais agit comme un interrupteur isolé électriquement capable de contrôler en toute sécurité des charges haute tension ou fort courant bien au-delà de ce que les broches GPIO de l'ESP32 S3 peuvent piloter directement. Ensemble, ils permettent d'automatiser facilement des appareils réels en réponse à des événements d'entrée physique.

Spécifications clés

Pour une couverture détaillée de chaque composant, consultez les tutoriels dédiés liés ci-dessous :

Schéma de câblage

Connectez l'interrupteur à lame souple du capteur de porte et le module relais à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez chaque connexion avant de mettre sous tension, en portant une attention particulière aux bornes de sortie haute tension du relais.

Schéma de câblage capteur de porte bascule relais ESP32 S3

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Les fils de connexion peuvent se débrancher quand vous déplacez le projet. Pour cela, montez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3. Voir le schéma ci-dessous pour la version avec borniers à vis.

Schéma de câblage capteur de porte bascule relais ESP32 S3 (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voici le même circuit avec une carte d'extension GPIO pour ESP32 S3, qui relie chaque GPIO à des connecteurs à broches :

Schéma de câblage capteur de porte bascule relais ESP32 S3 (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Notes de sécurité

Les bornes COM, NO et NC du relais se connectent au côté haute tension de votre circuit. Gardez tout le câblage secteur physiquement séparé du câblage de contrôle basse tension, et assurez-vous que les conducteurs dénudés sont entièrement isolés avant de mettre le circuit sous tension. Si vous n'êtes pas sûr concernant le câblage haute tension, utilisez une charge DC basse tension comme un ruban LED 12V ou un solénoïde pour les tests initiaux avant de connecter un équipement secteur.

Composant Broche Broche ESP32 S3
Capteur de porte Fil 1 (interrupteur à lame souple) GND
Capteur de porte Fil 2 (interrupteur à lame souple) GPIO7
Relais DC- GND
Relais DC+ 5V
Relais IN GPIO10

Code ESP32 S3 - Le capteur de porte bascule le relais

Le code suivant lit l'interrupteur à lame souple du capteur de porte à chaque itération de la boucle, détecte un événement de fermeture de porte (une transition de HIGH à LOW sur la broche d'entrée), et inverse la variable de sortie du relais avant d'écrire le nouvel état sur la broche du relais. Aucune bibliothèque externe n'est requise — la logique repose entièrement sur les fonctions Arduino intégrées et la résistance de tirage interne (pull-up) de l'ESP32 S3.

/* * 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-door-sensor-toggle-relay */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-door-sensor-toggle-relay */ #define DOOR_SENSOR_PIN 7 // ESP32-S3 pin GPIO7 connected to door sensor's pin #define RELAY_PIN 10 // ESP32-S3 pin GPIO10 connects to the IN pin of relay // variables will change: int relayState = LOW; // the current state of relay int lastDoorState; // the previous state of door sensor int currentDoorState; // the current state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32-S3 pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set ESP32-S3 pin to output mode currentDoorState = digitalRead(DOOR_SENSOR_PIN); } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected, toggles state of relay"); // toggle state of relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

É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 présenté ci-dessus.
  3. Connectez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
  4. Ouvrez l'Arduino IDE et sélectionnez la bonne carte ESP32 S3 et le bon port COM.
  5. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  6. Cliquez sur le bouton Upload pour compiler et téléverser le programme vers l'ESP32 S3.
  7. Approchez l'aimant de l'interrupteur à lame souple, puis éloignez-le. Répétez cela plusieurs fois.
  8. Observez le changement d'état du relais à chaque fermeture de la porte (l'aimant s'approche de l'interrupteur à lame souple).
  9. Astuce pro : Si le relais bascule plus d'une fois par événement de fermeture de porte, vérifiez qu'il n'y a pas de connexion magnétique lâche ou instable — même de petits mouvements de l'aimant peuvent produire plusieurs transitions si les contacts de l'interrupteur à lame souple sont à la limite de leur plage d'activation.

Explication du code ligne par ligne

Le code ESP32 S3 ci-dessus contient une explication ligne par ligne dans les commentaires. Veuillez lire attentivement ces commentaires !

Dans le code, relayState = !relayState est équivalent au code suivant :

if(relayState == LOW) relayState = HIGH; else relayState = LOW;

Sortie du moniteur série

Ouvrez le moniteur série à 115200 bauds après le téléversement pour observer en temps réel les basculements du relais déclenchés par la fermeture de la porte. La sortie ci-dessous montre ce à quoi vous devez vous attendre lorsque la porte est ouverte et fermée plusieurs fois.

∞
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
ESP32 S3 - Door Sensor Toggle Relay ==================================== [2026-06-16 09:12:01] Door closed → Relay: ON [2026-06-16 09:12:08] Door closed → Relay: OFF [2026-06-16 09:12:15] Door closed → Relay: ON [2026-06-16 09:12:22] Door closed → Relay: OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

Une fois que vous maîtrisez le contrôle d'un relais basculé par un capteur de porte avec l'ESP32 S3, vous pouvez appliquer ce modèle à un large éventail de projets pratiques de sécurité et de domotique.

  1. Éclairage automatisé de pièce : Basculez un plafonnier contrôlé par relais qui s'allume à chaque fermeture de la porte de la chambre et s'éteint à l'ouverture.
  2. Buzzer d'entrée : Déclenchez une sirène ou un buzzer alimenté par relais à chaque fermeture d'une porte pour avertir les occupants des événements d'entrée.
  3. Protection énergétique du réfrigérateur : Basculez un relais pour couper l'alimentation d'un second réfrigérateur si la porte a été fermée plus d'un certain nombre de fois sur une courte période.
  4. Contrôleur de serrure à solénoïde : Basculez une serrure à solénoïde entre les états verrouillé et déverrouillé à chaque fermeture de porte pour un système d'accès sans clé.
  5. Ventilation d'atelier : Basculez automatiquement un ventilateur de refroidissement 12V à chaque fermeture d'une porte d'armoire d'atelier pour maintenir la circulation d'air autour des équipements générant de la chaleur.
  6. Alarme de sécurité : Basculez un voyant d'avertissement 12V chaque fois que la porte est fermée en dehors des heures ouvrables pour signaler un accès non autorisé.

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 basculer un relais avec un capteur de porte sur l'ESP32 S3, essayez ces extensions progressivement plus exigeantes pour approfondir votre compréhension de l'automatisation pilotée par capteur.

  1. Débutant : Modifiez le programme pour afficher l'état actuel du relais (ON ou OFF) sur le moniteur série chaque fois qu'un événement de fermeture de porte est détecté.
  2. Débutant : Ajoutez un voyant LED câblé en parallèle avec la broche IN du relais afin d'obtenir un retour visuel de l'état du relais sans avoir besoin du moniteur série.
  3. Intermédiaire : Ajoutez un compteur qui suit le nombre total de basculements du relais depuis la mise sous tension et affichez-le sur le moniteur série à côté de chaque événement de basculement.
  4. Intermédiaire : Implémentez un relais temporisé — le relais s'allume (ON) lorsque la porte se ferme mais s'éteint (OFF) automatiquement après 30 secondes, quels que soient les événements de porte suivants.
  5. Avancé : Construisez une version compatible Wi-Fi à l'aide de l'interface sans fil de l'ESP32 S3 afin de pouvoir surveiller l'état du relais et les événements de porte depuis un navigateur en temps réel.
  6. Avancé : Enregistrez chaque événement de basculement avec un horodatage et le nouvel état du relais sur une carte SD afin de disposer d'un enregistrement persistant de l'activité de la porte au fil du temps.

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 !