ESP32 - Capteur de lumière

Ce tutoriel vous explique comment utiliser l'ESP32 avec le capteur de lumière. En détail, nous allons apprendre :

Si vous êtes à la recherche d'un capteur de lumière basé sur des modules, je vous recommande de consulter le tutoriel ESP32 - Module Capteur de Lumière LDR.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Light Sensor
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
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 capteur de lumière

Le capteur de lumière le plus répandu est une photo-résistance (également connue sous le nom de photocellule, ou résistance dépendante de la lumière, LDR).

Il peut être utilisé pour détecter la présence de la lumière. Il peut également servir à mesurer le niveau d'éclairement / de luminosité de la lumière.

Brochage du capteur de lumière

Un capteur de lumière possède deux broches. Tout comme une résistance normale, nous n'avons PAS besoin de distinguer ces broches.

Brochage du capteur de lumière

Fonctionnement du capteur de lumière

La résistance du photorésistor est en proportion inverse à l'intensité de la lumière. Moins le photorésistor est exposé à la lumière, plus sa résistance est élevée. Par conséquent, nous pouvons déduire la luminosité de la lumière ambiante en mesurant la résistance du photorésistor.

Comment fonctionne un capteur de lumière

WARNING

La valeur mesurée par la photo-résistance reflète la tendance approximative de l'intensité de la lumière, elle ne représente PAS exactement le flux lumineux. Par conséquent, la photo-résistance ne devrait pas être utilisée dans une application nécessitant une haute précision. Un étalonnage est également nécessaire pour certains types d'applications.

ESP32 - Capteur de lumière

La broche d'entrée analogique de l'ESP32 convertit la tension (entre 0v et ADC_VREF - par défaut 3,3V) en valeurs entières (entre 0 et 4095), appelées valeur analogique ou valeur ADC. En connectant une broche d'entrée analogique de l'ESP32 au photorésistor, nous pouvons lire la valeur analogique à l'aide de la fonction analogRead().

Schéma de câblage entre le capteur de lumière et l'ESP32

Schéma de câblage du capteur de lumière 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.

Code ESP32

Le code ESP32 ci-dessous lit la valeur d'un capteur de lumière et déduit le niveau d'éclairage.

/* * 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-light-sensor */ #define LIGHT_SENSOR_PIN 36 // ESP32 pin GIOP36 (ADC0) void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } void loop() { // reads the input on analog pin (value between 0 and 4095) int analogValue = analogRead(LIGHT_SENSOR_PIN); Serial.print("Analog Value = "); Serial.print(analogValue); // the raw analog reading // We'll have a few threshholds, qualitatively determined if (analogValue < 40) { Serial.println(" => Dark"); } else if (analogValue < 800) { Serial.println(" => Dim"); } else if (analogValue < 2000) { Serial.println(" => Light"); } else if (analogValue < 3200) { Serial.println(" => Bright"); } else { Serial.println(" => Very bright"); } delay(500); }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans Arduino IDE.
  • Ouvrez le moniteur série sur Arduino IDE.
Comment ouvrir le moniteur série sur Arduino IDE
  • Émet de la lumière vers le capteur
  • Voir le résultat sur le moniteur série. Il ressemble à ce qui suit :
COM6
Send
Analog Value = 406 => Dim Analog Value = 412 => Dim Analog Value = 465 => Dim Analog Value = 471 => Dim Analog Value = 3511 => Very bright Analog Value = 3521 => Very bright Analog Value = 3618 => Very bright
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Capteur de lumière et LED

Schéma de câblage

Schéma de câblage de LED de capteur de lumière ESP32

This image is created using Fritzing. Click to enlarge image

Code ESP32

Le code ci-dessous allume la LED s'il fait sombre, sinon il éteint la LED.

/* * 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-light-sensor */ // constants won't change #define LIGHT_SENSOR_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to light sensor #define LED_PIN 22 // ESP32 pin GPIO22 connected to LED #define ANALOG_THRESHOLD 500 void setup() { pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Vidéo

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