Bonjour,
Je réalise un projet qui permet de comparer des mesures de lumière incidente (du soleil notamment).
Pour cela, j'utilise un luxmètre TSL2591 car il prend jusqu'à 88k lux ce qui est correct pour le soleil.
Cependant, en réalisant des tests, j'ai quelques soucis:
au delà d'une certaine intensité lumineuse, il semble que le capteur "sature". Pour mes 10 valeurs (dont je fais après la moyenne) (cf code), quand l'intensité lumineuse devient trop importante, les valeurs ne s'affichent simplement plus dans le moniteur série. J'aurai par exemple 6 valeurs seulement.
Je pense pourtant avoir réalisé les bons réglages pour une telle intensité lumineuse.
Avez-vous une solution à apporter à mon problème s'il-vous-plait ?
Merci,
[code]
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_TSL2591.h"
#include <LiquidCrystal_I2C.h>
//INI DU CAPTEUR TSL
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);
//INI DE L'ECRAN LCD
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
Serial.begin(9600);
Wire.begin();
Wire.beginTransmission(0x27);
LiquidCrystal_I2C lcd(0x27, 20, 4);
lcd.begin(16, 2);
lcd.init();
lcd.clear();
lcd.backlight();
lcd.print("Mesure en cours");
}
//DEFINITION DES VARIABLES
long ciel_sum = 0;
long sol_sum = 0;
int countciel = 0;
int countsol = 0;
void configureSensor(void)
{
tsl.setGain(TSL2591_GAIN_LOW);
tsl.setTiming(TSL2591_INTEGRATIONTIME_100MS);
}
//PRISE DES MESURES 10 SECONDES CHACUNE
void loop() {
for (int i = 0; i < 10; i++) {
sensors_event_t event;
tsl.getEvent(&event);
if (event.light) {
Serial.println(event.light);
ciel_sum += event.light;
lcd.clear();
lcd.backlight();
lcd.print(event.light);
}
countciel++;
delay(1000);
}
}
[/code]
hello
sur ton site marchand, il y a cet avertissement
Note that some checks need to be performed on the sensor data in case the sensor saturated. If saturation happens, please adjust the gain and integration time up or down to change the sensor's sensitivity and output range.
Merci dfgh et al1fch pour vos réponses.
Vu que les valeurs ne s'affichent pas, c'est difficile à lire, mais il semble que cela bloque au dessus de 15/20k lux.
Ce qui me surprend vis-à-vis de mon programme est aussi que sur le programme test (fourni pour utiliser le capteur), il n'y a aucune saturation et j'obtiens bien des valeurs jusqu'à 80k lux (voire plus). Je vais (ré)essayé les autres méthodes proposées par le programme test mais je crois que j'avais le même problème.
Je me demande si le problème ne vient simplement pas de mon code (syntaxe ou autre) que j'aurais mal identifié étant donné ma faible expérience sur Arduino.
Merci