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 :
- Un circuit ESP32 S3 avec un capteur de porte et un relais câblés à la carte
- Un programme qui bascule l'état du relais à chaque fermeture de la porte
- Une sortie sur le moniteur série confirmant chaque basculement en temps réel
- 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

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.
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 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 :
- ESP32 S3 - Relais - Apprenez les bases du relais, son brochage et son câblage
- ESP32 S3 - Capteur de Porte - Comprenez la lecture du capteur de porte et la configuration de la résistance de tirage (pull-up)
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.

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.

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 :

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.
É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 présenté ci-dessus.
- Connectez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Ouvrez l'Arduino IDE et sélectionnez la bonne carte ESP32 S3 et le bon port COM.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le programme vers l'ESP32 S3.
- Approchez l'aimant de l'interrupteur à lame souple, puis éloignez-le. Répétez cela plusieurs fois.
- Observez le changement d'état du relais à chaque fermeture de la porte (l'aimant s'approche de l'interrupteur à lame souple).
- 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 :
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.
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.
- É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.
- 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.
- 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.
- 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é.
- 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.
- 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.
- 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é.
- 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.
- 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.
- 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.
- 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.
- 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.