Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::色センサーの憂鬱 その2

色センサーの憂鬱 その2




































#FFFFFF #808080
#C0C0C0 #000000
#FF0000 #800000
#00FF00 #008000
#0000FF #000080
#FFFF00 #808000
#FF00FF #800080
#00FFFF #008080

まず、色センサーの動作を確認するため、基準となるカラーチャートを作成した。上図のように3原色(RGB)の明るさを16進で表して、#FFFFFFは白、#FF0000は赤、#000000は黒となる。また#FFFF00は黄色、#FF00FFはマゼンタ、#00FFFFはシアンで絵の具の3原色となる。また、#FFではなく#80(明るさが半分のもの)のカラーチャートや、明るさの異なる灰色(#C0C0C0と#808080)のカラーチャートも作成した。これをインクジェットプリンタ用の光沢紙に印刷する。

さて、色センサーをこのカラーチャートの上にかざして、測る。うーん。違うなぁ…
赤はそこそこの値が得られるが、緑と青が期待どおりの値を示さない。どうも緑のカラーチャート上でも青のカラーチャート上でも同じような感じである。??????????

これで3日は悩んだね。(まあ一日中やっているわけではないが。。。)

ネットを調べていたら、白色LEDは青色LEDに蛍光体をつけたものと3色のLEDをひとつのパッケージにいれたものがあることがわかった。
http://techon.nikkeibp.co.jp/NE/1996/960923/report2.htm

そうか!色成分がないんだッ!!

で、照明用の白色LEDを、3色のLEDに変更した。ところが、3色のLEDの発光点が同じ場所でないので、同時に3色を点灯しても、完全な白には見えない。(明るさは電流制限抵抗で調整している)やれやれ、それでは赤を測定するときは、赤のLEDを点灯させる。というように、測定する色に応じた色の照明をすることにした。そうすると、PICのIOが足りなくなる。あと3bit必要だが、12F629ではもうIOが残っていない!!
しかたないねぇ、PICを18Pの16F648Aとして基板を作り直した。

で、今度は? うーん、まあそれっぽくなったかなぁ。でも絶対値(最大測定値は12kHzのとき)が赤、緑、青で大分ちがう。この数値のみで色の判断はとてもできそうもないなぁ。。。

そうか!白を計ってレファレンスとし、その値からどれだけ違うかを表示をすれば判りやすいだろう。相対値というわけね。

というわけで「色センサーの憂鬱3」に続く。。。。

Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin