UV 3 click is an advanced ultraviolet (UV) light sensor with I2C protocol interface. The click carries VEML6070 UVA light sensor designed by the CMOS process. UV 3 click runs on either 3.3V or 5V power supply.
VEML6070 is an advanced ultraviolet (UV) light sensor with I2C protocol interface and designed by the CMOS process. The active acknowledge (ACK) feature with threshold windows setting allows the UV sensor to send out a UVI alert message.
VEML6070 incorporates a photodiode, amplifiers, and analog/digital circuits into a single chip. VEML6070’s adoption of Filtron™ UV technology provides the best spectral sensitivity to cover UV spectrum sensing. It has an excellent temperature compensation and a robust refresh rate setting that does not use an external RC low pass filter. VEML6070 has linear sensitivity to solar UV light and is easily adjusted by an external resistor.
Type | Optical |
On-board modules | VEML6070 UVA light sensor |
Key Features | Converts solar UV light intensity to digital data, excellent performance of UV radiation measurement under long time solar UV exposure |
Key Benefits | Excellent UV sensitivity and linearity via Filtron™ technology |
Interface | I2C |
Input Voltage | 3.3V or 5V |
Click board size | S (28.6 x 25.4 mm) |
This table shows how the pinout on UV 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Designator | Name | Default Position | Default Option | Description |
---|---|---|---|---|
JP1 | Logic level | Left | 3.3V | Data in level Voltage Selection 3V3/5V, left position 3V3, right position 5V |
Code examples for UV 3 click, written for MikroElektronika hardware and compilers are available on Libstock.
This code reads the value of UV light from VEML6070 and sends it to the user via UART.
01 char uartTxt [20]; 02 03 void systemInit() 04 { 05 Uart5_Init (9600); 06 Uart5_Write_Text ("rnInitializing..."); 07 I2C2_Init( 100000 ); 08 Delay_ms (100); 09 UV_3_initDriver (0x70,I2C2_Start, I2C2_Stop, I2C2_Write, I2C2_Read); 10 VEML6070_Init(); 11 Uart5_Write_Text ("rnInitialized"); 12 } 13 14 void main() 15 { 16 systemInit(); 17 18 while( 1 ) 19 { 20 Uart5_Write_Text ("rnUV value: "); 21 IntToStr (UV_3_read(), uartTxt); 22 Uart5_Write_Text (uartTxt); 23 Delay_ms (750); 24 } 25 }