Vous allez pouvoir découvrir comment utiliser une photorésistance avec Arduino et je vous mettrai le code-source d’exemple pour réaliser un indicateur crépusculaire avec Arduino, que vous pourrez par la suite transformez en detcteur de présence, si vous en voulez l’application. Ce montage est simple et repose sur un composant électronique très utilisé en optique : la photoresistance.
Une photorésistance est de base une résistance électrique dont la valeur résistitive varié et dépend de l’intensité lumineuse qui arrive à son corps ou dans lequel il est situé. Pour ce comportement, nous aurons donc une variation de la résistance en fonction de notre environnement et là nous pourrons facilement prendre des décisions quand il est jour, quand il est soir,…

Comme nous sommes en train de chercher une précision , nous allons donc utiliser notre microcontrôleur programmable, la carte Arduino. Cette combinaison de la carte Arduino et de la photorésistance nous permettra de réaliser ce système de detecteur de crépuscule facilement. Une carte Arduino fera le traitement de l’information qui viendra de la photorésistance par ses entrées analogiques sous forme de valeur numérisée. Et on écrira un programme qui nous permettra de réaliser le coeur du fonctionnement de notre système.
Ce montage nous servira donc de contrôler automatiquement en fonction de certaines conditions, la lumière dans notre mileu ambiant ou dans une salle bien précise. C’est l’automatisme qui est utilisé en domotique (commande des maisons intelligentes).
Et là, je vous détail ce que nous allons faire et réaliser dans cet article.
Utiliser la photorésistance avec Arduino + Codesource
Pour ce montage nous aurons à nous servir de quelques composants de bases , entre autres :
- Une carte Arduino Uno ( l’élément de base, ça peut aussi aller parfaitement avec d’autres type de cartes Arduino)
- Une photorésistance ( LDR : Light Dependent Resistor = résistance dépendant de la lumière)
- Deux résistances ( R1 = 100K, R2=300ohm)
- Une source de tension continue de 5V ( à prendre sur un port USB, par exemple).
- Quelques fils rigides
- Une breadborad ou circuit imprimé de réalisation des connexions.
Contrôle du relais par le capteur de lumière Arduino : Photorésistance [CodeSources]
La première chose que nous allons faire ou écrire dans botre éditeur, est de définir les broches pour nos éléments de sorties ( la LED et le LDR, et le petit relai).
// les déclarations des broches comme variables
#define relay 10
int LED = 9; //
int LDR = A0;
Par la suite, définir comme sortie les broches de la led et de la photorésistance au moyen de la fonction pinMode() de l’ARDUINO :
pinMode(LED, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(LDR, INPUT);
Par la suite, faire une lecture de la valeur analogique de tension via la broche A0 de l’Arduino. Cette tension analogique sera augmentée ou diminuée en fonction de la résistance du LDR. Pour ce faire, on utilisera une fonction de lecture anologique appelé analogread() :
int valeurLDR = analogRead(LDR);
// la fonction anologRead permet de faire une lecture sur les bornes définies analogiques
Par la suite, étabir la condition pour le mode sombre ( nuit) et lumineux ( jour). Si la valeur est inférieure à 700, il fait sombre et la LED ou la lumière s’allume. Si la valeur est supérieure à 700, elle est brillante et la LED ou la lumière s’éteint. Nous aurons donc à faire des test, avec une condition if élémentaires.
if (valeurLDR <=700)
{
digitalWrite(LED, HIGH);
digitalWrite(relay, HIGH);
Serial.println("Il fait NUIT");
}
else
{
digitalWrite(LED, LOW);
digitalWrite(relay, LOW);
Serial.println("Il fait JOUR);
}
On peut aussi contrôler par le relai ( en puissance), en lieu et place de contrôler une LED en fonction de la luminosité et de l’obscurité, nous pouvons contrôler nos lumières domestiques ou tout équipement électrique. Tout ce que nous avons à faire est de connecter un module de relais et de régler le paramètre pour allumer et éteindre tout appareil AC en fonction de l’intensité de la lumière. Si la valeur tombe en dessous de 700, ce qui signifie qu’il est sombre, le relais fonctionne et les lumières s’allument. Si la valeur est supérieure à 700, ce qui signifie son jour ou son clair, alors le relais ne fonctionnera pas et les lumières resteront éteintes.
// CodeSource : Marex 2020
// site web : www.debuterpro.com
#define relay 10
int LED = 9; // broche de la LED
int LDR = A0; // broche analogique de la photorésistance
void setup()
{
// Initialisation des valeurs
Serial.begin(9600);
pinMode(LED, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(LDR, INPUT);
}
void loop() {
// lecture sur entrée analogique de la photorésistance
int valeurLDR = analogRead(LDR);
Serial.print("Valeur Capteur = ");
Serial.print(valeurLDR);
//Test pour Jour ou Nuit
if (valeurLDR <=700)
{
digitalWrite(LED, HIGH);
digitalWrite(relay, HIGH);
Serial.println("Il fait NUIT");
}
else
{
digitalWrite(LED, LOW);
digitalWrite(relay, LOW);
Serial.println("Il fait JOUR");
Pour découvrir plus sur ce sujet, je vous laisse visité le lien d’un ami du site suivant