The VEML6070 is a cutting-edge UV light sensor with unified i2c / TWI protocol interface designed in a CMOS process. The VEML6070 has an ease of operation via simple command via i2c communication. The ACK (Active Acknowledge) feature with threshold window settings allows the sensor to send out the UVI data even under a strong directed solar UVI & can be easily implemented by the code. This device has integrated photodiode, amplifiers, & analog / digital circuits into a single chip that provides an excellent spectral sensitivity to cover UV spectrum sensing. This can adopt strong temperature compensations and robust refresh rate settings that does not use an external RC low pass filter and it has linear sensitivity to solar UV light and can be adjust easily by an external resistor. Shutoff mode is integrated with VEML6070 to reduce power consumption to be less that 1uA at operating ranges from 2.7v to 5.5v, the VEML6070 can be used in clinical lab, instrumentation’s, science projects, handheld devices, home & industrial, cosmetic products, sports equipment’s, & manufacturing equipment’s. For more details especially for data timing please refer to the datasheet below.
Required Components
- Arduino IDE | Atmel Studio | Energia | Processing
- Arduino PRO, FIO, NANO, UNO, MINI, MEGA, PRO MINI, LEO, BT, DUE, ETHERNET,LILYPAD, NodeMCU, Teensy Board, TeensyDuino, ESP8266 12, 12E, ESP32, LinkItOne, ESP8266 NodeMCU, ESPDuino, ATMEGA328 16/12, ATMEGA32u4 16/8/ MHz, ESP8266, MSP430 ,ATMEGA250 16 MHz, ATSAM3x8E, STM32.
- Note: For AVR (If your using AVR please see the flash size of the MCU)
- Note: The Diagram below is using NANO. (please refer to each MCU’s respective pin-outs & bus configurations)
- VEML6070 IC / Module
- Capacitors (See below required value)
- Resistors (See below required value)
- PCB Designer (Circuit simulation to PCB Layout)
Wiring Guide
Source Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <Wire.h> #include <VEML6070.h> void setup() { Serial.begin(115200); Wire.begin(); VEML6070.init(); Serial.println("14CORE | VEML6070 TEST CODE"); Serial.println(""); VEML6070.VEML6070_forceMode(); VEML6070.VEML6070_trigger(); delay(1000); } void loop() { measureLight(); Serial.println(); delay(1000); VEML6070.VEML6070_trigger(); } void measureLight() { uns16 uv, red, blue, green, white; uv = VEML6070.getUV(); red = VEML6070.getRed(); Serial.println("VEML6070 DATA"); Serial.println(); Serial.print("VEML6070 UV:\t"); Serial.println(uv); Serial.println(); } |
Downloads