【電子工作】色の読み取りとフルカラーLEDへの色の転写

Arduino

色の読み取りとフルカラーLEDへの色転写

こんにちは。くろべこでございます。

昨日の記事でデジタルカラーセンサ(S11059-02DT)とフルカラーLEDの紹介をしました。

フルカラーLEDの紹介と使い方解説
フルカラーLEDの紹介とArduinoでの制御方法の記事になります。フルカラーLEDはRGBのLEDが一つになったLEDです。今回は各色に可変抵抗によるPWM制御を行いいろんな色を作れるコードを書いていきたいと思います。
【S11059-02DT】I2Cデジタルカラーセンサのレビュー
浜松ホトニクス製のI2Cデジタルカラーセンサ【S11059-02DT】の紹介記事になります。本記事では、S11059-02DTの紹介とライブラリ不使用で動作確認を行います。確認に使用するマイコンはArduino-nanoを使います。

今回はせっかくなのでこの二つを使用して電子工作をしていきます。

何をしたいかというと、、、

【色転写装置】を作りたいと思います。

どのような機能かというと、“カラーセンサで読み取ったRGBデータでフルカラーLED制御用のPWM入力に反映させて色を転写させる”といったものになります!

構想の中では食品工場とかにあるようなワークから色を検出して選別するような一画素タイプの色検出センサ的な使い方がしたかったのですが、駆動系も準備する必要があり時間がかかりそうだったので後日に回したいと思います、、、

という事で、主要部品はカラーセンサ, フルカラーLED, マイコンのみで構築できる本装置を作っていきます。

 

 

 

 

 

材料

  • デジタルカラーセンサ(S11059-02DT)
  • フルカラーLED
  • 白色LED(照明用)
  • レベル変換器(カラーセンサのVccが2.25V~3.36V推奨の為)
  • 1kΩ抵抗×5(I2Cプルアップ&フルカラーLED用)
  •  100Ω抵抗×1(白色LED用)
  • 白色光拡散キャップ

※白色光拡散キャップがない場合は、白い何かを被せるを三色が混ざりやすくなります。参考例として、発泡材と紙を使った写真を載せますね。

 

電気回路

気を付けたいところは2か所です。

  • I2CのSDA, SCKは1kΩ抵抗でプルアップすること。
  • デジタルカラーセンサのVccの関係上ロジック電圧のレベル変換を行うこと。

カラーセンサとLED照明(白)はモジュールかするために紙コップに組み込みました(色の検出は物体の反射光をカラーセンサが受光して検出するためです)。

コード

今回はカラーセンサのコードについてはライブラリを使用します(以下のリンクの参照)。Zipファイルをダウンロードの上ライブラリをインクルードしてください。

S11059-02DTライブラリ

コード中のカラーセンサの設定値については以下の通りです。

  • カラーセンサゲイン:HIGH
  • 測定モード:マニュアル
  • 積分時間:175us
  • 積分倍数:1500

このコードではフルカラーLEDの照度について調整をしています。

具体的には8bit分解能0~255を比例系から指数関数系に変更しています。

というのも、色取得をフルカラーLEDに反映するにあたって結構調整が難しくてですね、、、

試行錯誤のひとつとして入れているので効果的かは???です。

調整が難しかったところをまとめると。

  • 積分倍数:積分時間は175us固定ですが倍数調整で飽和してしまう色が出てきてしまう。
  • ゲイン:LOWの方が安定しそうだったが、値が小さくLEDがどうしても暗くなる
  • フルカラーLEDのPWMテーブル:8bit指数関数テーブルの乗数調整

上記以外にも各色の電流制限抵抗により発光具合も変わるので色の再現のポイントの一つですね。また、フルカラーLEDでもVfのばらつきもあるので調整にはかなり苦労しました。

世の中にはマイコン内蔵のフルカラーLEDなるものがあるので、そちらの方が調整が簡単にできるかもしれません。

動作確認

動作確認にはカラーシートとマジックのキャップを使用しました。

【カラーシート緑】

【カラーシート青】

【カラーシート赤】

【キャップ水色】

【キャップピンク】

青系の再現は良い感じになっていますが、緑系は青色に負けているような感じですね。

そして、全体的に実物よりも淡い色になっています。

前述しましたが、このカラーセンサは物体に光を当てた時の反射光を検出しています。なので、どうしても実物よりも淡くなってしまうんでしょうね。

反射光と思われるカップから漏れている光とはほぼ同じような色は出せていると思うのでまあ、成功としときましょう。

おわりに

今回はカラーセンサから取得した色データをフルカラーLEDに反映する電子工作を紹介しました。

これを一言で言うと、、、調整が難しい!!!

工場でこんなセンサがあったら発狂するレベルで調整が難しいです。実際のかかった時間を言うと、組み立て1時間、調整5時間くらいです。

とはいえ、実物の色の再現はできないものの反射光は表現できるレベルにはなったのかと思います。

次のステップとしては、色の選別機とか作るのも面白いかもしれませんね。現在構想している対象としてはm&m’s(カラフルなチョコレート)を考えています。

では、今回はこれで失礼します!

参考

カラーセンサー(TCS34725)でとってきた色をフルカラーLED(PL9823)に表示する!

keisan生活や実務に役立つ高精度計算サイト

コメント

タイトルとURLをコピーしました