先日の高専祭の時に、電子工作の師匠から「そうだ、これあげます。」といって、袋詰めの部品をいただきました。 中身は、光センサーのようです。
家に帰って、部品を調べて見ると・・・RPR-220というフォトリフレクタでした。
早速、AVRマイコンに接続して色の判定を行ってみます。(当たり前なのかもしれませんが、赤外線発行ダイオードとフォトトランジスタの組み合わせです。 λp=940nm)
もう、お得意のブレッドボードで回路を作って、光センサーの値をLCDに表示します。
これで、レスキューに必要な、銀、白、緑、黒の値を計ってみます。
結果は、以下の通りです。(値は10ビットですので、0~1023になります。)
銀:979
白:232
緑:287
黒: 24
この結果を見ると、値の大きい順に並べると「銀>緑>白>黒」となります。
レスキューのルールに
1.8.4. アルミで作られた銀色の被災者、白(または白に近い色)の床、緑色のテープで作られた被災者、黒いラインの(垂直入射での緑の光に対する)反射率は次の順序でしっかり区別される。銀色の被災者 (最も明るい) > フロア > 緑色の被災者 > 黒色のライン (最も暗い)。
というのがあり、ルール上は 「銀>白>緑>黒」になるように想定されていますが、これと違った結果になってしまいました。(普通の可視光フォトトランジスタを使った光センサーでも「銀>白>緑>黒」になります。)
赤外線を使うとこうなるのが当たり前なのでしょうか?(赤外線の常識なの?)
TJ3のラインセンサーもフォトリレクタを使用しており、赤外線と同様の順番になります。
まぁ、どちらにしても黒と緑と白が判別できれば、困らないのですけどね。
ずっと前に、自作機の研究を開始した当時のこと、「ロボデザイナーの光センサーはサッカー用なのでレスキューに向かない」旨のアドバイスをいただきました。 ロボデザイナーの光センサーが赤外線検知素子だったからのようです。 そのとき「レスキューの色の判定は赤外線検知素子ではダメで、可視光線検知素子を使う必要がある。」と思い込んでいましたが・・・どうも、赤外線でも可視光線でも使えることは使えるようですね。 どちらが最適なのでしょうか? きっと、外光などの影響でどちらが良い、という判断があるのでしょうね。