電子工作etc


■カラーセンサー(S9706)
  ★概要
    電子工作では、カラー(RGB)を発光させるLEDを応用した製作物は多く見かけます。しかし、カラーをセンス
    するセンサーを応用した製作物はあまり見かけません。

    今回は、どのように応用するかまでは考えていませんが、廉価なカラーセンサーが入手できたので、基本的な
    実験をしてみました。

  ★動作原理
    カラーセンサーが出力する、カラーデータ(RGB)を取得し、LCDへ表示させます。
    しかし、データを表示させても、それが正しい値を示しているのかが分かりません。
    そこで、フルカラーLEDで、“赤色”“緑色”“青色”を各々点灯させて、カラーセンサに照らすことにより、
    RGBの値がどう変化するかを見てみます。

    <デジタルカラーセンサ/S9706>
     ※特長
      ・Red (λ=615 nm)、Green (λ=540 nm)、Blue (λ=465 nm)にそれぞれ感度をもつデジタルカラーセンサです。
      ・検出結果は12ビットのデジタル値でシリアルに出力されます。
      ・3つの12ビットレジスタを内蔵しており、RGB3色の同時測光が可能です。
      ・感度設定が2段階あり、広範囲の測光が可能です。

     ※概観
     

    ※ブロック図
     

    ※分光感度特性
     

    ※タイミングチャート
     

     ※変換基板への実装例
     

    <フルカラーLED/OSTA71AD−A>
     ※特長
      ・4本足のフルカラー角型LEDです。
      ・ボディー:ウォータークリア
      ・外形:7.6mm角
      ・波長:赤625,緑525,青470nm
      ・明るさ:赤3000,緑4200,青2180mcd(20mA)
      ・半減角:90°
      ・IF:2.0V(赤),3.2V(青・緑)

     ※概観
     

  ★回路図
     

  ★プログラム
    S9706からのカラーデータの取得部分を関数化しました。
    ソースリストはここです。
    HEXリストはここです。

  ★動作確認
     
    S9706とPIC18F88の間は4本線で接続します。
     
    赤色LEDを照らした時のRGBの値です。Rが最も大きな値を示します。
     

    緑色LEDを照らした時のRGBの値です。Gが最も大きな値を示します。

     

    青色LEDを照らした時のRGBの値です。Bが最も大きな値を示します。

     
    如何でしょう?
    カラーセンサーがデジタル式なので、とても簡単な仕組みで、カラーデータを取得することが出来ます。
    後は、これをどう応用するかですが、それはこれからのお楽しみですね。。。{^_^}!


電子工作etc