ESP32 S3 - Module LDR
Le module capteur de lumière LDR est un composant simple mais puissant pour détecter et mesurer les niveaux de lumière avec votre ESP32 S3. Ce tutoriel pour débutants vous guide à travers la connexion et la programmation du module LDR pour percevoir la lumière ambiante dans des projets réels.
Dans ce tutoriel, nous allons apprendre à utiliser ensemble un ESP32 S3 et un module capteur de lumière LDR pour détecter et mesurer la quantité de lumière. Ce que vous allez construire :
- Comprendre ce qu'est un module capteur de lumière LDR et comment il fonctionne
- Câbler le module capteur de lumière LDR à votre ESP32 S3
- Programmer l'ESP32 S3 pour détecter la lumière en utilisant la broche de sortie numérique (DO)
- Programmer l'ESP32 S3 pour mesurer les niveaux de lumière en utilisant la broche de sortie analogique (AO)

Par la suite, vous pouvez modifier le code pour faire allumer une LED ou une ampoule (en utilisant un relais) lorsqu'il détecte de la lumière.
Si vous vous intéressez à un capteur de lumière dans sa forme brute, je vous suggère d'explorer le tutoriel pour le ESP32 S3 - Capteur de Lumière.
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 module capteur de lumière LDR
Le module capteur de lumière LDR est un capteur numérique et analogique qui détecte et mesure l'intensité de la lumière ambiante dans votre environnement. Il combine une résistance dépendante de la lumière avec un circuit de conditionnement du signal embarqué, ce qui le rend simple à utiliser avec l'ESP32 S3 sans composants supplémentaires. Le potentiomètre intégré vous permet d'ajuster finement le seuil de détection pour l'adapter à vos conditions d'éclairage spécifiques.
Caractéristiques principales
Le module fonctionne avec une tension d'alimentation entre 3,3V et 5V, ce qui le rend directement compatible avec la logique GPIO 3,3V de l'ESP32 S3. Il fournit deux types de sortie — une sortie numérique (DO) et une sortie analogique (AO) — afin que vous puissiez choisir une détection par seuil ou une mesure continue du niveau de lumière selon votre projet. Une LED d'alimentation et une LED d'état sont incluses sur la carte pour une surveillance d'un coup d'œil, et le format compact s'adapte facilement sur un breadboard standard.
Brochage
Le module capteur de lumière LDR expose quatre broches pour la connexion à votre ESP32 S3 :
- VCC : Broche d'alimentation — connectez-la au 3,3V de l'ESP32 S3
- GND : Broche de masse — connectez-la à GND sur l'ESP32 S3
- DO : Broche de sortie numérique — produit HIGH quand il fait sombre, LOW quand c'est lumineux (seuil ajustable via le potentiomètre embarqué)
- AO : Broche de sortie analogique — produit une tension variable proportionnelle à l'intensité lumineuse (valeur plus basse = lumière plus vive)

