MKRENV General

Hello All, another question on the ENV

Absolute pressure range: 260 to 1260 hPa

I am getting reading of ~102

Lux range of the sensor with analog reading from 10 to 100.000 lux

does not direct sunlight go much higher than 100k?

UVA/UVB resolution: 16bit; unit μW/cm2

whats the max value of UVA/B? if I place the ENV in sunlight from a window I get a negative figure (not great for a greenhouse...)

UVIndex: from 1 to 11+

I believe this is calculated from UVA/UVB?? this will also be an issue in a greenhouse...

does not direct sunlight go much higher than 100k?

According to Wikipedia direct sunlight is 32000-100000lx.

whats the max value of UVA/B? if I place the ENV in sunlight from a window I get a negative figure (not great for a greenhouse...)

UVB is almost completely filtered out by ordinary glas so you don't get meaningful results inside the greenhouse.

As the VEML6075 is end-of-life vishay doesn't offer detailed information anymore (other than the datasheet which don't tell details about the register values. As far as I found out the values returned by the library are only valid if you don't filter the light (as you do by the glas).

thanks Pylon, interesting information on the light sensors, so looks like Im not going to gain as much as expected from using the MKRENV

my Wikipedia says

Illuminance Example
120,000 lux Brightest sunlight
111,000 lux Bright sunlight
109,870 lux AM 1.5 global solar spectrum sunlight (= 1,000.4 W/m²) [3]
20,000 lux Shade illuminated by entire clear blue sky, midday
1,000 - 2,000 lux Typical overcast day, midday
<200 lux Extreme of thickest storm clouds, midday
400 lux Sunrise or sunset on a clear day (ambient illumination)
40 lux Fully overcast, sunset/sunrise
<1 lux Extreme of thickest storm clouds, sunset/rise

does anyone else have issues with the pressure reading?

I am getting one reading of 102 but it should be displaying 1020

in this library

its showing the serial print as kilopascal

but in the Arduino reference

https://www.arduino.cc/en/Reference/ArduinoMKRENV

its showing "Absolute pressure range: 260 to 1260 hPa" or hectopascal

can anyone clarify please

is there a correct method of converting in the serial output?

thanks

I just mapped it, hope this is ok

pressureHPA = map(pressure, 26, 126, 260, 1260);

pressureHPA = pressure * 10;

This code is not only much faster but also much more readable.

can anyone clarify please

I think the documentation is quite clear about that.

thanks

Hi All!

I have also tested the sensor and here is my understanding:

The pressure you get out by using the command "ENV.readPressure()" in your sketch is in kPa
This is an documentation problem. I have allready report it!

You can also use:
o "ENV.readPressure(MILLIBAR)"
o "ENV.readPressure(PSI)"

But ATTENTION what you get back is alwas the actual Air Pressure on your ambient hight!!!
Like Dan0 reports the pressure you see an wather maps are always the pressure on "Mean Sea Level". That's the pressure you measure and than calculated back to MSL!!!

I have allready adapt the current Arduino_MKRENV.h V1.1.0 Library with an enhancement to use
o "ENV.readPressure(MILLIBAR_MSL)"

Then you get back values as you can see on weather maps or lists... I can send my new Version if someone likes to test and use it!

A good explanation of the UV-Index is here - https://www.who.int/uv/intersunprogramme/activities/uv_index/en/

Temperature and Humidity are not accurate if the Shild sit on top of an MKR-Board. Because of the heating from that board...

All the best and stay healthy
Andreas

Hi Andreas, thanks for your reply, I would like to test your updated library please, hopefully I will get better results out of the sensor

Hi Dan!

The enhanced Library was not jet checked by Arduino and therefore it is necessary to include the library as “CUSTOM Library”.

In your Sketch you need to include the library with:
#include <WAA_Arduino_MKRENV.h>
and exclude the original library…
//#include <Arduino_MKRENV.h>

Then within the loop you can get the pressure with the command ENV.readPressure(MILLIBAR_MSL, Ambient_Hight, Outside_Temp). Here an example:
OutPres = int(ENV.readPressure(MILLIBAR_MSL, 460));

So, you get back the Pressure calculated back to the Mean Sea Level and in my case the MKRENV Shield was in my Garden and we live in 460 Meter above the Sea Level. The actual temperature (needed for a more precise calculation) was grabbed from the MKRENV temperature sensor. Please see all the Details in the PDF File.

But I can’t believe that you have the same Pressure (1010mBar) for 10 days. Are you getting more pressure values with exact the same pressure or just one (before the 16th of April) and then another one (1000mBar, on the 27th morning)?

Cheers Andreas

MKRENV Library Enhancement for Maker.pdf (168 KB)

WAA_Arduino_MKRENV-1.1.1.zip (9.58 KB)

Pressure Example.png

andreas_waldherr:
But I can't believe that you have the same Pressure (1010mBar) for 10 days. Are you getting more pressure values with exact the same pressure or just one (before the 16th of April) and then another one (1000mBar, on the 27th morning)?

Cheers Andreas

exact same reading, multiple readings, could be my mapping but I will check and see

2020-04-20T20:36:44.197Z,1010
2020-04-20T20:51:46.035Z,1010
2020-04-20T21:06:47.878Z,1010
2020-04-20T21:36:49.918Z,1010
2020-04-20T21:51:51.761Z,1010
2020-04-20T22:06:53.499Z,1010
2020-04-20T22:21:55.336Z,1010
2020-04-20T22:36:55.529Z,1010
2020-04-20T22:51:58.499Z,1010
2020-04-20T23:07:00.356Z,1010
2020-04-20T23:22:01.563Z,1010
2020-04-20T23:37:03.4Z,1010
2020-04-20T23:52:05.243Z,1010
2020-04-21T00:07:06.976Z,1010
2020-04-21T00:22:08.917Z,1010