子供(2歳)が色を覚え始めたようで「これ何色?」とたずねるとこたえてくれます。そのとき「子供用の玩具で何でこういうの(モノにかざすと色をこたえてくれる玩具)がないのかな」と思い試作してみることにしました。
以前、購入して放置していたスイッチサイエンスのI2C接続カラーセンサモジュールが研究室にありましたのでこれを使いました。I2C接続のためセンサー値の読み取りはちょっと大変です。Sparkfunに掲載されていたこちらを参考にしました。
最終的にはArduinoに音声合成モジュールを取り付けて単体で動作するように(要は玩具として遊べるように)する予定ですが、とりあえず、PC(Processing)にシリアル接続しました。
Processingではカラー値(RGB)の各値を表示し、background関数を利用して色表示しました。
で、あとはRGBを色名に変換して音声合成でPCをしゃべらせます。TTSはこちらのプログラムを利用させていただきました。
ちょっとしたハンダ付けと調査・試作で1時間半くらいでした。で、とりあえず動かしたのが以下の動画です。
色を読み取る、色を再現する、いずれも難しいとは思いましたが、想像以上に難しいです。。。センサーの個体差もあるようですが、当然のごとく照明や環境光などの条件や材質にも依存します。キャリブレーションはかなり難しそうです。
仕組みは簡単だけどやはり玩具が存在しない理由はこの辺にあるのでしょうね。とりあえず今日はこんなところで。