Description
Module Capteur de Lumiére LDR à Photorésistance
Le module capteur de lumière LDR basé sur une photorésistance (LDR) est utilisé pour détecter les variations de lumière dans l’environnement. Ce module est équipé d’un amplificateur LM393 et offre à la fois une sortie numérique et une sortie analogique.
Caractéristiques en détail
- Tension de fonctionnement : 3.3V à 5V DC
- Sortie analogique (A0) : Proportionnelle à l’intensité lumineuse
- Sortie numérique (D0) : Change d’état (HIGH/LOW) lorsque le seuil de luminosité est atteint (réglable via potentiomètre)
- Dimensions : 3.1 cm x 1.4 cm
- Indicateurs LED : LED d’alimentation et LED de sortie
- Puissance du comparateur : LM393
- Trou de fixation : 3 mm
Fonctionnement
Le module capteur de lumière LDR utilise une photorésistance pour détecter les variations de luminosité ambiante. La photorésistance change sa résistance en fonction de l’intensité lumineuse reçue : plus la lumière est forte, plus la résistance est faible, et inversement. Le module comporte également un comparateur LM393 qui convertit ces variations de résistance en un signal analogique proportionnel (A0) et un signal numérique (D0). Le signal analogique varie continuellement avec l’intensité lumineuse, tandis que le signal numérique passe à l’état haut ou bas lorsque l’intensité lumineuse atteint un seuil défini par le potentiomètre intégré.
Applications
- Systèmes d’éclairage automatique
- Alarmes de sécurité
- Projets de domotique
- Robots détecteurs de lumière
- Systèmes de mesure et de contrôle de la lumière
Brochage
- VCC : Alimentation (3.3V à 5V DC)
- GND : Masse
- D0 : Sortie digitale (TTL)
- A0 : Sortie analogique
Comment l’utiliser
Le capteur de lumière LDR peut être utilisé pour détecter les niveaux de lumière ambiante et déclencher des actions spécifiques basées sur les conditions de luminosité. Il est souvent utilisé dans les projets de domotique et les systèmes d’alarme.
Comment l’utiliser avec Arduino Uno
Exemple de code Arduino de base
const int analogPin = A0; // Broche analogique pour la photorésistance
const int digitalPin = 2; // Broche digitale pour la photorésistance
const int ledPin = 13; // Broche de la LED intégrée
void setup() {
Serial.begin(9600); // Initialiser la communication série
pinMode(digitalPin, INPUT); // Configurer la broche digitale comme entrée
pinMode(ledPin, OUTPUT); // Configurer la broche LED comme sortie
}
void loop() {
int analogValue = analogRead(analogPin); // Lire la valeur analogique
int digitalValue = digitalRead(digitalPin); // Lire la valeur digitale
Serial.print("Analog value: ");
Serial.print(analogValue); // Afficher la valeur analogique
Serial.print(" | Digital value: ");
Serial.println(digitalValue); // Afficher la valeur digitale
if (digitalValue == LOW) { // Si la sortie digitale est basse
digitalWrite(ledPin, HIGH); // Allumer la LED
} else {
digitalWrite(ledPin, LOW); // Éteindre la LED
}
delay(500); // Attendre 500 ms avant de refaire une lecture
}
But du code
Ce code permet de lire les valeurs analogiques et digitales du capteur et d’allumer ou d’éteindre une LED en fonction de la luminosité ambiante. Les valeurs sont également affichées sur le moniteur série.
Composants nécessaires pour le code de base
- Arduino Uno
- Module capteur de lumière à photorésistance LDR
- Câbles de connexion
Explication détaillée du code de base
- Définition des broches : Les broches analogique et digitale du capteur sont définies, ainsi que la broche de la LED intégrée.
- Initialisation :
- Communication série : La communication série est initialisée à 9600 bauds pour afficher les résultats.
- Configuration des broches : La broche digitale est configurée comme entrée et la broche de la LED comme sortie.
- Lecture des valeurs :
- La valeur analogique est lue à partir de la broche A0.
- La valeur digitale est lue à partir de la broche D2.
- Affichage des valeurs : Les valeurs analogiques et digitales sont affichées sur le moniteur série.
- Contrôle de la LED : La LED est allumée ou éteinte en fonction de la valeur de la sortie digitale.
Brochage détaillé des connexions du code de base
- VCC : Connecter à la broche 5V de l’Arduino
- GND : Connecter à la broche GND de l’Arduino
- D0 : Connecter à la broche D2 de l’Arduino
- A0 : Connecter à la broche A0 de l’Arduino
Exemple de code Arduino avancé pour affichage sur LCD avec commentaires détaillés
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int analogPin = A0; // Broche analogique pour la photorésistance
const int digitalPin = 2; // Broche digitale pour la photorésistance
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C 0x27, écran 16x2
void setup() {
lcd.begin(); // Initialiser l'écran LCD
lcd.backlight(); // Allumer le rétroéclairage de l'écran LCD
Serial.begin(9600); // Initialiser la communication série
pinMode(digitalPin, INPUT); // Configurer la broche digitale comme entrée
}
void loop() {
int analogValue = analogRead(analogPin); // Lire la valeur analogique
int digitalValue = digitalRead(digitalPin); // Lire la valeur digitale
lcd.setCursor(0, 0);
lcd.print("Luminosite: ");
lcd.print(analogValue); // Afficher la valeur analogique sur l'écran LCD
lcd.setCursor(0, 1);
lcd.print("Etat: ");
if (digitalValue == LOW) {
lcd.print("Clair");
} else {
lcd.print("Sombre");
}
Serial.print("Analog value: ");
Serial.print(analogValue); // Afficher la valeur analogique sur le moniteur série
Serial.print(" | Digital value: ");
Serial.println(digitalValue); // Afficher la valeur digitale sur le moniteur série
delay(500); // Attendre 500 ms avant de refaire une lecture
}
But du code
Ce code lit les valeurs analogiques et digitales du capteur et les affiche sur un écran LCD I2C ainsi que sur le moniteur série. Il indique également l’état de luminosité (clair ou sombre).
Composants nécessaires pour le code avancé
- Arduino Uno
- Module capteur de lumière à photorésistance LDR
- Écran LCD I2C 1602
- Câbles de connexion
Explication détaillée du code avancé
- Inclusion des bibliothèques : Les bibliothèques
Wire.hetLiquidCrystal_I2C.hsont incluses pour permettre la communication avec l’écran LCD I2C. - Définition des broches : Les broches analogique et digitale du capteur sont définies.
- Initialisation de l’écran LCD et de la communication série :
- L’écran LCD est initialisé et son rétroéclairage est allumé.
- La communication série est initialisée à 9600 bauds pour afficher les résultats.
- La broche digitale est configurée comme entrée.
- Lecture des valeurs :
- La valeur analogique est lue à partir de la broche A0.
- La valeur digitale est lue à partir de la broche D2.
- Affichage des valeurs sur l’écran LCD :
- La valeur analogique est affichée sur la première ligne de l’écran LCD.
- L’état de luminosité (clair ou sombre) est affiché sur la deuxième ligne de l’écran LCD.
- Affichage des valeurs sur le moniteur série : Les valeurs analogiques et digitales sont affichées sur le moniteur série.
Brochage détaillé des connexions du code avancé
- VCC : Connecter à la broche 5V de l’Arduino
- GND : Connecter à la broche GND de l’Arduino
- D0 : Connecter à la broche D2 de l’Arduino
- A0 : Connecter à la broche A0 de l’Arduino
- SDA (LCD) : Connecter à la broche A4 de l’Arduino
- SCL (LCD) : Connecter à la broche A5 de l’Arduino
Installation de Drivers/bibliothèques
Pour utiliser le module capteur de lumière LDR avec Arduino, installez les bibliothèques Wire et LiquidCrystal_I2C via l’IDE Arduino :
- Ouvrez l’IDE Arduino.
- Allez dans le menu Sketch -> Include Library -> Manage Libraries…
- Recherchez et installez les bibliothèques suivantes :
Wire: Pour la communication I2C.LiquidCrystal_I2C: Pour l’écran LCD I2C.
Mots clés: sensor, light, photoresistor.