CircuitPython library to support VEML6070 UV Index sensor.
- Author(s): Limor Fried & Michael Schroeder
- Adafruit VEML6070 UV Index Sensor Breakout (Product ID: 2899)
Software and Dependencies:
- Adafruit CircuitPython firmware for the supported boards: https://circuitpython.org/downloads
- Adafruit’s Bus Device library: https://github.com/adafruit/Adafruit_CircuitPython_BusDevice
VEML6070(i2c_bus, _veml6070_it='VEML6070_1_T', ack=False)¶
Driver base for the VEML6070 UV Light Sensor
- i2c_bus (I2C) – The I2C bus the device is connected to
- _veml6070_it (str) – The integration time you’d like to set initially. Available
VEML6070_4_T. The higher the ‘_x_’ value, the more accurate the reading is (at the cost of less samples per reading). Defaults to
VEML6070_1_Tif parameter not passed. To change setting after initialization,
- ack (bool) – The initial setting of
ACKnowledgeon alert. Defaults to
Falseif parameter not passed. To change setting after initialization, use
Quickstart: Importing and using the device VEML6070
Here is an example of using the
VEML6070class. First you will need to import the libraries to use the sensor
import board import adafruit_veml6070
Once this is done you can define your
board.I2Cobject and define your sensor object
i2c = board.I2C() # uses board.SCL and board.SDA uv = adafruit_veml6070.VEML6070(i2c)
Now you have access to the
uv_rawattribute and the calculate the risk level
uv_raw = uv.uv_raw risk_level = uv.get_index(uv_raw)
Turns on or off the ACKnowledge function of the sensor. The ACK function will send a signal to the host when the value of the sensed UV light changes beyond the programmed threshold.
The ACKnowledge Threshold, which alerts the host controller to value changes greater than the threshold. Available settings are:
0= 102 steps;
1= 145 steps.
0is the default setting.
Calculates the UV Risk Level based on the captured UV reading. Requires the
veml6070.uv_raw()). Risk level is available for Integration Times (IT) 1, 2, & 4. The result is automatically scaled to the current IT setting.
LEVEL* UV Index LOW 0-2 MODERATE 3-5 HIGH 6-7 VERY HIGH 8-10 EXTREME >=11
- Not to be considered as accurate condition reporting. Calculation is based on VEML6070 Application Notes: http://www.vishay.com/docs/84310/designingveml6070.pdf
The Integration Time of the sensor, which is the refresh interval of the sensor. The higher the refresh interval, the more accurate the reading is (at the cost of less sampling). The available settings are:
Puts the VEML6070 into sleep (‘shutdown’) mode. Datasheet claims a current draw of 1uA while in shutdown.
Reads and returns the value of the UV intensity.