LDR - Photorésistances

Les photorésistances sont de petits composants dont la résistance varie en fonction de la luminosité, plus l’intensité lumineuse est élevée plus la résistance est faible.

Afin de pouvoir les utiliser, il va falloir vous munir d’un potentiomètre si vous souhaitez modifier la sensibilité de votre LDR, sinon une résistance de 10k Ohm fera l’affaire.

Pour choisir la résistance de votre potentiomètre vous pouvez soit utiliser un multimètre ou alors faire ce montage utilisant la notion du pont diviseur de tension afin de calculer la résistance entre 2 bornes du potentiomètre:

PONT-DIV
Potentiomètre et résistance

Téléversez ce programme et observez les valeurs dans le moniteur Série :

Attention : Les valeurs affichées par le moniteur série sont des ordres de grandeurs, même si celles-ci semblent très précise elle ne le sont pas. Si sous souhaitez mesurer avec précision un voltage ou une résistance, il vous faudra vous équiper d’un multimètre 😉

//Pins E/S
#define PO A0

//Valeurs et variables utilisées :
#define RESIS 1000 //Première résistance de 10kOhm
float pot, val, res;

void setup() {
  //Initialisation de la liaison Série :
  Serial.begin(9600);

  pinMode(PO, INPUT);
}

void loop() {
  //Lecture de la broche analogique :
  pot = analogRead(PO);
 
  //Conversion en volt :
  val = (pot*5)/1024;
  
  //Affichage sur le moniteur série :
  Serial.print("Tension: ");
  Serial.print(val);
  
  //Calcul du pont diviseur de tension :
  res = RESIS * (5/val) - RESIS;
  
  //Affichage de la valeur de la résistance :
  Serial.print("V | Resistance: ");
  Serial.print(res);
  Serial.println(" Ohm");
  
  //Temporisation :
  delay(100);
  }

Une fois tout en place, vous devriez obtenir des informations semblables à celles-ci sur votre moniteur série :

Moniteur Potentiomètre

Choisir la valeur de la résistance :

Le choix de la résistance du potentiomètre va vous permettre d’obtenir une sensibilité différente selon la valeur Ohmique. Plus la résistance est élevée plus la sensibilité est élevée et inversement. J’ai choisi de prendre une valeur de 9k Ohm afin que chacun puisse suivre malgré la marge fixée par les constructeurs sur les potentiomètre 10k Ohm.

Test d’une LDR :

Pour votre premier montage avec une LDR, je vous propose de réaliser ce montage :

1LDR+POTENT

Et d’y téléverser ce programme qui vous permettra de lire l’entrée analogique :

//LDR :
#define LDR A0

void setup() {
  //Initialisation de la liaison Série :
  Serial.begin(9600);

  pinMode(LDR, INPUT);
}

void loop()
{
  Serial.print("Valeur LDR: ");
  Serial.println(analogRead(LDR)); //Affiche la valeur lue sur la broche associée à LDR (A0)
  delay(100);
}

Cette valeur n’étant pas très explicite, on pourrais définir une valeur maximale et une valeur minimale afin de résonner en % de luminosité grâce à la fonction map. Pour cela remplacer MIN et MAX par vos valeurs et essayez ce programme :

//LDR :
#define LDR A0
#define MINLDR 100   //Modifiez avec vos valeurs
#define MAXLDR  1000  //Elles peuvent être comprises entre 0 et 1023 compris
int val;

void setup() {
  //Initialisation de la liaison Série :
  Serial.begin(9600);

  pinMode(LDR, INPUT);
}

void loop()
{
  Serial.print("Valeur LDR en pourcents: ");
val = analogRead(LDR); 
  val = map(val,MINLDR,MAXLDR,0,100);
  Serial.println(val);
 
  delay(100);
}

Identifier d’où vient la lumière :

Avec 2 LDRs ont peut facilement comparé leurs valeurs afin de savoir de quel coté vient la lumière avec un montage comme celui-ci :

2LDRs+POTENTs
2LDRs montage

Et le programme :

//LDRs :
#define LDR1 A0
#define LDR2 A1

void setup() {
  //Initialisation de la liaison Série :
  Serial.begin(9600);

  pinMode(LDR1, INPUT);
  pinMode(LDR2, INPUT);
}

void loop()
{
  Serial.print("Gauche: ");
  Serial.print(analogRead(LDR1));
  Serial.print(" | Droite: ");
  Serial.print(analogRead(LDR2));

  if (analogRead(LDR1) >= analogRead(LDR2))
  {
    Serial.println(" <-- Gauche");
  }
  else
  {
    Serial.println(" --> Droite");
  }
  delay(100);
}

Vous pouvez maintenant visualiser les valeurs des deux capteurs ainsi que le coté duquel l’intensité lumineuse est la plus forte grâce au moniteur Série :

Capture d'écran Direction lumière