Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmur2/python-veml6070
A python library for accessing the VEML6070 digital UV light sensor from Vishay
https://github.com/cmur2/python-veml6070
i2c iot light python raspberrypi sensor smbus uva vishay
Last synced: 25 days ago
JSON representation
A python library for accessing the VEML6070 digital UV light sensor from Vishay
- Host: GitHub
- URL: https://github.com/cmur2/python-veml6070
- Owner: cmur2
- License: mit
- Created: 2016-05-29T20:35:02.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-05-12T11:34:46.000Z (over 1 year ago)
- Last Synced: 2023-05-12T12:29:21.783Z (over 1 year ago)
- Topics: i2c, iot, light, python, raspberrypi, sensor, smbus, uva, vishay
- Language: Python
- Homepage: https://mycroba.se/mirror-redirect/python-veml6070
- Size: 45.9 KB
- Stars: 9
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# python-veml6070
![ci](https://github.com/cmur2/python-veml6070/workflows/ci/badge.svg?branch=master)
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.
Default settings are suitable for Raspberry Pi 2 and 3 and was successfully tested using a [breakout](https://github.com/watterott/VEML6070-Breakout).
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).
## Usage
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.
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!
## Serious Flaws before September 2019
In September 2019 it was discovered (and fixed) that:
- previously the sensor was never shutdown between measurements which wastes power but still takes measurements successfully
- 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.## Develop
Run `make help` to find out about the available development commands.
## License
Python files in this repository are released under the [MIT license](LICENSE).