De plus, le module capteur de lumière LDR est équipé de deux indicateurs LED :
- L'indicateur PWR-LED indique l'état de l'alimentation.
- L'indicateur DO-LED reflète l'état de la lumière sur la broche DO : il s'allume lorsqu'il y a de la lumière et reste éteint lorsqu'il fait sombre.
Comment ça marche
Concernant la broche DO :
- Le module capteur de lumière LDR possède un potentiomètre qui vous permet d'ajuster la sensibilité ou le seuil de détection de la lumière.
- Lorsque l'intensité lumineuse dans l'environnement ambiant est supérieure au seuil défini (considérée comme de la lumière), la sortie du capteur sur la broche DO devient LOW, et la DO-LED s'allume.
- Lorsque l'intensité lumineuse dans l'environnement ambiant est inférieure au seuil défini (considérée comme sombre), la sortie du capteur sur la broche DO devient HIGH, et la DO-LED s'éteint.
Concernant la broche AO :
- La valeur lue sur la broche AO est inversement proportionnelle à l'intensité lumineuse dans l'environnement ambiant. En d'autres termes, lorsque l'intensité lumineuse augmente (plus lumineux), la valeur sur la broche AO diminue.
- De la même manière, lorsque l'intensité lumineuse diminue (plus sombre), la valeur sur la broche AO augmente.
Il est important de noter qu'ajuster le potentiomètre n'affecte pas la valeur sur la broche AO.
Schéma de câblage
Connectez le module capteur de lumière LDR à votre ESP32 S3 en faisant correspondre chaque broche du module à la broche ESP32 S3 correspondante comme montré dans le schéma ci-dessous. Vous pouvez utiliser la sortie numérique (DO), la sortie analogique (AO), ou les deux simultanément selon les besoins de votre projet.
Notes de sécurité
Connectez toujours la broche VCC au rail 3,3V de l'ESP32 S3 plutôt qu'au rail 5V pour rester dans la tolérance de tension GPIO de la carte. Vérifiez bien que GND est partagé entre le module et la carte avant la mise sous tension, car une masse flottante produira des lectures erratiques.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du module LDR | Broche ESP32 S3 |
|---|---|
| VCC | 3.3V |
| GND | GND |
| DO | GPIO7 |
| AO | GPIO8 (GPIO8 / ADC1_CH7) |
Code ESP32 S3 - Lire la valeur depuis la broche DO
Le code suivant démontre comment lire la sortie numérique du module capteur de lumière LDR à l'aide de l'ESP32 S3. Il configure une broche GPIO en entrée numérique, lit le signal HIGH ou LOW produit par le capteur, et affiche l'état actuel de la lumière sur le Serial Monitor. Le seuil de détection est défini en tournant le potentiomètre embarqué sur le module lui-même.
Étapes rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants : Connectez le module capteur de lumière LDR à l'ESP32 S3 selon le schéma de câblage montré ci-dessus.
- Connectez l'ESP32 S3 : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Sélectionnez la carte : Ouvrez l'Arduino IDE et sélectionnez la carte ESP32 S3 et son port COM correspondant.
- Téléversez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload pour téléverser le code sur l'ESP32 S3.
- Testez le capteur : Couvrez et découvrez le module capteur de lumière LDR avec votre main ou un objet pour tester la détection de lumière.
- Voir les résultats : Ouvrez le Serial Monitor pour voir l'état de détection de la lumière en temps réel.
- Ajustez la sensibilité : Si nécessaire, tournez le potentiomètre sur le module pour ajuster le seuil de détection de la lumière.
- Astuce pro : Marquez la position du potentiomètre une fois que vous trouvez le réglage de sensibilité parfait pour vos conditions d'éclairage.
Si vous observez que l'état de la LED reste constamment allumé ou éteint, indépendamment de la présence de lumière, vous avez la possibilité d'ajuster le potentiomètre. Cet ajustement vous permet de régler finement la sensibilité à la lumière du capteur.
De plus, le code peut être modifié selon vos besoins. Par exemple, vous pouvez programmer la LED pour s'activer ou la lumière pour s'allumer lorsque de la lumière est détectée. De plus, vous avez la possibilité de faire tourner un servomoteur. Des instructions détaillées et des tutoriels sur ces options de personnalisation se trouvent à la fin de ce guide.
Code ESP32 S3 - Lire la valeur depuis la broche AO
Le code suivant montre comment lire les valeurs analogiques du module capteur de lumière LDR pour des mesures continues et précises du niveau de lumière. L'ADC 12 bits de l'ESP32 S3 produit des lectures de 0 à 4095, où les valeurs plus basses correspondent à une lumière plus vive et les valeurs plus hautes correspondent à des conditions plus sombres. Cette approche est utile lorsque vous devez suivre des changements progressifs d'éclairage plutôt qu'un simple seuil clair/sombre.
Étapes rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Téléversez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
- Testez le capteur : Couvrez et découvrez le module capteur de lumière LDR avec votre main ou déplacez-le dans différentes conditions d'éclairage.
- Surveillez les valeurs : Ouvrez le Serial Monitor pour voir les lectures analogiques du niveau de lumière.
- Observez les changements : Remarquez comment les valeurs augmentent quand vous bloquez la lumière et diminuent quand vous exposez le capteur à plus de lumière.
- Astuce pro : Notez les valeurs minimale et maximale de votre environnement pour les convertir en plages significatives comme des pourcentages ou des niveaux de lux.
※ Note:
Ce tutoriel utilise la fonction analogRead() pour lire des valeurs depuis un ADC (convertisseur analogique-numérique) connecté à un capteur ou un composant. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent pas une grande précision. Cependant, pour les projets nécessitant des mesures précises, gardez ceci à l'esprit :
- L'ADC de l'ESP32 S3 n'est pas parfaitement précis et pourrait nécessiter un calibrage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, donc un calibrage est nécessaire pour chaque carte individuelle.
- Le calibrage peut être difficile, en particulier pour les débutants, et pourrait ne pas toujours donner exactement les résultats que vous souhaitez.
Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3 ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui possède un ADC plus fiable. Si vous voulez tout de même calibrer l'ADC de l'ESP32 S3, consultez le pilote de calibrage ADC ESP32.
Idées d'applications
Le module capteur de lumière LDR s'associe bien à l'ESP32 S3 pour une large gamme de projets réels qui réagissent intelligemment aux conditions de lumière ambiante.
- Veilleuse automatique : Allumez automatiquement les lumières lorsqu'il commence à faire sombre dans votre pièce.
- Contrôleur de rideau intelligent : Ouvrez ou fermez les rideaux en fonction de l'intensité de la lumière du soleil.
- Traqueur de panneau solaire : Optimisez la position d'un panneau solaire pour faire face à la source de lumière la plus vive.
- Système d'économie d'énergie : Éteignez automatiquement les lumières inutiles lorsque la lumière naturelle est suffisante.
- Moniteur de croissance des plantes : Suivez l'exposition à la lumière pour les plantes d'intérieur et les jardins.
- Système de sécurité : Détectez quand les lumières sont allumées ou éteintes dans les zones surveillées.
- Posemètre photographique : Mesurez la lumière ambiante pour les réglages d'appareil photo.
Tutoriel vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Ces défis sont conçus pour vous aider à aller plus loin avec l'ESP32 S3 et le module capteur de lumière LDR, en progressant depuis des gains rapides vers des constructions plus poussées.
- Débutant : Ajoutez une LED qui s'allume lorsque la pièce est sombre et s'éteint lorsqu'elle est lumineuse.
- Débutant : Affichez « Bright », « Medium » ou « Dark » sur le Serial Monitor selon différentes plages de valeurs analogiques.
- Intermédiaire : Contrôlez un servomoteur pour qu'il tourne en fonction des niveaux d'intensité lumineuse.
- Intermédiaire : Créez une alarme activée par la lumière qui déclenche un buzzer lorsque de la lumière est détectée.
- Avancé : Construisez un enregistreur de données qui enregistre les niveaux de lumière avec horodatage sur une carte SD.
- Avancé : Créez un système d'arrosage automatique de plantes qui n'arrose que lorsque les niveaux de lumière sont optimaux.