A python library for accessing the VEML6070 digital UV light sensor from Vishay
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.9KB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
1234567891011121314151617181920212223242526
  1. # python-veml6070
  2. [![Build Status](https://travis-ci.org/cmur2/python-veml6070.svg?branch=master)](https://travis-ci.org/cmur2/python-veml6070)
  3. A Python library for accessing the [VEML6070 digital UV light sensor](http://www.vishay.com/docs/84277/veml6070.pdf) from Vishay via `python-smbus` using the I2C interface.
  4. Default settings are suitable for Raspberry Pi 2 and 3 and was successfully tested using a [breakout](https://github.com/watterott/VEML6070-Breakout).
  5. I created this Python library in style of e.g. [python-tsl2591](https://github.com/maxlklaxl/python-tsl2591) (of the TSL2591 light sensor) since I found either [python code](https://github.com/ControlEverythingCommunity/VEML6070) broken for my hardware or [code targeted at Arduino](https://github.com/kriswiner/VEML6070).
  6. ## Usage
  7. Consult the [datasheet](https://www.vishay.com/docs/84277/veml6070.pdf), the [application notes](https://www.vishay.com/docs/84310/designingveml6070.pdf) and see [demo.py](demo.py) for clues how to use this library.
  8. Not all functions of the chip are supported, especially not the interrupt handling since I had no use for this. Please send pull requests for improvements and bug fixes!
  9. ## Serious Flaws before September 2019
  10. In September 2019 it was discovered (and fixed) that:
  11. - previously the sensor was never shutdown between measurements which wastes power but still takes measurements successfully
  12. - the UVA light intensity was calculated wrongly (too high) for `rset != RSET_240K` due to wrong compensation: higher `rset` leads to higher sampling time leads to higher absolute ADC step counts which *should* lead to every ADC step indicating a smaller amount of `W/(m*m)` of UVA power and a higher precision of the final UVA power but it wrongly behaved the opposite way. The `integration_time` worked correctly all the time.
  13. ## License
  14. Python files in this repository are released under the [MIT license](LICENSE).