The VEML6075 senses UVA and UVB light and incorporates photodiode, amplifiers, and analog / digital circuits into a single chip using a CMOS process. When the UV sensor is applied, it is able to detect UVA and UVB intensity to provide a measure of the signal strength as well as allowing for UVI measurement.
The VEML6075 provides excellent temperature compensation capability for keeping the output stable under changing temperature. VEML6075’s functionality is easily operated via the simple command format of I2C (SMBus compatible) interface protocol. VEML6075’s operating voltage ranges from 1.7 V to 3.6 V.
Shopping List
Amount | Part Type | |
---|---|---|
1 | VEML6075 | |
1 | BBC micro:bit bulk micro-controller with motion detection, compass, LED display and Bluetooth |
Schematics/Layout
Code
Again we use a library – https://github.com/NorthernWidget/VEML6075
[codesyntax lang=”cpp”]
[codesyntax lang=”cpp”]
#include <VEML6075.h> VEML6075 UV; void setup() { Serial.begin(38400); //Begin Serial UV.begin(); //Begin the UV module } void loop() { Serial.print("UVA = "); Serial.print(UV.GetUVA()); //Get compensated UVA value Serial.print(" UVB = "); Serial.println(UV.GetUVB()); //Get compensated UVB value delay(1000); }
[/codesyntax]
Output
Open the serial monitor – this is what I saw
UVA = 0.00 UVB = 3.00
UVA = 0.00 UVB = 0.00
UVA = 0.00 UVB = 1.00
UVA = 0.00 UVB = 2.00
UVA = 0.00 UVB = 1.00
UVA = 0.00 UVB = 3.00
UVA = 0.00 UVB = 1.00
UVA = 0.00 UVB = 1.00
Links
https://www.vishay.com/docs/84304/veml6075.pdf
I2C Interface 3.3V Board Based on VEML6075 UVA UVB Light Sensor Module