Capteurs - Eclairement
[Mise à jour le 7/7/2022]
L’éclairement lumineux est la grandeur définie par la photométrie correspondant à la sensation humaine sur la manière dont une surface est éclairée. Pour qu'un objet qui ne produit pas de lumière par lui-même soit visible, il faut qu'il reçoive de la lumière. Plus il en reçoit, plus il est clair, et visible distinctement. La photométrie définit rigoureusement la lumière reçue, afin de pouvoir calculer cette grandeur, connaissant l'intensité lumineuse des sources de lumière, leur distance et leur direction.
L'éclairement lumineux est la seule grandeur photométrique directement mesurable. On l'évalue à l'aide d'un transducteur optique-électronique inséré dans une cellule photoélectrique. Dans le Système international d'unités, il s’exprime en lux (lx). Wikipédia
Eclairement | Exemple |
---|---|
0,002lux | Ciel sans lune |
0,27 - 1lux | Pleine lune par une nuit claire |
50lux | Salon |
100lux | Jour, ciel couvert très sombre |
300 - 500lux | Le lever ou le coucher du soleil par temps clair. Bureau bien éclairé. |
1000lux | Jour couvert; éclairage typique d'un studio de télévision |
10000 - 25000lux | Jour (pas de soleil direct) |
32000 - 130000lux | Lumière directe du soleil |
- Ressources
1. Capteurs analogiques
1.1 LDR
1.1.1 Généralités
Une photorésistance (également appelée résistance photo-dépendante ou cellule photoconductrice) est un composant électronique dont la résistivité varie en fonction de la quantité de lumière incidente : plus elle est éclairée, plus sa résistivité baisse. Wikipédia
- Modèle
R(Ev) = R0Ev-k avec R : résistance en Ohm et Ev : éclairement en lux
- Expérimentation
1.1.2 LDR NORPS12
- Source
- La conversion analogique / numérique avec Arduino / Genuino.
- Distributeur : Farnell
- Caractéristiques
- Photorésistance maximum de 12.6kohm
- Résistance d'obscurité de 1Mohm
- Dissipation de puissance à 30°C de 250mW
- Tension nominale (crête AC ou DC) de 250V
- Longueur d'onde crête spectrale de 550nm
- Documentation
- Fichier Acrobat Reader à télécharger ici
- Modèle
- Aide pour la simulation de la chaîne de mesure
- L'algorithme du traitement à réaliser (Ev=f(N)) est téléchargeable ici
1.1.3 Module Grove SEN11302P (Archives)
- Sources
- wiki Seeed studio
- La conversion analogique / numérique avec Arduino / Genuino.
- Distributeur : produit obsolète
- Caractéristiques
- Tension alimentation : 3 à 5V
- Courant : <3mA
- Temps de réponse : 20 à 30ms
- Modèle
- Fichier Excel à télécharger ici
- Aide pour la simulation de la chaîne de mesure
- L'Algorithme du traitement à réaliser, Ev=f(N) est téléchargeable ici
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à installer dans l'IDE : aucune
- Connexion à un shield Tinkerkit v2.
- Un premier exemple pour tester le capteur
- SEN11302P.cpp
/* Mesure de la luminosite ambiante Ev avec une LDR Bibliothèque math.h : https://www.arduino.cc/en/math/h */ // Constantes //------------------------------------------------------ // LDR module SEN11302P const double k = -0.65; const double R0 = 129790.0; // Diviseur de tension const int Vcc = 5; // Volt const int R1 = 10000; // Ohm // CAN const int n = 10; const int VPE = 5; // ------------------------------------------------------- // Variables // ------------------------------------------------------- int LDR = A0; // La LDR et son conditionneur sont connectés sur la broche A0 int N = 0; // Sortie du CAN : image de la luminosité double Ev = 0.0; // Résultat du calcul de la luminosité, f(N) // Coefficients utilisés pour simplifier le calcul de la luminosité // kcan, k0 double kcan = pow(2, n) / VPE; double k0 = kcan * Vcc * R1; // k1, k2, k3 double k1 = k0 / R0; double k2 = R1 / R0; double k3 = 1 / k; //------------------------------------------------------ // ------------------------------------------------------- void setup() { Serial.begin(9600); // Fenêtre "serial" pour la mise au point } // ------------------------------------------------------- void loop() { N = analogRead(LDR); double a = k1 / N - k2; Ev = pow(a, k3); Serial.println(N); }
1.2 Photodiodes
1.2.1 Généralités
Une photodiode est un composant semi-conducteur ayant la capacité de détecter un rayonnement du domaine optique et de le transformer en un signal électrique. Wikipédia
- Symbole
- Expérimentation
- Université Paris VI / ENS Cachan : PHYTEM
1.2.2 Module ADA1384 (3 à 55000lux)
- Sources
- wiki Adafruit
- La conversion analogique / numérique avec Arduino / Genuino.
- Distributeur : Gotronic
- Caractéristiques
- Alimentation : -0,3 à 7 Vcc (recommandée 2,3~3,2V)
- Sortie: 0 à 3 V
- Plage de mesure: 3 à 55000 Lux
- Capteur: GA1A12S202
- Dimensions: 13 x 10 x 12 mm
- Documentation
- PDF à télécharger ici
- Modèle
- PDF et fichier Excel à télécharger ici
- Aide pour la simulation de la chaîne de mesure
- L'algorithme du traitement à réaliser (Ev=f(N)) est téléchargeable ici
- Exemple de test à télécharger ici
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à installer dans l'IDE : aucune
- Connexion à un shield Tinkerkit v2.
- Un premier exemple pour tester le capteur
- ADA1384.cpp
/*------------------------------------------------------------- Source : https://learn.adafruit.com/adafruit-ga1a12s202-log-scale-analog-light-sensor/use-it Test sketch for the Adafruit Analog Light Sensor by Bill Earl for Adafruit Industries Connect sensor output to Analog Pin 0 Connect 5v to VCC and GND to GND Optionnel : Connect 3.3v to the AREF pin ------------------------------------------------------------- Adapté et testé par P. Mariano Test réalisé avec un montage potentiométrique (0 - 3,3v) : ok -------------------------------------------------------------*/ int sensorPin = A0; // float rawRange = 1024; // 2^n float logRange = 5.0; // VPE (tension pleine échelle) void setup() { //analogReference(EXTERNAL); // si la tension de référence est externe Serial.begin(9600); Serial.println("Adafruit Analog Light Sensor Test"); } void loop() { // read the raw value from the sensor: int rawValue = analogRead(sensorPin); Serial.print("Raw = "); Serial.print(rawValue); Serial.print(" - Lux = "); Serial.println(RawToLux(rawValue)); delay(1000); } float RawToLux(int raw) { float logLux = (raw * logRange) / (0,68*rawRange); return pow(10, logLux); }
2. Capteurs numériques
2.1 Bus I2C
2.1.1 TSL2561 (Archives)
- Source : wiki Adafruit
- Distributeur : produit obsolète
- Caractéristiques
- Alimentation: 2,7 à 3,6 Vcc
- Interface I2C
- Plage de mesure: 0,1 à 40000 Lux
- Documentation
- Fichier Acrobat Reader à télécharger ici
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à installer dans l'IDE
- Connexion à un shield Tinkerkit v2.
- Un premier exemple pour tester le capteur
- Fichier → Exemples → Adafruit TSL2561 → sensorapi.ino
2.1.2 VEML7700 (0 à 120000lux)
- Source : wiki
- Distributeur : Gotronic
- Caractéristiques
- Alimentation: 3,3 ou 5 Vcc
- Consommation: au travail: 45 µA, au repos: 0,5 µA
- Interface: I2C
- Plage de mesure: 0 à 120000 lux
- Précision: 0,0036 lux/ct
- Température de service: -25 à 85 °C
- Dimensions: 30 x 22 mm
- Poids: 12 g
- Documentation
- Fichier Acrobat Reader à télécharger ici
- Programmation d'une carte Arduino Uno R3
- Bibliothèques à installer dans l'IDE : VEML7700
- Un premier exemple pour tester le capteur
- Fichier → Exemples → Adafruit VEML7700_Library → veml7700_test.ino
2.1.3 BH1750 (1 à 65535lux)
- Sources
- Distributeur : DFRobot
- Caractéristiques
- Alimentation: 2,4 ou 3,6 Vcc
- Consommation: au travail: 120 µA, au repos: 15 µA
- Interface: I2C
- Plage de mesure: 0 à 65536 lux
- Précision: 1,2 lux
- Résolution: réglable 1lux(120ms) 4lux(16ms)
- Température de service: -25 à 85 °C
- Documentation
- Programmation d'une carte Arduino Uno R3
- Bibliothèque à installer dans l'IDE : BH1750
- Télécharger l’archive ZIP de la librairie depuis GitHub sans la décompresser.
- Depuis l’IDE Arduino, aller dans le menu Croquis→Inclure une bibliothèque→Ajouter la bibliothèque .ZIP
- La bibliothèque BH1750 apparaît maintenant dans le gestionnaire de bibliothèques de VSCode.
- Connexion à un shield Tinkerkit v2 monté sur une Arduino Uno.
- Un premier exemple pour tester le capteur
- F1 → Arduino Examples → Examples from Custom Libraries → BH1750-master → BH1750test.ino
2.1.4 SEN0390 (1 - 200klux - I2C)
- Source : wiki DFRobot
- Distributeur : GOTRONIC
- Caractéristiques
- Alimentation: 2,7 à 6 Vcc
- Consommation: 0,7 mA
- Plage de mesure: 0 à 200 klux
- Précision: 0,054 lux
- Interface: I2C
- Température de service: -40 à 85 °C
- Dimensions: Ø28,5 x 18 mm
- Documentation
- Bibliothèques à télécharger dans l'IDE
- Un premier exemple pour tester le capteur avec l'IDE Arduino
→ Fichier → Exemples → DFRobot B LUX V30B → getLightIntensity.ino