Lux Messbereich


#1

Die Beleuchtungsstärke kann über 100000 lx erreichen. Die Ausgaben des Sensors gehen nur bis 65535 lx Bei der Sensorenbeschreibung steht bis zu 220k. Was steckt dahinter? Beim Code falsches Zahlenformat?


#2

Habe nun zur Variblendefinition unsigned long eingetragen. Weiterhin gehen die Werte nur bis 65535 lx? Wieso werden keine höheren Werte angezeigt?


#3

Hi,

kannst du kurz genauer beschreiben bei welchem Programm das Auftritt? Wurde es über Blockly erstellt oder ist der Sketch zu senseBox:home, der über die openSenseMap generiert wird?

Grüße
Mario


#4

Sketch, anbei Teilbereiche:

...
    /******** Lichtintensität TSL45315 & UV-Strahlung VEML6070 ********/
    TSL45315 tsl;
    unsigned long lux; 
    VEML6070 veml;
    unsigned int uv;
    byte uvindex;
...

...
      // init TSL 0x38 Beleuchtungsstärke
      tsl.begin();
      delay(1000);
      // init VEML 0x38+0x39 UV-Strahlung
      veml.begin();
      delay(1000);
...


... 
   /******** START tsl/veml (light) measure ********/
    void measure_light(void)
    {
      lux           = tsl.getIlluminance();
      uv            = veml.getUvIntensity();
      uvindex       = 0.4 * (uv * 5.625) / 1000;
    }
...

Danke und Grüße


#5

Hi,

habe das Problem gefunden, es liegt an der Integrationszeit. Ich werde den Fehler im nächsten Blockly Release beheben.

Viele Grüße
Mario