文字が見える方向で、左から
ピン名称 | 説明 |
LED | 照明用LED ON/OFF |
INT | 割り込み |
SDA | I2Cデータ |
SCL | I2Cクロック |
3V3 | |
GND | Ground(0V) |
VIN | 電源 |
なお、I2Cのアドレスは、0x29である。
SDA | ArduinoのA4へ |
SCL | ArduinoのA5へ |
GND | ArduinoのGNDへ |
VIN | Arduinoの5Vへ |
下記のプログラム例のようにsetInterrupt()でLEDをON/OFFするには、LEDとINTを結ぶ。
ライブラリ Adafruit_TCS34725-master.zip
プログラムの先頭の方(setupより前)に以下を記述する。
#include <Wire.h> #include "Adafruit_TCS34725.h" Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X);
このうち、3行目がセンサーの動作を設定している。 TCS34725_INTEGRATIONTIME_50MSの部分は、測定にかける時間を設定していて、50MSは50msを表す。その他に、2_4MS(=2.4ミリ秒), 24MS, 101MS, 154MS, 700MSから選べる。時間が大きいほど細かく測定できる。TCS34725_GAIN_4Xの部分は測定値を何倍するかを表す。4Xは4倍を表す。その他に、1X, 16X, 60Xを選べる。 setup内には、
tcs.begin()
を書く。loopでは、
tcs.setInterrupt(false);
でセンサーのLEDを点灯し、
tcs.getRawData(&red, &green, &blue, &clear);
で色を読み取れる。ただし、red, green, blue, clearはuint16_t型の変数であり、
uint16_t red, green, blue、clear;
で定義されているものとする。clearは可視光全体の強さを表している模様。
tcs.setInterrupt(true);
でセンサーのLEDが消灯する。