Lux Messbereich

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?

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

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

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

Hi,

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

Viele Grüße
Mario

1 Like