ESP8266 - Capteur de lumière

Ce tutoriel vous explique comment utiliser un capteur de luminosité avec l'ESP8266. En détail :

Si vous recherchez un capteur de lumière sous forme de module, je vous recommande de consulter le tutoriel pour le Module Capteur de Lumière LDR - ESP8266.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Light Sensor
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 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 utilisé dans ce tutoriel est une photorésistance, également connue sous le nom de résistance dépendante de la lumière, LDR, ou photorésistance.

Il est utilisé non seulement pour détecter la lumière, mais aussi pour mesurer l'intensité de la lumière ambiante.

Brochage du capteur de lumière

Un photo-résistor possède deux broches qui n'ont pas besoin d'être distinguées, car il s'agit d'un type de résistance et donc les broches sont symétriques.

Brochage du capteur de lumière

Comment ça fonctionne

La quantité de lumière à laquelle la face de la photorésistance est exposée affecte sa résistance. En mesurant cette résistance, nous pouvons déterminer la luminosité de la lumière ambiante.

Comment fonctionne un capteur de lumière

WARNING

La valeur provenant du capteur de lumière ne donne qu'une indication approximative de l'intensité lumineuse, et non une mesure précise du flux lumineux. Par conséquent, elle ne devrait pas être utilisée pour des applications nécessitant un haut degré de précision.

ESP8266 - Capteur de lumière

Les broches analogiques de l'ESP8266 peuvent être utilisées comme entrées analogiques. Ces broches d'entrée analogique convertissent la tension (variant de 0 volts à VCC) en valeurs entières (variant de 0 à 1023), appelées valeur ADC ou valeur analogique.

Connectez une broche de la photorésistance à une broche d'entrée analogique. En utilisant la fonction analogRead(), lisez la valeur analogique depuis la broche. Cela nous permettra de déterminer relativement les niveaux de lumière.

Diagramme de câblage

Schéma de câblage du capteur de lumière ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Code ESP8266

Le code ci-dessous lit la valeur de la photocellule et détermine qualitativement le niveau de lumière.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The ESP8266 pin ADC0 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 1023) 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

Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez un ESP8266.
  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Sélectionnez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload dans Arduino IDE pour compiler et téléverser le code sur l'ESP8266.
  • Ouvrez le moniteur série.
  • Dirigez une lumière sur le capteur.
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
Analog reading: 163 - Dim Analog reading: 152 - Dim Analog reading: 187 - Dim Analog reading: 188 - Dim Analog reading: 957 - Very bright Analog reading: 972 - Very bright Analog reading: 981 - Very bright
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Capteur de lumière et LED

  • Lorsque l'environnement est sombre, le code activera la LED, sinon il la désactivera.
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-light-sensor */ #define LIGHT_SENSOR_PIN A0 // The ESP8266 pin connected to light sensor #define LED_PIN D8 // The ESP8266 pin connected to LED #define ANALOG_THRESHOLD 500 void setup() { pinMode(LED_PIN, OUTPUT); // Configure the ESP8266 pin to the 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 }
  • Le schéma de câblage pour le code ci-dessus.
Schéma de câblage du capteur de lumière LED ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Vidéo

Mettez-vous au défi

  • Lorsque la lumière dans votre chambre est faible, activez-la automatiquement.
  • Reportez-vous à ESP8266 - Relais pour des instructions sur comment procéder.

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