ESP32 S3 - Capteur de porte - Basculer une LED

Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur de porte magnétique pour basculer une LED à chaque fermeture de la porte. En câblant un capteur de porte à base d'interrupteur reed à une entrée GPIO et une LED à une sortie GPIO, vous obtiendrez une compréhension pratique de la détection des changements d'état de porte et de la réponse par un indicateur visuel basculé sur l'ESP32 S3.

Ce que vous allez construire :

  1. Un circuit connectant un capteur de porte magnétique et une LED à l'ESP32 S3
  2. Un sketch qui surveille en continu la broche de sortie du capteur de porte sur l'ESP32 S3
  3. Un système qui bascule l'état de la LED à chaque fermeture de la porte, alternant entre allumé et éteint à chaque événement de fermeture
  4. Une base pour construire des alarmes activées par porte, des compteurs d'entrées et des projets de surveillance d'accès

Matériel Requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de porte
1×LED Kit
1×LED (red)
1×LED Module
1×Alternativement: Button and LED Kit
1×220Ω Resistor
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

À propos de la LED et du capteur de porte

Un capteur de porte magnétique associe un élément interrupteur reed à un aimant permanent pour détecter si une porte ou une fenêtre est ouverte ou fermée. Lorsque l'aimant est rapproché de l'interrupteur reed, les contacts de l'interrupteur se ferment et tirent la broche GPIO de l'ESP32 S3 à LOW ; lorsque l'aimant est éloigné, les contacts s'ouvrent et la broche revient à HIGH. L'ESP32 S3 détecte cette transition et bascule l'état de la LED à chaque événement de fermeture, faisant alterner la LED entre allumée et éteinte à chaque fermeture de porte.

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 du 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 porte et la LED à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez bien toutes les connexions avant de mettre sous tension, en portant une attention particulière à la polarité de la LED et à l'emplacement de la résistance limiteuse de courant de 220 ohms.

ESP32 S3 Door Sensor Toggle LED Wiring Diagram

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

Avec une plaque d'essai, la LED et la résistance de 220 ohms se placent comme ci-dessous :

ESP32 S3 Door Sensor Toggle LED Wiring Diagram (plaque d'essai)

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

Si le projet doit fonctionner longtemps ou être placé dans un boîtier, il vaut mieux fixer les fils avec des vis. Dans ce cas, utilisez une carte à bornier à vis pour ESP32 S3. La carte ESP32 S3 s'y branche et chaque broche a un bornier à vis. Voir le schéma ci-dessous pour la version avec borniers à vis.

ESP32 S3 Door Sensor Toggle LED Wiring Diagram (Screw Terminal)

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

Ou branchez la carte ESP32 S3 sur une carte d'extension GPIO pour ESP32 S3. Le même câblage ressemble alors à ceci :

ESP32 S3 Door Sensor Toggle LED Wiring Diagram (GPIO Breakout Board)

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

Notes de sécurité

Incluez toujours la résistance limiteuse de courant de 220 ohms en série avec la LED pour éviter de tirer un courant excessif à travers la broche GPIO de l'ESP32 S3, ce qui pourrait endommager définitivement le microcontrôleur. Le capteur de porte magnétique est un interrupteur reed passif qui consomme un courant négligeable et peut être connecté directement à n'importe quelle entrée numérique GPIO de l'ESP32 S3 avec la résistance de tirage vers le haut interne activée dans le micrologiciel.

Code ESP32 S3

Le code suivant surveille le capteur de porte connecté à l'ESP32 S3 et bascule l'état de la LED à chaque fermeture de la porte. Le sketch utilise la détection de front pour ne répondre qu'au front descendant du signal du capteur — le moment où la porte passe de l'état ouvert à l'état fermé — garantissant que la LED bascule exactement une fois par fermeture plutôt que continuellement tant que la porte reste fermée.

/* * 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-led */ /* * 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-led */ #define DOOR_SENSOR_PIN 2 // ESP32-S3 pin GPIO2 connected to door sensor's pin #define LED_PIN 38 // ESP32-S3 pin GPIO38 connected to LED's pin // variables will change: int ledState = LOW; // the current state of LED 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(LED_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 the state of LED"); // toggle state of LED ledState = !ledState; // control LED arccoding to the toggled state digitalWrite(LED_PIN, ledState); } }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Terminez 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 sur l'ESP32 S3.
Arduino IDE Upload Code
  1. Approchez l'aimant de l'interrupteur reed puis éloignez-le. Répétez cette opération plusieurs fois.
  2. Observez l'état de la LED basculer à chaque fois que l'aimant est rapproché (porte fermée).
  3. Consultez le Serial Monitor pour voir l'état de la porte et l'état de la LED affichés en direct en temps réel.
  4. Astuce : Dans le code, ledState = !ledState est une façon concise d'inverser la LED entre HIGH et LOW. C'est exactement équivalent à vérifier l'état actuel avec un bloc if/else et à assigner la valeur opposée — utilisez ce motif chaque fois que vous devez basculer une variable booléenne dans vos sketchs ESP32 S3.

Sortie du Serial Monitor

La sortie suivante du Serial Monitor montre l'ESP32 S3 lisant les données du capteur de porte en temps réel. Chaque ligne affiche l'état actuel de la porte et l'état correspondant de la LED basculé par l'événement de fermeture du capteur.

∞
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:01] Door: OPEN | LED: OFF [2026-06-16 09:14:03] Door: CLOSED → LED toggled: ON [2026-06-16 09:14:06] Door: OPEN | LED: ON [2026-06-16 09:14:09] Door: CLOSED → LED toggled: OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

