ldr sensor with arduino

Définition de la LDR

La photorésistance ou LDR (Light Dependent Resistor) est un composant dont la valeur de la résistance varie en fonction de la quantité de  lumière  incidente. Lorsque le niveau de la lumière augmente, la valeur de la résistance diminue.

Principe de fonctionnement

Le principe de fonctionnement d’une photorésistance est basé sur un phénomène optique qui est la photoconductivité. Lorsque la lumière tombe sur une LDR, elle va restituer suffisamment d’énergie aux électrons pour passer de la bande de valence vers la bande de conduction.
Les électrons résultants et leurs trous associés permettront la conductivité électrique, alors la résistance sera diminuée.

Avantages

  • Faible coût
  • Facilité de mise en œuvre
  • Larges gammes spectrales
  • Sensibilité élevée

Description du LDR

La photorésistance ou LDR (Light Dependent Resistor) est un composant dont la valeur de la résistance varie en fonction de la quantité de  lumière  incidente.

Contrôler l'intensité d'une LED avec un capteur de lumière et arduino uno

L’objectif de cette réalisation est d’utiliser une photorésistance pour allumer une led en fonction de la luminosité ambiante.

Montage sur fritzing

Matériels utilisé

  1. Une carte Arduino uno
  2. Une photorésistance
  3. Une LED
  4. Plaque d’essai
  5. Une résistance de 220Ω
  6. Une résistance de 10 KΩ
  7. Câbles de connexion


La LED est connectée à une broche(10) de type  PWM (pulse width modulation)  de la carte arduino cela signifie que l’on peut contrôler la luminosité de la LED en sortie.


La LED est connectée à une broche(10) de type  PWM (pulse width modulation)  de la carte arduino cela signifie que l’on peut contrôler la luminosité de la LED en sortie.


La photorésistance est connectée à la broche analogique A2 sur la carte arduino. Avec la fonction analogRead() le microcontrôleur lie la tension aux bornes de la LDR et retourne une valeur entière comprise entre 0 (0V) et 1023 (5V).

Pour varier l'intensité lumineuse de la LED il suffit d'utiliser l'instruction analogWrite().

Syntaxe de la fonction analogWrite

 analogWrite (pin, valeur)

Paramètres

Pin : la broche Arduino.
Valeur : le cycle de service : entre 0  et 255.

Puisque la valeur lue est située dans l'intervalle 0-1023 et le deuxième paramètre de la fonction  analogWrite doit être compris entre 0 et 255. Il faut utiliser une fonction map qui permet de faire passer une valeur située dans un intervalle vers un autre.

Syntaxe de la fonction map

map (valeur, fromLow, fromHigh, toLow, toHigh)

Paramètres

Valeur: le nombre à mapper.

FromLow: la limite inférieure de la plage actuelle de la valeur.

FromHigh: la limite supérieure de la plage actuelle de la valeur.

ToLow: la limite inférieure de la plage cible de la valeur.

ToHigh: la limite supérieure de la plage cible de la valeur.


Montage sur ISIS


Montage sur ISIS

Programme Arduino

const int LDR = A0;
const int LEDpin = 10;
  
void setup() {
  Serial.begin(9600);
   
  pinMode(LEDpin, OUTPUT);     
  pinMode( LDR, INPUT);    
}
 
void loop() {
  int valeurcapt = analogRead( LDR);
  valeurcapt = 1023 - valeurcapt;          
  int valeur2 = map(valeurcapt, 0, 1023, 0, 255); 
  analogWrite(LEDpin, valeur2);          
 
  // envoie tout ça vers l'ordinateur
  Serial.print("valeur du capteur = " );                      
  Serial.print(valeurcapt);     
  Serial.print("\t output = ");     
  Serial.println(valeur2);
  delay(1);

}


Commentaires
Aucun commentaire
Enregistrer un commentaire



    Reading Mode :
    Font Size
    +
    16
    -
    lines height
    +
    2
    -