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 :

  1. Comprendre ce qu'est un module capteur de lumière LDR et comment il fonctionne
  2. Câbler le module capteur de lumière LDR à votre ESP32 S3
  3. Programmer l'ESP32 S3 pour détecter la lumière en utilisant la broche de sortie numérique (DO)
  4. Programmer l'ESP32 S3 pour mesurer les niveaux de lumière en utilisant la broche de sortie analogique (AO)
ESP32 S3 - LDR Module

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

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×Module capteur de lumière LDR
1×Plaque d'essai
1×Fils de connexion
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.

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

  1. VCC : Broche d'alimentation — connectez-la au 3,3V de l'ESP32 S3
  2. GND : Broche de masse — connectez-la à GND sur l'ESP32 S3
  3. DO : Broche de sortie numérique — produit HIGH quand il fait sombre, LOW quand c'est lumineux (seuil ajustable via le potentiomètre embarqué)
  4. AO : Broche de sortie analogique — produit une tension variable proportionnelle à l'intensité lumineuse (valeur plus basse = lumière plus vive)
LDR Light Sensor Module Pinout
image source: diyables.io

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.

ESP32 S3 LDR Light Sensor Module wiring diagram

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.

/* * 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-ldr-module */ #define DO_PIN 7 // The ESP32 S3 pin connected to DO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int light_state = digitalRead(DO_PIN); if (light_state == HIGH) Serial.println("It is dark"); else Serial.println("It is light"); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. 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.
  3. Connectez l'ESP32 S3 : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
  4. Sélectionnez la carte : Ouvrez l'Arduino IDE et sélectionnez la carte ESP32 S3 et son port COM correspondant.
  5. 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.
  6. 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.
  7. Voir les résultats : Ouvrez le Serial Monitor pour voir l'état de détection de la lumière en temps réel.
  8. Ajustez la sensibilité : Si nécessaire, tournez le potentiomètre sur le module pour ajuster le seuil de détection de la lumière.
  9. Astuce pro : Marquez la position du potentiomètre une fois que vous trouvez le réglage de sensibilité parfait pour vos conditions d'éclairage.
∞
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
[14:02:11.324] It is light [14:02:11.826] It is light [14:02:12.331] It is dark [14:02:12.836] It is dark [14:02:13.341] It is dark [14:02:13.846] It is light [14:02:14.351] It is light [14:02:14.856] It is light
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

/* * 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-ldr-module */ #define AO_PIN 8 // The ESP32 S3 pin connected to AO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int light_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(light_value); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Téléversez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
  3. 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.
  4. Surveillez les valeurs : Ouvrez le Serial Monitor pour voir les lectures analogiques du niveau de lumière.
  5. 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.
  6. 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.
∞
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
[14:05:03.112] The AO value: 145 [14:05:03.614] The AO value: 146 [14:05:04.117] The AO value: 146 [14:05:04.619] The AO value: 572 [14:05:05.122] The AO value: 1678 [14:05:05.625] The AO value: 1945 [14:05:06.128] The AO value: 2956 [14:05:06.631] The AO value: 3001 [14:05:07.134] The AO value: 3098 [14:05:07.637] The AO value: 4005 [14:05:08.140] The AO value: 4005 [14:05:08.643] The AO value: 1645 [14:05:09.146] The AO value: 1546 [14:05:09.649] The AO value: 346 [14:05:10.152] The AO value: 172
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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

  1. Veilleuse automatique : Allumez automatiquement les lumières lorsqu'il commence à faire sombre dans votre pièce.
  2. Contrôleur de rideau intelligent : Ouvrez ou fermez les rideaux en fonction de l'intensité de la lumière du soleil.
  3. Traqueur de panneau solaire : Optimisez la position d'un panneau solaire pour faire face à la source de lumière la plus vive.
  4. Système d'économie d'énergie : Éteignez automatiquement les lumières inutiles lorsque la lumière naturelle est suffisante.
  5. Moniteur de croissance des plantes : Suivez l'exposition à la lumière pour les plantes d'intérieur et les jardins.
  6. Système de sécurité : Détectez quand les lumières sont allumées ou éteintes dans les zones surveillées.
  7. 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.

  1. Débutant : Ajoutez une LED qui s'allume lorsque la pièce est sombre et s'éteint lorsqu'elle est lumineuse.
  2. Débutant : Affichez « Bright », « Medium » ou « Dark » sur le Serial Monitor selon différentes plages de valeurs analogiques.
  3. Intermédiaire : Contrôlez un servomoteur pour qu'il tourne en fonction des niveaux d'intensité lumineuse.
  4. 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.
  5. Avancé : Construisez un enregistreur de données qui enregistre les niveaux de lumière avec horodatage sur une carte SD.
  6. Avancé : Créez un système d'arrosage automatique de plantes qui n'arrose que lorsque les niveaux de lumière sont optimaux.

Références des fonctions

Tutoriels connexes

※ 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 !