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 LDR..

À 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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Vidéo

Mettez-vous au défi

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

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !