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 :

  1. Un circuit connectant le capteur de porte magnétique à l'ESP32 S3
  2. Un code Arduino qui lit l'état du capteur et détecte les conditions de porte ouverte et de porte fermée
  3. Un code Arduino qui détecte les événements de transition d'ouverture et de fermeture de porte
  4. Une sortie du Serial Monitor montrant les résultats de l'état de la porte en temps réel
ESP32 S3 - Capteur de Porte

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

Brochage du Capteur de Porte
  1. Aimant : La partie mobile — fixez-la à la porte ou à la fenêtre elle-même
  2. 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.

Schéma de Câblage Capteur de Porte ESP32 S3

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

pinMode(2, INPUT_PULLUP);

Étape 2 : Lire l'État de la Porte

int doorState = digitalRead(2);

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.

/* * 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 */ /* * 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 */ #define DOOR_SENSOR_PIN 2 // ESP32-S3 pin GPIO2 connected to door sensor's pin int doorState; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32-S3 pin to input pull-up mode } void loop() { doorState = digitalRead(DOOR_SENSOR_PIN); // read state if (doorState == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Étapes Rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Suivez le schéma de câblage ci-dessus pour connecter l'interrupteur à lame souple du capteur de porte à l'ESP32 S3.
  3. Connectez votre ESP32 S3 à votre ordinateur via USB Type-C.
  4. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  5. Sélectionnez votre carte ESP32 S3 dans le menu Tools > Board.
  6. Cliquez sur le bouton Upload dans l'Arduino IDE pour transférer le code.
  7. Ouvrez le Serial Monitor en cliquant sur son icône ou en appuyant sur Ctrl+Shift+M.
  8. Réglez le débit en bauds sur 115200 dans le menu déroulant du Serial Monitor.
  9. Approchez l'aimant de l'interrupteur à lame souple, puis éloignez-le, et observez la sortie.
  10. 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 :

∞
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-03-10 08:45:01] The door is open [2026-03-10 08:45:02] The door is open [2026-03-10 08:45:03] The door is closed [2026-03-10 08:45:04] The door is closed [2026-03-10 08:45:05] The door is closed [2026-03-10 08:45:06] The door is open [2026-03-10 08:45:07] The door is open
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

/* * 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 */ /* * 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 */ #define DOOR_SENSOR_PIN 2 // ESP32-S3 pin GPIO2 connected to door sensor's pin int currentDoorState; // current state of door sensor int lastDoorState; // previous 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 currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == LOW && currentDoorState == HIGH) { // state change: LOW -> HIGH Serial.println("The door-opening event is detected"); // TODO: turn on alarm, light or send notification ... } else if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // TODO: turn off alarm, light or send notification ... } }

Étapes Rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Suivez le schéma de câblage ci-dessus pour connecter l'interrupteur à lame souple du capteur de porte à l'ESP32 S3.
  3. Connectez votre ESP32 S3 à votre ordinateur via USB Type-C.
  4. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  5. Sélectionnez votre carte ESP32 S3 dans le menu Tools > Board.
  6. Cliquez sur le bouton Upload dans l'Arduino IDE pour transférer le code.
  7. Ouvrez le Serial Monitor et réglez le débit en bauds sur 115200.
  8. Approchez l'aimant de l'interrupteur à lame souple puis éloignez-le pour déclencher les deux événements.
  9. 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 :

∞
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-03-10 08:46:12] The door-closing event is detected [2026-03-10 08:46:15] The door-opening event is detected [2026-03-10 08:46:20] The door-closing event is detected [2026-03-10 08:46:24] The door-opening event is detected
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

  1. 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.
  2. 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é.
  3. 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.
  4. 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.
  5. Garde de Sécurité Enfant : Alertez les parents quand une porte interdite (comme un garage ou un portail extérieur) est ouverte.
  6. É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.

  1. Débutant : Ajoutez une LED qui s'allume chaque fois que la porte est ouverte et s'éteint quand elle est fermée.
  2. 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.
  3. Intermédiaire : Ajoutez un buzzer qui sonne pendant 2 secondes chaque fois qu'un événement d'ouverture de porte est détecté.
  4. Intermédiaire : Affichez l'état actuel de la porte (OPEN / CLOSED) sur un écran OLED ou LCD en temps réel.
  5. 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.
  6. 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.

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 !