Une fois que vous pouvez basculer une LED à partir d'un capteur de porte sur l'ESP32 S3, vous pouvez étendre ce modèle à un large éventail de projets de surveillance de porte et de contrôle d'accès.

  1. Compteur d'entrées : Incrémentez un compteur à chaque fermeture de la porte et affichez le nombre total d'entrées sur un écran OLED ou LCD connecté à l'ESP32 S3.
  2. Système d'alerte de sécurité : Remplacez la LED par un buzzer piézo ou une sirène connectée par relais qui s'active lorsque la porte est ouverte de manière inattendue, fournissant une alerte sonore d'intrusion.
  3. Journal d'accès à une armoire : Enregistrez chaque événement d'ouverture et de fermeture de porte avec un horodatage sur une carte SD afin de pouvoir consulter un historique d'accès à une armoire ou un boîtier sécurisé.
  4. Notification intelligente : Utilisez la connexion Wi-Fi de l'ESP32 S3 pour envoyer un e-mail ou un message MQTT à une plateforme de domotique chaque fois que le capteur de porte détecte un événement d'ouverture ou de fermeture.
  5. Éclairage automatisé : Basculez une lumière contrôlée par relais à chaque ouverture de la porte d'une pièce de stockage, afin que la lumière s'allume lorsque vous entrez et s'éteigne lorsque vous partez, sans avoir besoin d'un interrupteur mural.
  6. Surveillance de sécurité enfant : Alertez un parent via un buzzer ou une notification web chaque fois qu'une porte vers une zone restreinte — comme une armoire à pharmacie ou un garage — est ouverte.

Tutoriel vidéo

Regardez ci-dessous le tutoriel vidéo étape par étape de ce projet ESP32 S3.

Relevez le défi

Maintenant que vous pouvez basculer une LED en utilisant un capteur de porte sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et construire des systèmes de surveillance de porte plus performants.

  1. Débutant : Ajoutez un message dans le Serial Monitor qui affiche un compte courant du nombre de fois où la porte a été fermée depuis la dernière mise sous tension de l'ESP32 S3.
  2. Débutant : Ajoutez une seconde LED câblée à une broche GPIO différente qui reflète directement l'état de la porte — allumée quand la porte est fermée et éteinte quand elle est ouverte — pendant que la première LED continue de basculer à chaque événement de fermeture.
  3. Intermédiaire : Ajoutez un bouton poussoir qui remet la LED à OFF et remet à zéro un compteur de fermetures de porte sans avoir besoin de redémarrer l'ESP32 S3.
  4. Intermédiaire : Connectez un écran OLED I2C à l'ESP32 S3 et affichez un compteur en direct des événements de fermeture de porte à côté de l'état actuel de la LED, en mettant à jour l'affichage en temps réel.
  5. Avancé : Envoyez un e-mail ou un message MQTT à une plateforme de domotique chaque fois que le capteur de porte se ferme, en utilisant la connexion Wi-Fi de l'ESP32 S3 pour signaler les événements de porte à distance.
  6. Avancé : Construisez un système de surveillance multi-portes utilisant deux capteurs de porte sur des broches GPIO séparées et affichez l'état de chaque porte sur un LCD, en basculant des LED indépendantes pour chaque porte.

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 !