mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
4.1 KiB
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)を取得したら、推奨の色を取得するために下図を参照します。
特徴
パッケージ内容
- 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) | GPIO22 | GPIO21 | 5V | GND |
| COLORユニット | SCL | SDA | 5V | GND |
関連動画
COLOR デモ - 01

