Driver for the Silicon Labs Si1133 Visible Light/UV sensor
Dependents: TBSense2_Sensor_Demo mbed-BLE-coragem-teste Pulga_BLE_GPS pulga-mbed-lorawan-gps ... more
Sample library for use with the Silicon Labs Si1133 sensor for visible light intensity (lux) and UV index measurements.
Information
All examples in this repo are considered EXPERIMENTAL QUALITY, meaning this code has been created as one-off proof-of-concept and is suitable as a demonstration for experimental purposes only. This code will not be regularly maintained by Silicon Labs and there is no guarantee that these projects will work across all environments, SDK versions and hardware.
Datasheet
https://www.silabs.com/documents/public/data-sheets/Si1133.pdf
Usage
#include "mbed.h" #include "Si1133.h" //Create an Si1133 object Si1133 sensor(PC4, PC5); int main() { //Try to open the Si1133 if (sensor.open()) { printf("Device detected!\n"); while (1) { //Print the current light level printf("Lux = %.3f\n", (float)sensor.get_light_level()); //Print the current UV index printf("UV index = %.3f\n", (float)sensor.get_uv_index()); //Sleep for 0.5 seconds wait(0.5); } } else { error("Device not detected!\n"); } }
Diff: Si1133.cpp
- Revision:
- 1:410f61a3900b
- Parent:
- 0:667132a19341
- Child:
- 2:1e2dd643afa8
--- a/Si1133.cpp Sun Nov 12 15:58:26 2017 +0100 +++ b/Si1133.cpp Sun Nov 12 16:42:03 2017 +0100 @@ -136,6 +136,14 @@ return uvi; } +bool Si1133::get_light_and_uv(float *light_level, float *uv_index) +{ + if(measureLuxUvi(light_level, uv_index)) { + return false; + } + return true; +} + /***************************************************************************//** * @brief * Reads register from the Si1133 sensor