Comment mesurer le niveau de lumière avec Arduino et un LDR

  • Une LDR est une résistance qui fait varier sa valeur en fonction de la lumière perçue.
  • Le principe de fonctionnement d'un LDR repose sur la conductivité des matériaux semi-conducteurs.
  • La configuration de base avec Arduino est basée sur un diviseur de tension entre le LDR et une résistance fixe.
  • Les LDR sont utiles pour mesurer les tendances lumineuses, mais ne sont pas précis pour mesurer l'éclairement en lux.

Capteur de lumière LDR

Si vous vous êtes déjà demandé comment mesurer efficacement le niveau de lumière dans un environnement avec Arduino, vous êtes au bon endroit. Dans cet article, nous expliquerons étape par étape comment procéder à l'aide d'une photorésistance LDR, également appelée photorésistance. Ces petites merveilles technologiques sont des composants électroniques capables de changer leur résistance en fonction de la quantité de lumière qu'ils reçoivent, ce qui ouvre des possibilités infinies pour les projets électroniques et d'automatisation.

Les applications du capteur de lumière avec Arduino sont nombreuses : des systèmes d'éclairage automatiques aux robots qui s'orientent en fonction de la lumière. Mieux encore, il s’agit d’un composant abordable et facile à utiliser. Nous vous donnerons ici toutes les informations nécessaires pour que vous puissiez construire votre propre système de mesure de la lumière avec Arduino et profiter de tout son potentiel.

Qu'est-ce qu'un LDR et comment ça marche ?

Une LDR (résistance dépendante de la lumière) C'est une résistance dont l'ampleur varie en fonction de la quantité de lumière qui tombe dessus. Dans l'obscurité, la résistance est très élevée, atteignant des valeurs allant jusqu'à 1 MOhm. Au contraire, lorsque le LDR reçoit une lumière abondante, la résistance diminue considérablement, atteignant des valeurs comprises entre 50 et 100 Ohms sous une lumière intense.

Son fonctionnement repose sur le principe de conductivité des matériaux semi-conducteurs. Lorsqu'ils reçoivent de la lumière, les photons dynamisent les électrons du matériau, facilitant la circulation du courant et diminuant ainsi la résistance. Ce type de capteur est très utile pour les applications où une mesure relative de la lumière dans l'environnement est requise.

Fonctionnalités LDR

Ce composant est très apprécié en raison de son faible coût et de sa facilité d'utilisation. Les valeurs de résistance typiques vont de 1 MOhm dans l'obscurité totale jusqu'à 50-100 Ohm en pleine lumière. Cependant, il convient de mentionner qu'ils ne sont pas les capteurs les plus précis si vous cherchez à mesurer avec précision l'éclairement (lumière en lux), car ils peuvent être affectés par des facteurs tels que la température.

La variation de la résistance est assez lente, prenant entre 20 et 100 millisecondes selon le modèle. Cela signifie qu'il n'est pas adapté à la détection de changements rapides de lumière, tels que ceux produits par des lampes alimentées en courant alternatif, mais qu'il offre une excellente stabilité dans des conditions d'éclairage plus constantes.

Tandis que Les LDR sont plus adaptés à la mesure des tendances lumineuses que pour fournir des données précises, leur faible coût et leur facilité d'intégration avec les cartes Arduino en font un capteur idéal pour les projets de bricolage.

Schéma de circuit et de connexion

Pour que l'Arduino puisse mesurer la variation de résistance du LDR, il est nécessaire de monter le capteur sur ce que l'on appelle un diviseur de tension. Il s'agit d'un circuit très simple composé du LDR et d'une résistance fixe connectés en série. Le LDR est placé entre la tension d'entrée (par exemple 5V sur la carte Arduino Uno) et la broche d'entrée analogique, et la résistance fixe est connectée entre la broche et la masse (GND).

La valeur de la résistance fixe est généralement de 10 kOhms, bien qu'elle puisse varier en fonction de la sensibilité que vous souhaitez atteindre lors de votre mesure.

Exemples d'assemblage et de code

Pour construire un système de base avec Arduino et un LDR, la première chose à faire est de connecter les éléments suivants :

  • Une extrémité du LDR à l'alimentation 5V.
  • L'autre extrémité du LDR à l'entrée analogique (A0 par exemple) et en même temps à une résistance fixe qui sera reliée à la masse.

Avec cette configuration, vous pouvez commencer à lire les valeurs fournies par le LDR via l'entrée analogique. Le code ci-dessous est un exemple de base pour lire ces valeurs :

const int pinLDR = A0;
void setup() {
Serial.begin(9600); // Iniciar monitor serie}
void loop() {
int valorLDR = analogRead(pinLDR); // Leer valor de LDR
Serial.println(valorLDR); // Imprimir valor en monitor
delay(500);
}

Ce code imprimera des valeurs comprises entre 0 (c'est-à-dire lorsqu'il n'y a pas de lumière) et 1023 (lumière maximale reçue). Ces valeurs sont proportionnelles à la lumière perçue par le LDR.

Le comportement de la résistance en fonction de la lumière

Comme déjà mentionné, la résistance du LDR diminue à mesure qu’il reçoit plus de lumière. Pour obtenir un mesure précise de la quantité de lumière, vous devez connaître les valeurs de résistance de votre LDR dans différentes conditions d'éclairage.

Dans la série GL55, par exemple, les valeurs vont de 5 kΩ à 200 kΩ en présence de lumière et de 500 kΩ à 10 MΩ dans l'obscurité. Ces valeurs peuvent varier d'un modèle à l'autre, il est donc toujours conseillé de consulter la fiche technique du fabricant du capteur.

Une particularité intéressante du LDR est que Sa sensibilité est la plus grande dans la partie verte du spectre., environ à des longueurs d'onde de 540 nm. Cela signifie que les LDR répondent mieux à la lumière verte que les autres parties du spectre visible.

Applications pratiques

Les applications possibles des LDR connectés à un Arduino sont presque infinies. Parmi les plus pratiques figurent les systèmes d'éclairage automatiques, où le circuit peut activer ou désactiver les lumières en fonction des niveaux de lumière détectés. Ils sont également utilisés pour lumière qui suit les robots et systèmes domotiques.

Vous pouvez par exemple créer un système dans lequel, à mesure que les niveaux de luminosité diminuent, une LED s'allume pour compenser le manque de lumière. Voici un exemple de code simple :

int LDRPin = A0; // Pin para la LDR
int LEDPin = 13; // Pin para el LED
int threshold = 500; // Umbral para encender el LED
void setup() {
pinMode(LEDPin, OUTPUT);
pinMode(LDRPin, INPUT);}
void loop() {
int valorLuz = analogRead(LDRPin);
if (valorLuz < threshold) {
digitalWrite(LEDPin, HIGH); // Enciende el LED
} else {
digitalWrite(LEDPin, LOW); // Apaga el LED
}
delay(100);}

Ce petit programme lit la valeur LDR et si le niveau de lumière est inférieur au seuil défini, il allume la LED. Sinon, il l'éteint. Un exemple simple mais hautement fonctionnel dans les projets d'automatisation de l'éclairage.

Limites et précautions

Bien que l’utilisation d’un LDR soit très pratique dans de nombreux projets, il est important de prendre en compte certaines de ses limites :

  • Ils ne sont pas très précis si vous cherchez à mesurer l’intensité exacte de la lumière en lux.
  • Son comportement peut varier en fonction de la température.
  • Ils fonctionnent mieux pour détecter des changements de lumière plus importants et non des variations rapides.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.