Files

4.1 KiB

COLOR SENSOR ユニット {docsify-ignore-all}


📝概要      :octocat:サンプルコード       🔌回路図       🛒購入リンク      🎬関連動画

概要

COLOR SENSORユニットは内蔵されたTCS3472により、対象物表面の色を検出する事ができます。
M5CoreとI2C通信します。I2Cアドレスは0x29です。

色を特定する原理:

TCS3472には、3×4アレイのフィルタ付きフォトダイオードと16bitのA/Dコンバータが組み込まれています。12個のフォトダイオードのうち、3個は赤フィルタ、3個は緑フィルタ、3個は青フィルタ、3個はフィルタなし(クリア)です。

対象オブジェクトの色を検出すると、TCS3472は4つのチャンネル(赤(R)、緑(G)、青(B)、クリア(C))のデータを返します。赤、緑、青(RGB)のチャンネルの値を使用して、特定の光源の色度座標(x、y)を決定する事ができます。

色度計算の概要:

色度座標(x、y)を取得したら、推奨の色を取得するために下図を参照します。

特徴

  • 検出範囲: -40℃ ~ 85℃
  • Groveインターフェース、UIFlowArduinoをサポート
  • LEGO 互換ホール

パッケージ内容

  • 1x COLOR ユニット
  • 1x Grove ケーブル

アプリケーション

  • 色校正
  • カラートラッキングロボット

関連リンク

サンプルコード

1. Arduino IDE

完全なソースコードはこちら

/*
  Color test
    hardware: M5Stack

  please install the Adfruit TCS34725 library first ...
*/
#include <Wire.h>
#include <M5Stack.h>
#include "Adafruit_TCS34725.h"

// declaration
uint16_t clear, red, green, blue;
#define commonAnode true // set to false if using a common cathode LED

// new a object
Adafruit_TCS34725 tcs;
tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS,TCS34725_GAIN_4X);

// initialization
M5.begin(true, false, false);
tcs.begin();
tcs.setIntegrationTime(TCS34725_INTEGRATIONTIME_154MS);
tcs.setGain(TCS34725_GAIN_4X);

// read data
tcs.getRawData(&red, &green, &blue, &clear);

このサンプルコードを書き込んだ後、PCのシリアルターミナルにはRGBC(red, green, blue, clear)の値を表示します。

回路図

ピンマップ

M5Core(GROVE A)GPIO22GPIO215VGND
COLORユニットSCLSDA5VGND

関連動画

COLOR デモ - 01