TSL2561(照度センサ)のライブラリです

Dependents:   HYBRYD2018_IZU_ROCKET Hybrid_IZU2019

Committer:
zebrin1422
Date:
Thu Nov 16 08:23:57 2017 +0000
Revision:
0:40ff41e6257e
Child:
1:4e7b35c8d948
TSL2561_Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zebrin1422 0:40ff41e6257e 1 #ifndef TSL2561
zebrin1422 0:40ff41e6257e 2 #define TSL2561
zebrin1422 0:40ff41e6257e 3
zebrin1422 0:40ff41e6257e 4 #define SLV_WRITE 0b01110010
zebrin1422 0:40ff41e6257e 5 #define SLV_READ 0b01110011
zebrin1422 0:40ff41e6257e 6
zebrin1422 0:40ff41e6257e 7 #define COMMAND 0xA0
zebrin1422 0:40ff41e6257e 8 #define CONTROL_REG 0x00
zebrin1422 0:40ff41e6257e 9
zebrin1422 0:40ff41e6257e 10
zebrin1422 0:40ff41e6257e 11 #define POWER_UP 0x03
zebrin1422 0:40ff41e6257e 12 #define POWER_DOWN 0x00
zebrin1422 0:40ff41e6257e 13 #define RAW_DATA_LOW 0x0C
zebrin1422 0:40ff41e6257e 14 #define RAW_DATA_HIGH 0x0D
zebrin1422 0:40ff41e6257e 15 #define CHECK_REG 0x0A
zebrin1422 0:40ff41e6257e 16 #define TIMING_REG 0x01;
zebrin1422 0:40ff41e6257e 17
zebrin1422 0:40ff41e6257e 18 #define ID_NUMBER 0x11
zebrin1422 0:40ff41e6257e 19 #define TIMING 0x10
zebrin1422 0:40ff41e6257e 20
zebrin1422 0:40ff41e6257e 21 class myTSL2561
zebrin1422 0:40ff41e6257e 22 {
zebrin1422 0:40ff41e6257e 23 public:
zebrin1422 0:40ff41e6257e 24
zebrin1422 0:40ff41e6257e 25 myTSL2561(I2C &i2cBus);
zebrin1422 0:40ff41e6257e 26
zebrin1422 0:40ff41e6257e 27 void begin();
zebrin1422 0:40ff41e6257e 28 /*******************************************************************
zebrin1422 0:40ff41e6257e 29 TSL2561を起動させる関数
zebrin1422 0:40ff41e6257e 30 データをとる前に起動させておく
zebrin1422 0:40ff41e6257e 31 *******************************************************************/
zebrin1422 0:40ff41e6257e 32 int connect_check();
zebrin1422 0:40ff41e6257e 33 /*******************************************************************
zebrin1422 0:40ff41e6257e 34 0が返ってきたらError
zebrin1422 0:40ff41e6257e 35 1が返ってきたらOK
zebrin1422 0:40ff41e6257e 36 *******************************************************************/
zebrin1422 0:40ff41e6257e 37 unsigned int get_luminosity(unsigned int wait_time);
zebrin1422 0:40ff41e6257e 38 /*******************************************************************
zebrin1422 0:40ff41e6257e 39 照度(Lux)を返してくれる関数
zebrin1422 0:40ff41e6257e 40 引数のwait_timeには下のset_rateが返してくる値を入れてください
zebrin1422 0:40ff41e6257e 41 @example
zebrin1422 0:40ff41e6257e 42
zebrin1422 0:40ff41e6257e 43 int time;
zebrin1422 0:40ff41e6257e 44 time = myTSL2561.set_rate(0);
zebrin1422 0:40ff41e6257e 45 pc.printf("Lux = %d\r\n",myTSL2561.get_luminosity(time));
zebrin1422 0:40ff41e6257e 46 *******************************************************************/
zebrin1422 0:40ff41e6257e 47
zebrin1422 0:40ff41e6257e 48 unsigned int set_rate(int channel);
zebrin1422 0:40ff41e6257e 49 /*******************************************************************
zebrin1422 0:40ff41e6257e 50 channelに入れる値によってデータの変換時間が変わる
zebrin1422 0:40ff41e6257e 51 0: 変換時間13.7[ms]
zebrin1422 0:40ff41e6257e 52 1: 変換時間101[ms]
zebrin1422 0:40ff41e6257e 53 2: 変換時間402[ms]
zebrin1422 0:40ff41e6257e 54 この時間が返ってくるので、それをget_luminosityの引数に入れる(@exampleを参照)
zebrin1422 0:40ff41e6257e 55 *******************************************************************/
zebrin1422 0:40ff41e6257e 56
zebrin1422 0:40ff41e6257e 57
zebrin1422 0:40ff41e6257e 58
zebrin1422 0:40ff41e6257e 59 private:
zebrin1422 0:40ff41e6257e 60
zebrin1422 0:40ff41e6257e 61 I2C *i2c;
zebrin1422 0:40ff41e6257e 62 unsigned int time;
zebrin1422 0:40ff41e6257e 63 char power_up_cmd[2];
zebrin1422 0:40ff41e6257e 64 char power_down_cmd[2];
zebrin1422 0:40ff41e6257e 65 char check_cmd;
zebrin1422 0:40ff41e6257e 66 char read_cmd;
zebrin1422 0:40ff41e6257e 67 char timing_cmd[2];
zebrin1422 0:40ff41e6257e 68 char check_read,buff[2];
zebrin1422 0:40ff41e6257e 69 int val[2];
zebrin1422 0:40ff41e6257e 70 unsigned int lux,sekigai;
zebrin1422 0:40ff41e6257e 71
zebrin1422 0:40ff41e6257e 72
zebrin1422 0:40ff41e6257e 73 };
zebrin1422 0:40ff41e6257e 74
zebrin1422 0:40ff41e6257e 75 #endif
zebrin1422 0:40ff41e6257e 76
zebrin1422 0:40ff41e6257e 77
zebrin1422 0:40ff41e6257e 78