色センサーTCS34725

tcs34725.jpg

製品情報

ピン配置

文字が見える方向で、左から

ピン名称説明
LED照明用LED ON/OFF
INT割り込み
SDAI2Cデータ
SCLI2Cクロック
3V3
GNDGround(0V)
VIN電源

なお、I2Cのアドレスは、0x29である。

接続

SDAArduinoのA4へ
SCLArduinoのA5へ
GNDArduinoのGNDへ
VINArduinoの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が消灯する。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS