Arduino Nano ESP32 - Capteur de lumière

Ce tutoriel fournit des instructions sur comment utiliser l'Arduino Nano ESP32 avec le capteur de lumière. En détail, nous allons apprendre :

Si vous recherchez un capteur de lumière basé sur un module, je vous recommande de consulter le tutoriel Arduino Nano ESP32 - Module de capteur de lumière LDR.

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×Light Sensor
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 utilisé est une photoré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 être utilisé pour mesurer le niveau d'éclairement/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 de la photorésistance est en proportion inverse de l'intensité de la lumière. Moins la face de la photorésistance est exposée à la lumière, plus sa résistance est grande. Par conséquent, nous pouvons déduire la luminosité de la lumière ambiante en mesurant la résistance de la photorésistance.

Comment fonctionne un capteur de lumière

WARNING

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

Arduino Nano ESP32 - Capteur de lumière

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

Schéma de câblage entre le capteur de lumière et Arduino Nano ESP32

Schéma de câblage du capteur de lumière Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano ESP32

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

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The Arduino Nano ESP32 pin connect to the light sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { // reads the input on analog pin (value between 0 and 4095) int analog_value = analogRead(LIGHT_SENSOR_PIN); Serial.print("Analog Value = "); Serial.print(analog_value); // The raw analog reading // We'll have a few threshholds, qualitatively determined if (analog_value < 40) { Serial.println(" => Dark"); } else if (analog_value < 800) { Serial.println(" => Dim"); } else if (analog_value < 2000) { Serial.println(" => Light"); } else if (analog_value < 3200) { Serial.println(" => Bright"); } else { Serial.println(" => Very bright"); } delay(500); }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez comment configurer l'environnement pour Arduino Nano ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  • Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload de l'Arduino IDE.
  • Ouvrez le moniteur série sur l'Arduino IDE.
Comment ouvrir le moniteur série sur Arduino IDE
  • Émet de la lumière vers le capteur
  • Consultez 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 du capteur de lumière LED Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano ESP32

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

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The Arduino Nano ESP32 pin connect to the light sensor #define LED_PIN D2 // The Arduino NanO ESP32 pin connected to LED #define ANALOG_THRESHOLD 500 void setup() { pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analog_value = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analog_value < 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!