Skip to content

tedyapo/arduino-VEML7700

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arduino-VEML7700

Arduino driver for VEML7700 ambient light sensor

Connections

The VEML7700 uses I2C communication. Connect it to the arduino SCL and SDA pins.

Caution: the VEML7700 runs on 3.6V maximum, and does not have 5V-tolerant I/O pins. If you have a 3.3V arduino-compatible board, you can connect the SCL/SDA lines directly to the VEML7700. Otherwise you will need a 5V-to-3.3V level converter.

Usage

see examples/read_VEML7700 for a simple example

API

The code exposes a low-level set of API functions corresponding to the command set described in the datasheet and a higher-level API for ease of use

High-level API

uint8_t VEML7700::getALSLux(float& lux);

samples the current ambient light value (photopic curve) using the current gain and integration time settings. Returns 0 on success, non-zero on failure.

uint8_t VEML7700::getWhiteLux(float& lux);

samples the current ambient light value (white-like curve) using the current gain and integration time settings. Returns 0 on success, non-zero on failure.

uint8_t VEML7700::getAutoALSLux(float& lux);

samples the current ambient light value (photopic curve) using auto-ranging algorithm described in application note. Returns 0 on success, non-zero on failure.

uint8_t VEML7700::getAutoWhiteLux(float& lux);

samples the current ambient light value (white-like curve) using auto-ranging algorithm described in application note. Returns 0 on success, non-zero on failure.

void VEML7700::sampleDelay();

delays (busy-wait) long enough to ensure a new sample is generated after the call is executed, based on current setting of integration time.

About

Arduino driver for VEML7700 ambient light sensor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages