S11059-02DTカラーセンサーのライブラリ
Color.h@1:815b206c14fb, 2021-11-18 (annotated)
- Committer:
- koizumi_8
- Date:
- Thu Nov 18 07:19:44 2021 +0000
- Revision:
- 1:815b206c14fb
- Parent:
- 0:2bb06ba9bace
const
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koizumi_8 | 0:2bb06ba9bace | 1 | //S11059-02DTカラーセンサー用のライブラリ |
koizumi_8 | 0:2bb06ba9bace | 2 | #include "mbed.h" |
koizumi_8 | 0:2bb06ba9bace | 3 | |
koizumi_8 | 0:2bb06ba9bace | 4 | #define ADDR (0x2A<<1)//センサーのアドレス |
koizumi_8 | 0:2bb06ba9bace | 5 | #define CTRL 0x00//コントロールレジスタ |
koizumi_8 | 0:2bb06ba9bace | 6 | #define READ 0x03//読み込む場所 |
koizumi_8 | 0:2bb06ba9bace | 7 | #define RESET 0x89//ADCリセットとスリープ解除 |
koizumi_8 | 0:2bb06ba9bace | 8 | |
koizumi_8 | 0:2bb06ba9bace | 9 | class Color{ |
koizumi_8 | 0:2bb06ba9bace | 10 | private: |
koizumi_8 | 0:2bb06ba9bace | 11 | I2C &i2c_handle_;//通信のハンドル |
koizumi_8 | 0:2bb06ba9bace | 12 | char data_[8];//データを受信 |
koizumi_8 | 0:2bb06ba9bace | 13 | public: |
koizumi_8 | 0:2bb06ba9bace | 14 | Color(I2C &i2c_handle,uint8_t cmd);//cmdは積分時間などの設定 |
koizumi_8 | 0:2bb06ba9bace | 15 | void update();//データの更新 |
koizumi_8 | 1:815b206c14fb | 16 | uint16_t r() const;//赤のパラメータ |
koizumi_8 | 1:815b206c14fb | 17 | uint16_t g() const;//緑のパラメータ |
koizumi_8 | 1:815b206c14fb | 18 | uint16_t b() const;//青のパラメータ |
koizumi_8 | 1:815b206c14fb | 19 | uint16_t ir()const;//赤外線のパラメータ |
koizumi_8 | 0:2bb06ba9bace | 20 | }; |
koizumi_8 | 0:2bb06ba9bace | 21 | /**使用例 |
koizumi_8 | 0:2bb06ba9bace | 22 | #include "mbed.h" |
koizumi_8 | 0:2bb06ba9bace | 23 | #include "Color.h" |
koizumi_8 | 0:2bb06ba9bace | 24 | |
koizumi_8 | 0:2bb06ba9bace | 25 | Serial pc(USBTX,USBRX); |
koizumi_8 | 0:2bb06ba9bace | 26 | I2C handle(PB_9,PB_8); |
koizumi_8 | 0:2bb06ba9bace | 27 | |
koizumi_8 | 0:2bb06ba9bace | 28 | int main() |
koizumi_8 | 0:2bb06ba9bace | 29 | { |
koizumi_8 | 0:2bb06ba9bace | 30 | Color color(handle,0x0B); |
koizumi_8 | 0:2bb06ba9bace | 31 | while(1) { |
koizumi_8 | 0:2bb06ba9bace | 32 | color.update(); |
koizumi_8 | 0:2bb06ba9bace | 33 | int R=color.r(); |
koizumi_8 | 0:2bb06ba9bace | 34 | int G=color.g(); |
koizumi_8 | 0:2bb06ba9bace | 35 | int B=color.b(); |
koizumi_8 | 0:2bb06ba9bace | 36 | int IR=color.ir(); |
koizumi_8 | 0:2bb06ba9bace | 37 | printf("R=%d G=%d B=%d IR=%d\r\n",R,G,B,IR); |
koizumi_8 | 0:2bb06ba9bace | 38 | wait(1); |
koizumi_8 | 0:2bb06ba9bace | 39 | } |
koizumi_8 | 0:2bb06ba9bace | 40 | } |
koizumi_8 | 0:2bb06ba9bace | 41 | */ |