ESP32 S3 - Capteur de Porte
Apprenez à détecter les états de porte et de fenêtre avec votre ESP32 S3 et un capteur de porte magnétique. Ce tutoriel pour débutants vous guide à travers tout ce dont vous avez besoin pour surveiller de façon fiable les événements d'ouverture et de fermeture en utilisant la carte ESP32 S3.
Ce que vous allez construire :
- Un circuit connectant le capteur de porte magnétique à l'ESP32 S3
- Un code Arduino qui lit l'état du capteur et détecte les conditions de porte ouverte et de porte fermée
- Un code Arduino qui détecte les événements de transition d'ouverture et de fermeture de porte
- Une sortie du Serial Monitor montrant les résultats de l'état de la porte en temps réel

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 Porte
Le capteur de porte (aussi connu sous le nom de capteur d'entrée, capteur de contact, ou capteur de fenêtre) est largement utilisé dans les applications de sécurité et de domotique pour détecter si une entrée telle qu'une porte ou une fenêtre est ouverte ou fermée. Il se compose de deux composants séparés — un aimant et un interrupteur à lame souple (reed switch) — qui travaillent ensemble pour fournir un signal numérique simple et fiable à l'ESP32 S3.
Spécifications Clés
Le capteur de porte est un dispositif passif à deux fils qui ne nécessite aucune alimentation externe propre. L'interrupteur à lame souple est un interrupteur magnétique normalement ouvert ou normalement fermé qui change d'état quand l'aimant qui l'accompagne s'approche. Comme le capteur se comporte électriquement exactement comme un bouton ou un interrupteur, la résistance de pull-up interne de l'ESP32 S3 suffit pour le lire de façon fiable sur n'importe quelle broche d'entrée numérique.
Brochage du Capteur de Porte
Le capteur de porte a deux composants qui doivent être installés ensemble pour un fonctionnement correct.

- Aimant : La partie mobile — fixez-la à la porte ou à la fenêtre elle-même
- Interrupteur à Lame Souple (deux fils) : La partie fixe — fixez-la au cadre de la porte ; connectez un fil à la GND et l'autre à une broche d'entrée de l'ESP32 S3 avec une résistance de pull-up
Comment Fonctionne le Capteur de Porte
L'aimant et l'interrupteur à lame souple sont installés sur le cadre de la porte ou de la fenêtre comme une paire assortie. L'aimant est fixé à la partie mobile (la porte), tandis que l'interrupteur à lame souple est fixé au cadre — les deux composants doivent être proches l'un de l'autre quand la porte est fermée.
Quand l'aimant est près de l'interrupteur à lame souple, les contacts internes de l'interrupteur se ferment, formant un circuit complet. Quand la porte s'ouvre et que l'aimant s'éloigne, les contacts s'ouvrent à nouveau, rompant le circuit. En connectant un fil de l'interrupteur à lame souple à la GND et l'autre à une broche d'entrée de l'ESP32 S3 configurée avec une résistance de pull-up, la broche lit LOW quand la porte est fermée et HIGH quand elle est ouverte.
※ Note:
Tout comme pour un ESP32 S3 - Bouton, vous DEVEZ utiliser une résistance de pull-up ou de pull-down sur la broche de l'ESP32 S3 connectée à l'interrupteur à lame souple pour éviter un état d'entrée flottant.
Donc :
- Si la broche d'entrée de l'ESP32 S3 est LOW, la porte est fermée
- Si la broche d'entrée de l'ESP32 S3 est HIGH, la porte est ouverte
- Si la broche d'entrée de l'ESP32 S3 passe de LOW à HIGH, la porte est en train de s'ouvrir
- Si la broche d'entrée de l'ESP32 S3 passe de HIGH à LOW, la porte est en train de se fermer
Schéma de Câblage
Connectez l'interrupteur à lame souple du capteur de porte à l'ESP32 S3 comme montré dans le schéma ci-dessous. Un fil de l'interrupteur à lame souple va à la GND et l'autre se connecte à une broche d'entrée numérique de l'ESP32 S3, qui utilise la résistance de pull-up interne de la carte pour maintenir un niveau logique défini quand l'interrupteur est ouvert.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de Sécurité
L'interrupteur à lame souple est un dispositif passif à basse tension et faible courant qui est sûr à connecter directement aux broches GPIO de l'ESP32 S3. Activez toujours la résistance de pull-up interne (INPUT_PULLUP) pour éviter une entrée flottante quand l'interrupteur est ouvert ; sans cela vous verrez des lectures erratiques et non fiables. Gardez les fils du capteur loin des lignes à courant élevé pour éviter le bruit électrique induit qui pourrait causer de faux déclenchements.
| Broche du Capteur de Porte | Broche ESP32 S3 |
|---|---|
| Fil 1 (interrupteur à lame souple) | GND |
| Fil 2 (interrupteur à lame souple) | GPIO2 |
Comment Programmer le Capteur de Porte
Programmer l'ESP32 S3 pour lire le capteur de porte reproduit l'approche utilisée pour un bouton ou un interrupteur. Les étapes clés sont d'initialiser la broche avec la résistance de pull-up interne, puis de lire l'état numérique à chaque itération de la boucle.
Étape 1 : Initialiser la Broche de l'ESP32 S3
Étape 2 : Lire l'État de la Porte
Code ESP32 S3 - Vérifier l'État d'Ouverture et de Fermeture de la Porte
Le code suivant lit en continu l'interrupteur à lame souple sur GPIO2 et affiche l'état actuel de la porte — ouverte ou fermée — sur le Serial Monitor à chaque cycle de boucle. Il configure la broche avec la résistance de pull-up interne, donc aucun composant externe n'est nécessaire au-delà des fils du capteur.
Étapes Rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Suivez le schéma de câblage ci-dessus pour connecter l'interrupteur à lame souple du capteur de porte à l'ESP32 S3.
- Connectez votre ESP32 S3 à votre ordinateur via USB Type-C.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Sélectionnez votre carte ESP32 S3 dans le menu Tools > Board.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour transférer le code.
- Ouvrez le Serial Monitor en cliquant sur son icône ou en appuyant sur Ctrl+Shift+M.
- Réglez le débit en bauds sur 115200 dans le menu déroulant du Serial Monitor.
- Approchez l'aimant de l'interrupteur à lame souple, puis éloignez-le, et observez la sortie.
- Astuce : Utilisez INPUT_PULLUP au lieu de INPUT pour éviter d'ajouter une résistance de pull-up externe — le pull-up intégré de l'ESP32 S3 s'en charge pour vous.
Sortie du Serial Monitor
Quand vous approchez et éloignez l'aimant de l'interrupteur à lame souple, vous verrez une sortie similaire à ce qui suit :
Code ESP32 S3 - Détecter les Événements d'Ouverture et de Fermeture de Porte
Le code suivant suit l'état précédent et actuel de l'interrupteur à lame souple pour détecter le moment exact où la porte passe de fermée à ouverte (un événement d'ouverture de porte) ou d'ouverte à fermée (un événement de fermeture de porte). Un seul message est affiché par événement, ce qui le rend idéal pour déclencher des actions comme des alarmes ou des journaux.
Étapes Rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Suivez le schéma de câblage ci-dessus pour connecter l'interrupteur à lame souple du capteur de porte à l'ESP32 S3.
- Connectez votre ESP32 S3 à votre ordinateur via USB Type-C.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Sélectionnez votre carte ESP32 S3 dans le menu Tools > Board.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour transférer le code.
- Ouvrez le Serial Monitor et réglez le débit en bauds sur 115200.
- Approchez l'aimant de l'interrupteur à lame souple puis éloignez-le pour déclencher les deux événements.
- Astuce : Utilisez l'événement d'ouverture de porte pour démarrer un minuteur et l'événement de fermeture de porte pour l'arrêter — cela vous permet de calculer combien de temps la porte est restée ouverte à chaque session.
Sortie du Serial Monitor
Quand des transitions de porte se produisent, vous verrez une sortie similaire à ce qui suit :
Applications
Le capteur de porte associé à l'ESP32 S3 permet une large gamme de projets pratiques de sécurité et de domotique, des simples alertes aux systèmes de maison intelligente intégrés.
- Alerte de Sécurité Domestique : Déclenchez un buzzer ou envoyez une notification push chaque fois qu'une porte ou une fenêtre est ouverte de façon inattendue.
- Sonnette Intelligente : Détectez quand une porte est ouverte et annoncez un événement d'entrée sur un haut-parleur ou un écran connecté.
- Moniteur d'Efficacité Énergétique : Suivez la fréquence et la durée pendant lesquelles les portes du réfrigérateur ou d'une armoire sont laissées ouvertes pour réduire le gaspillage d'énergie.
- Journal de Contrôle d'Accès : Enregistrez les horodatages des événements d'ouverture et de fermeture de porte sur une carte SD ou un serveur cloud pour des pistes d'audit.
- Garde de Sécurité Enfant : Alertez les parents quand une porte interdite (comme un garage ou un portail extérieur) est ouverte.
- Éclairage Automatisé : Allumez une lumière de pièce quand une porte s'ouvre et éteignez-la après que la porte a été fermée pendant un temps défini.
Tutoriel Vidéo
Regardez la vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Une fois que votre capteur de porte fonctionne, essayez ces défis pour approfondir vos compétences ESP32 S3 — en commençant par de simples ajouts et en progressant vers des fonctionnalités connectées plus avancées.
- Débutant : Ajoutez une LED qui s'allume chaque fois que la porte est ouverte et s'éteint quand elle est fermée.
- Débutant : Comptez et affichez sur le Serial Monitor le nombre total de fois où la porte a été ouverte depuis que la carte a été mise sous tension.
- Intermédiaire : Ajoutez un buzzer qui sonne pendant 2 secondes chaque fois qu'un événement d'ouverture de porte est détecté.
- Intermédiaire : Affichez l'état actuel de la porte (OPEN / CLOSED) sur un écran OLED ou LCD en temps réel.
- Avancé : Construisez un minuteur d'ouverture de porte qui mesure combien de secondes la porte reste ouverte à chaque fois et enregistre la session la plus longue sur le Serial Monitor.
- Avancé : Créez un système d'alerte connecté au Wi-Fi qui envoie une requête HTTP à un serveur de domotique chaque fois que l'état de la porte change.