Arduino - Capteur de lumière

Dans ce tutoriel, nous allons apprendre :

Si vous recherchez un capteur de lumière sous forme de module, consultez ce tutoriel Arduino - Module Capteur de Lumière LDR.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Light Sensor
1×10 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 luminosité

Le capteur de lumière utilisé dans ce tutoriel est une photorésistance, également appelée résistance dépendante de la lumière ou photocellule.

Il est utilisé non seulement pour détecter la lumière mais aussi pour mesurer le niveau de luminosité/éclairement de la lumière ambiante.

Brochage

Un photoresistor a deux broches. Comme il s'agit d'une sorte de résistance, nous n'avons PAS besoin de distinguer ces broches. Elles sont symétriques.

Brochage du capteur de lumière

Comment ça marche

Plus la quantité de lumière à laquelle est exposée la face de la photo-résistance est grande, plus sa résistance est petite. Par conséquent, en mesurant la résistance de la photo-résistance, nous pouvons connaître la luminosité de la lumière ambiante.

Comment fonctionne un capteur de lumière

WARNING

La valeur du capteur de lumière ne reflète que la tendance approximative de l'intensité lumineuse, elle ne représente PAS le flux lumineux exact. Par conséquent, elle ne doit être utilisée que dans une application qui ne nécessite pas une grande précision.

Arduino - Capteur de lumière

Les broches A0 à A5 de l'Arduino Uno peuvent fonctionner comme entrée analogique. La broche d'entrée analogique convertit la tension (entre 0v et VCC) en valeurs entières (entre 0 et 1023), appelées valeur ADC ou valeur analogique.

En connectant une broche de la photorésistance à une broche d'entrée analogique, nous pouvons lire la valeur analogique de la broche en utilisant la fonction analogRead(), et ainsi connaître relativement les niveaux de lumière.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Code Arduino

Le code ci-dessous lit la valeur provenant d'une photorésistance et détermine le niveau de lumière de manière qualitative.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-light-sensor */ void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } void loop() { // reads the input on analog pin A0 (value between 0 and 1023) int analogValue = analogRead(A0); Serial.print("Analog reading: "); Serial.print(analogValue); // the raw analog reading // We'll have a few threshholds, qualitatively determined if (analogValue < 10) { Serial.println(" - Dark"); } else if (analogValue < 200) { Serial.println(" - Dim"); } else if (analogValue < 500) { Serial.println(" - Light"); } else if (analogValue < 800) { Serial.println(" - Bright"); } else { Serial.println(" - Very bright"); } delay(500); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
  • Ouvrez le moniteur série
  • Irradiez le capteur de lumière
  • Consultez 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

  • Le code ci-dessous allume la LED lorsqu'il fait sombre, sinon éteint la LED.
/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-light-sensor */ // constants won't change const int LIGHT_SENSOR_PIN = A0; // Arduino pin connected to light sensor's pin const int LED_PIN = 3; // Arduino pin connected to LED's pin const int ANALOG_THRESHOLD = 500; // variables will change: int analogValue; void setup() { pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode } void loop() { analogValue = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if(analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }
  • Schéma de câblage pour le code ci-dessus :
Schéma de câblage de la LED du capteur de lumière Arduino

This image is created using Fritzing. Click to enlarge image

Vidéo

Mettez-vous au défi

  • Allumez automatiquement la lumière lorsque votre chambre est sombre. Conseil : Consultez Arduino - Relais.

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