ESP32 - Module LDR

Le module de capteur de lumière LDR peut détecter et mesurer la lumière autour de lui. Il possède deux sorties : une sortie numérique qui peut être soit BASSE soit HAUTE, et une sortie analogique.

Dans ce tutoriel, nous apprendrons comment utiliser un ESP32 et un module capteur de lumière LDR ensemble pour détecter et mesurer la quantité de lumière. Voici ce que nous allons aborder :

Module capteur de lumière LDR
image source: diyables.io

Ensuite, 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 êtes intéressé par un capteur de lumière sous sa forme brute, je vous suggère d'explorer le tutoriel pour le ESP32 - Capteur de lumière.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×LDR Light Sensor Module
1×Breadboard
1×Jumper Wires
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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 de capteur de lumière LDR

Le module capteur de lumière LDR peut être utilisé pour déterminer s'il y a de la lumière ou quelle quantité de lumière se trouve dans la zone environnante. Il dispose d'une broche de sortie numérique et d'une broche de sortie analogique pour différentes options.

Brochage

Le module capteur de lumière LDR a quatre broches :

  • Broche VCC : Connectez cette broche à la source d'alimentation (entre 3,3V et 5V).
  • Broche GND : Connectez cette broche à la terre (0V).
  • Broche DO : C'est une broche de sortie numérique. Elle émet un signal HAUT quand il fait sombre et BAS quand il fait clair. Vous pouvez ajuster le seuil entre sombre et clair à l'aide d'un potentiomètre intégré.
  • Broche AO : C'est une broche de sortie analogique. La valeur diminue à mesure que la lumière devient plus brillante et augmente à mesure qu'elle devient plus sombre.
Module capteur de lumière LDR - Brochage
image source: diyables.io

De plus, le module de capteur de lumière LDR est équipé de deux indicateurs LED :

  • L'indicateur PWR-LED montre l'état de l'alimentation.
  • L'indicateur DO-LED reflète l'état de la lumière sur la broche DO : il s'illumine lorsqu'il y a de la lumière et reste éteint lorsqu'il fait sombre.

Comment ça fonctionne

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 au-dessus du seuil défini (considérée comme lumineuse), la sortie du capteur sur la broche DO devient BASSE, et la LED DO s'allume.
  • Lorsque l'intensité lumineuse dans l'environnement ambiant est en dessous du seuil défini (considérée comme sombre), la sortie du capteur sur la broche DO devient HAUTE, et la LED DO s'éteint.

Concernant la broche AO :

  • La valeur lue sur la broche AO est inversement proportionnelle à l'intensité lumineuse de l'environnement environnant. Autrement dit, à mesure que l'intensité lumineuse augmente (plus lumineux), la valeur sur la broche AO diminue.
  • De même, à mesure que l'intensité lumineuse diminue (plus sombre), la valeur sur la broche AO augmente.

Il est important de noter que le réglage du potentiomètre n'affecte pas la valeur sur la broche AO.

Diagramme de câblage

Étant donné que le module de capteur de lumière possède deux sorties, vous pouvez choisir d'utiliser l'une ou les deux, selon vos besoins.

  • Le schéma de câblage entre l'ESP32 et le module de capteur de lumière LDR lors de l'utilisation uniquement de DO.
Schéma de câblage du module de capteur de lumière LDR ESP32

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

  • Le schéma de câblage entre l'ESP32 et le module de capteur de lumière LDR lors de l'utilisation uniquement de AO.
Schéma de câblage du module LDR ESP32

This image is created using Fritzing. Click to enlarge image

  • Le schéma de câblage entre l'ESP32 et le module de capteur de lumière LDR lors de l'utilisation des sorties AO et DO.
Schéma de câblage du module de capteur de lumière ESP32

This image is created using Fritzing. Click to enlarge image

Code ESP32 - Lire la valeur depuis la broche DO

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-ldr-module */ #define DO_PIN 13 // ESP32's pin GPIO13 connected to DO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int lightState = digitalRead(DO_PIN); if (lightState == HIGH) Serial.println("It is dark"); else Serial.println("It is light"); }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez comment configurer l'environnement pour l'ESP32 sur Arduino IDE.
  • Faites le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload dans Arduino IDE pour charger le code sur ESP32.
  • Couvrez et découvrez le module capteur de lumière LDR avec votre main ou quelque chose.
  • Visualisez le résultat sur le moniteur série.
COM6
Send
It is light It is light It is dark It is dark It is dark It is light It is light It is light
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Si vous constatez que le statut 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 qu'elle s'active ou la lumière pour qu'elle s'allume lorsqu'une lumière est détectée. De plus, vous avez la flexibilité de faire tourner un moteur servo. Des instructions détaillées et des tutoriels sur ces options de personnalisation se trouvent à la fin de ce guide.

Code ESP32 - Lire la valeur à partir de la broche AO

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-ldr-module */ #define AO_PIN 36 // ESP32's pin GPIO36 connected to AO pin of the ldr module void setup() { // initialize serial communication Serial.begin(9600); } void loop() { int lightValue = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(lightValue); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'ESP32
  • Couvrez et découvrez le module de capteur de lumière LDR avec votre main ou autre chose
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
The AO value: 145 The AO value: 146 The AO value: 146 The AO value: 572 The AO value: 1678 The AO value: 1945 The AO value: 2956 The AO value: 3001 The AO value: 3098 The AO value: 4005 The AO value: 4005 The AO value: 1645 The AO value: 1546 The AO value: 346 The AO value: 172
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!