Home Code VEML6075 ultraviolet light sensor and Arduino example

VEML6075 ultraviolet light sensor and Arduino example

by shedboy71

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 UNO R3 CH340G/ATmega328P, compatible for Arduino UNO

 

Schematics/Layout

Arduino VEML6075
5v Vcc
Gnd Gnd
SCL SCL
SDA SDA

 

Code

 

Again we use a library  – https://github.com/NorthernWidget/VEML6075

 

[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

 

Share

You may also like

Leave a Comment