#11Débutant

Mesurer l'intensité lumineuse avec une LDR

4.6(78)
119 terminé
Mesurer l'intensité lumineuse avec une LDR
Projet qui mesure l'intensité de la lumière ambiante à l'aide d'un capteur LDR et l'affiche sur un moniteur série. Enseigne les bases de la lecture de capteurs analogiques et de la communication série.

Vidéo

Schéma du circuit

Mesurer l'intensité lumineuse avec une LDR - Circuit

Code source

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Mesurer l'intensité lumineuse avec une LDR
4// ─────────────────────────────────────────
5// Lit la lumière ambiante sur A0 via un diviseur de tension fait d'une LDR
6// et d'une résistance de 10k, et affiche la valeur 0-1023 dans le Moniteur
7// série toutes les 0.5 s. La valeur monte quand la lumière augmente.
8//
9// Broches :
10//   A0 -> Jonction de la LDR et de la résistance de 10k
11//   Autre patte de la LDR sur 5V, autre patte de la 10k sur GND
12
13int value;   // Lecture de la lumière (0-1023)
14
15void setup() {
16  Serial.begin(9600);   // Série à 9600 bauds
17}
18
19void loop() {
20  value = analogRead(A0);   // Lire la tension de la LDR
21  Serial.print("Value: ");
22  Serial.println(value);
23  delay(500);               // Attendre 0.5 s
24}
25

FAQ

Comment fonctionne le LDR ?▾

Plus la quantité de lumière incidente sur la LDR (résistance photosensible) augmente, plus sa résistance diminue. Lorsqu'un diviseur de tension est constitué à l'aide d'une résistance de 10 kΩ, la variation de lumière se transforme en variation de tension et est lue par la fonction analogRead sous la forme d'une valeur comprise entre 0 et 1023.

Quelles doivent être les valeurs relevées à la lumière et dans l'obscurité ?▾

Cela dépend du type de connexion ; on observe généralement des valeurs élevées à la lumière et faibles dans l'obscurité (ou l'inverse). Notez les valeurs de lumière et d'obscurité dans votre environnement à l'aide du Serial Monitor ; celles-ci serviront à choisir la valeur seuil dans vos prochains projets.

Je vois des caractères incompréhensibles dans le Serial Monitor, pourquoi ?▾

La vitesse de transmission dans le Serial Monitor doit correspondre à la valeur définie dans le code via la fonction Serial.begin() (par exemple, 9600). Si ces valeurs ne correspondent pas, des caractères corrompus s'affichent à l'écran.

Existe-t-il un capteur de lumière plus précis que le LDR ?▾

Oui, les capteurs de lumière I²C tels que le BH1750 mesurent directement la luminosité en lux (lx) et sont bien plus fiables que les LDR. Pour une simple veilleuse ou la détection de l'obscurité, un LDR suffit.

Mesurer l'intensité lumineuse avec une LDR | BlueGrays