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
- class adafruit_veml6070.VEML6070(i2c_bus: I2C, _veml6070_it: str = 'VEML6070_1_T', ack: bool = 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 options:
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,
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)
- property ack: int¶
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.
- property ack_threshold: int¶
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.
- get_index(_raw: int) str ¶
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.
Not to be considered as accurate condition reporting. Calculation is based on VEML6070 Application Notes: http://www.vishay.com/docs/84310/designingveml6070.pdf
- property integration_time: str¶
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:
- sleep() None ¶
Puts the VEML6070 into sleep (‘shutdown’) mode. Datasheet claims a current draw of 1uA while in shutdown.