LDR photorésistance (Photoresistor)
- Les photorésistances sont des composants photosensibles dont la valeur ohmique varie en fonction de l'intensité de lumière qu'ils reçoivent.
- Pour allumer les ampoules d’un lampadaire quand la nuit tombe, on utilise une photorésistance reliée à un circuit commandant un relais.
- Environ 2.5€ en France ici, le lot de 10 en chine 1.53€ ici, 1.51€ les 20 pièces ici
Un exemple d'utilisation : http://www.wikidebrouillard.org/index.php/Bande_d%27illumin%C3%A9s
/*
Code Arduino qui permet de réaliser un luxmètre. Trois LED s'allument alternativement en fonction de l'intensité lumineuse ambiante.
*/
int capteur1 = 0; // variable identifiant un port ana. 0 de la carte
int LED1 = 13; // variable identifiant le port num. 13 de la carte
int LED2 = 12;// variable identifiant le port num. 13 de la carte
int LED3 = 11;// variable identifiant le port num. 13 de la carte
int LED4 = 10;// variable identifiant le port num. 13 de la carte
int lum1 = 0; // variable identifiant la valeur de la luminosité du capteur 1
void setup()
{
pinMode(LED1, OUTPUT); // initialise la broche 13 comme une sortie
pinMode(LED2, OUTPUT); // initialise la broche 12 comme une sortie
pinMode(LED3, OUTPUT); // initialise la broche 11 comme une sortie
pinMode(LED4, OUTPUT); // initialise la broche 11 comme une sortie
}
void loop() // debut de la boucle
{
lum1 = analogRead( capteur1); // lire la donnée de la cellule dans lum1
if (lum1 < 25 ) // si la luminosité est faible,
{
int n =50;
while ( n > 0.00) {
digitalWrite(LED1, LOW); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, HIGH); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, HIGH); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, LOW); // eteindre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, LOW); // eteindre la LED2
digitalWrite(LED3, LOW); // eteindre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, LOW); // eteindre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
delay (n);
digitalWrite(LED1, HIGH); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, HIGH); // eteindre la LED3
delay (n);
digitalWrite(LED1, LOW); // allumer la LED 1
digitalWrite(LED2, HIGH); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, HIGH); // eteindre la LED3
delay (n);
digitalWrite(LED1, LOW); // allumer la LED 1
digitalWrite(LED2, LOW); // eteindre la LED2
digitalWrite(LED3, HIGH); // eteindre la LED3
digitalWrite(LED4, HIGH); // eteindre la LED3
delay (n);
n--;
}
}
else if (lum1 > 25 && lum1 < 50) // si la luminosité est moyenne
{
digitalWrite(LED2, HIGH); // allumer la LED 2
digitalWrite(LED1, LOW); // eteindre la LED1
digitalWrite(LED3, LOW); // etiendre la LED3
digitalWrite(LED4, LOW); // eteindre la LED3
}
else if (lum1 > 50 && lum1 < 75) { // si la luminosité est élevée
digitalWrite(LED3, HIGH); // allumer la LED 3
digitalWrite(LED1, LOW); // eteindre la LED 1
digitalWrite(LED2, LOW); // eteindre la LED 2
digitalWrite(LED4, LOW); // eteindre la LED3
}
else if (lum1 > 75) { // si la luminosité est élevée
digitalWrite(LED3, LOW); // allumer la LED 3
digitalWrite(LED1, LOW); // eteindre la LED 1
digitalWrite(LED2, LOW); // eteindre la LED 2
digitalWrite(LED4, HIGH); // eteindre la LED3
}
} // Fin de la boucle