Complete library for whole scientific pre-final
Dependencies: BOX_1
ENVIROMENTAL/VEML6070.cpp@5:b0fa65791218, 2019-09-05 (annotated)
- Committer:
- Alessio_Zaino
- Date:
- Thu Sep 05 20:56:11 2019 +0000
- Revision:
- 5:b0fa65791218
- Parent:
- 0:f8a9cceb4186
final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alessio_Zaino | 0:f8a9cceb4186 | 1 | /*************************************************** |
Alessio_Zaino | 0:f8a9cceb4186 | 2 | This is a library for the VEML6070 UV-A Sensor |
Alessio_Zaino | 0:f8a9cceb4186 | 3 | |
Alessio_Zaino | 0:f8a9cceb4186 | 4 | Works with the VEML6070 sensor from Adafruit |
Alessio_Zaino | 0:f8a9cceb4186 | 5 | ----> https://www.adafruit.com/products/2899 |
Alessio_Zaino | 0:f8a9cceb4186 | 6 | Or knock-off sensors from aliexpress |
Alessio_Zaino | 0:f8a9cceb4186 | 7 | |
Alessio_Zaino | 0:f8a9cceb4186 | 8 | These sensors use I2C to communicate, 2 pins are required to |
Alessio_Zaino | 0:f8a9cceb4186 | 9 | interface |
Alessio_Zaino | 0:f8a9cceb4186 | 10 | |
Alessio_Zaino | 0:f8a9cceb4186 | 11 | 06/09/2017 - Initial mbed driver by Scott Roberts |
Alessio_Zaino | 0:f8a9cceb4186 | 12 | ****************************************************/ |
Alessio_Zaino | 0:f8a9cceb4186 | 13 | |
Alessio_Zaino | 0:f8a9cceb4186 | 14 | #include "VEML6070.h" |
Alessio_Zaino | 0:f8a9cceb4186 | 15 | VEML6070::VEML6070 (I2C& p_i2c) : _i2c(p_i2c) |
Alessio_Zaino | 0:f8a9cceb4186 | 16 | { |
Alessio_Zaino | 0:f8a9cceb4186 | 17 | |
Alessio_Zaino | 0:f8a9cceb4186 | 18 | } |
Alessio_Zaino | 0:f8a9cceb4186 | 19 | |
Alessio_Zaino | 0:f8a9cceb4186 | 20 | void VEML6070::begin(veml6070_integrationtime_t itime) |
Alessio_Zaino | 0:f8a9cceb4186 | 21 | { |
Alessio_Zaino | 0:f8a9cceb4186 | 22 | _i2c.read((int)0x18,dt,1,false); |
Alessio_Zaino | 0:f8a9cceb4186 | 23 | dt[0]=((itime << 2) | 0x02); |
Alessio_Zaino | 0:f8a9cceb4186 | 24 | _i2c.write((int)VEML6070_ADDR_L,dt,2,false); |
Alessio_Zaino | 0:f8a9cceb4186 | 25 | // Thread::wait(500); |
Alessio_Zaino | 0:f8a9cceb4186 | 26 | } |
Alessio_Zaino | 0:f8a9cceb4186 | 27 | |
Alessio_Zaino | 0:f8a9cceb4186 | 28 | uint16_t VEML6070::readUV() |
Alessio_Zaino | 0:f8a9cceb4186 | 29 | { |
Alessio_Zaino | 0:f8a9cceb4186 | 30 | uint16_t uvi; |
Alessio_Zaino | 0:f8a9cceb4186 | 31 | _i2c.read(VEML6070_ADDR_H, dt,1); |
Alessio_Zaino | 0:f8a9cceb4186 | 32 | uvi = dt[0]<<8; |
Alessio_Zaino | 0:f8a9cceb4186 | 33 | _i2c.read(VEML6070_ADDR_L, dt,1,false); |
Alessio_Zaino | 0:f8a9cceb4186 | 34 | uvi |= dt[0]; |
Alessio_Zaino | 0:f8a9cceb4186 | 35 | |
Alessio_Zaino | 0:f8a9cceb4186 | 36 | return uvi; |
Alessio_Zaino | 0:f8a9cceb4186 | 37 | } |
Alessio_Zaino | 0:f8a9cceb4186 | 38 |