adafruit_veml7700
CircuitPython driver for VEML7700 high precision I2C ambient light sensor.
Author(s): Kattni Rembor
Implementation Notes
Hardware:
Adafruit VEML7700 Lux Sensor - I2C Light Sensor (Product ID: 4162)
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
Adafruit’s Register library: https://github.com/adafruit/Adafruit_CircuitPython_Register
- class adafruit_veml7700.VEML7700(i2c_bus: I2C, address: int = 16)
Driver for the VEML7700 ambient light sensor.
- Parameters:
- gain_value() float
Gain value in integer form. Used for calculating
resolution()
.
- integration_time_value() int
Integration time value in integer form. Used for calculating
resolution()
.
- light = 4
Ambient light data.
This example prints the ambient light data. Cover the sensor to see the values change.
import time import board import adafruit_veml7700 i2c = board.I2C() # uses board.SCL and board.SDA veml7700 = adafruit_veml7700.VEML7700(i2c) while True: print("Ambient light:", veml7700.light) time.sleep(0.1)
- light_gain = 2
Ambient light gain setting. Gain settings are 2, 1, 1/4 and 1/8. Settings options are: ALS_GAIN_2, ALS_GAIN_1, ALS_GAIN_1_4, ALS_GAIN_1_8.
This example sets the ambient light gain to 2 and prints the ambient light sensor data.
import time import board import adafruit_veml7700 i2c = board.I2C() # uses board.SCL and board.SDA veml7700 = adafruit_vcnl4040.VCNL4040(i2c) veml7700.light_gain = veml7700.ALS_GAIN_2 while True: print("Ambient light:", veml7700.light) time.sleep(0.1)
- light_high_threshold = 1
Ambient light sensor interrupt high threshold setting.
- light_integration_time = 4
Ambient light integration time setting. Longer time has higher sensitivity. Can be: ALS_25MS, ALS_50MS, ALS_100MS, ALS_200MS, ALS_400MS, ALS_800MS.
This example sets the ambient light integration time to 400ms and prints the ambient light sensor data.
import time import board import adafruit_veml7700 i2c = board.I2C() # uses board.SCL and board.SDA veml7700 = adafruit_vcnl4040.VCNL4040(i2c) veml7700.light_integration_time = veml7700.ALS_400MS while True: print("Ambient light:", veml7700.light) time.sleep(0.1)
- light_interrupt = 0
Enable interrupt.
True
to enable,False
to disable.
- light_interrupt_high = 6
Ambient light high threshold interrupt flag. Triggered when high threshold exceeded.
- light_interrupt_low = 6
Ambient light low threshold interrupt flag. Triggered when low threshold exceeded.
- light_low_threshold = 2
Ambient light sensor interrupt low threshold setting.
- light_shutdown = 0
Ambient light sensor shutdown. When
True
, ambient light sensor is disabled.
- property lux: float
Light value in lux.
This example prints the light data in lux. Cover the sensor to see the values change.
import time import board import adafruit_veml7700 i2c = board.I2C() # uses board.SCL and board.SDA veml7700 = adafruit_veml7700.VEML7700(i2c) while True: print("Lux:", veml7700.lux) time.sleep(0.1)
- resolution() float
Calculate the
resolution`()
necessary to calculate lux. Based on integration time and gain settings.
- white = 5
White light data.
This example prints the white light data. Cover the sensor to see the values change.
import time import board import adafruit_veml7700 i2c = board.I2C() # uses board.SCL and board.SDA veml7700 = adafruit_veml7700.VEML7700(i2c) while True: print("White light:", veml7700.white) time.sleep(0.1)