概要
M5Stack社のユニット紹介シリーズのカラーセンサユニットです。色を判定して取得することができます。
商品
- M5Stack用カラーセンサユニット(スイッチサイエンス)
- Color Sensor RGB Unit (TCS3472)(公式ストア)
赤のコネクタなのでI2C接続ですね。
使っているセンサーはTCS34725です。
まんなかの赤い部分がセンサーで、左右にLEDが並んでいます。LEDで光らせながらセンサーで読み取っていますので真っ暗な場所でも読み取ることができます。
UIFlowでの使い方
四角を画面において、その色を変更させています。背景色はRGB指定だと指定できないんですよね。
私の環境だと若干赤が弱かったですが、そこそこ色が判定できました。ただし紙みたいなもので画面上の色はちょっと難しかったです。
Arduinoでの使い方
ArduinoのサンプルスケッチではAdafruit_TCS34725を使っていますが、素のセンサーからの数値は取得できますが、一般的な色に変換するところがうまく動いていません。
このセンサーは明るさと赤、緑、青の4種類のセンサーが搭載されていますが、色ごとに感度が違うのでそのままの数値だと人間がみた色にはなりません。このへんはRGB LEDとかも色ごとに調整が必要なのと変わらないと思います。
AdafruitのセンサーとはLEDの色温度とか特性が違っていて、取得できる色も違うのではと思いますがよくわからないです。UIFlowではそれなりに色が取得できたので、なにか独自の補正をしていると思いますが、Arduinoのコード例はありません。
Arduinoで使いたい場合には素のセンサーの値をいろいろな色でどうなるか調べてみて、自分で補正をしてあげる必要がありそうです。ちょっといじってみたところ、明るさのCの値が重要そうですが時間かかる感じなのでまた今度にしたいと思います。。。
まとめ
んー、ちょっと使いにくい感じでした。最近だとマリオのLEGOが色センサー使っていましたね。クリボーとかの色を足の下のセンサーで読み取っているみたいです。
あの使い方だと、使っている色をすべて調べてテーブルにしておけば問題なさそうですね。
コメント