■ TSL2561 照度センサーを制御する ■

 2つのフォト・ダイオード(可視光+赤外線)と(赤外線)を使用して、人間の目の反応に近い照度をデジタル出力するセンサーです。
 出力データから近似の実験式でlux(ルクス)値を計算します。

 I2Cインターフェイスにより、マイコンからの制御も簡単です。
 センサーの測定は、マイコンから測定を起動してINT信号による変換終了の手動変換と、センサー内部のタイマーによる周期的な自動取得が可能です。
 単独の起動は、LEDのPWM調光に同期させたり、センサーの省電力に利用できます。
 自動取得の場合は、マイコン側の任意のタイミングで変換データを取り出せるので、マイコンを変換終了まで待機させる必要がなくなります。



 
AliExpressで購入したTSL2561。
(GY-2561)
・電源電圧: 2.7V 〜 3.6V
・消費電流: 0.24mA(標準) パワーダウン時: 3.2μA
・動作温度範囲: -30 〜 +70 ℃ (推奨)
・測定照度: 0 〜 約64,000 Lux (実測値)
・インターフェイス: I2C(最大400KHz)


TSL2561の日本語データ・シートが見つからないので、私的に翻訳してあります。
TSL2561 日本語データ・シート 原本 TSL2561
 
個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、
いかなる損害にも責任を負いません。



Gamebuinoを使用したテスト
 
回 路
 
 ・GamebuinoのI2C端子にTSL2561を接続して制御します。
 ・もちろん、各種のAVRやポートを選択することもできます。
 ・I2Cのスレーブアドレスは、回路図に記載のように変更が可能です。
 
 ・このモジュールは3.3Vのレギュレータを搭載しているので5Vでも動作可能です。
  注意.インターフェイスピンは3.3Vまでなので、ポートを3.3V以上の出力に設定しないこと。
 ・「秋月電子」や「Strawberry Linux」のモジュールを使用する場合は、ピン配置とレギュレータの
  有無の違いに注意して接続してください。

回 路 図  PDF版 Gamebuino_TSL2561_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

GamebuinoのI2C端子に
TSL2561モジュール基板を接続。

市販の照度計と測定値を比較。
(机の上で蛍光灯照明にて)
 
プログラム
 
 ・テストプログラムでは、センサー内部のタイマーにより周期的な自動取得で変換を行います。
 ・照度値の表示はAVRのTimerにより400msの間隔で更新されます。
 
 ・[B]ボタンを押すと変換の周期が、13.7mS、101mS、402mSで変わります。
 ・変換の周期が短いほど、測定できる照度値の上限は上がりますが、精度は下がります。
 
 ・[A]ボタンを押すと、センサーの利得が1倍と16倍で変わります。
 ・ただし、テストプログラムでは小数点以下の照度値を切り捨てているので、感度の変更は
  意味がありません。
 ・「Temp」変数に照度値の全桁(Lux * 16,384)を保管してありますから、必要に応じて小数点以下の
  計算に利用してください。
 
 ・[C]ボタンを押すたびに、LCDのバックライトがON/OFFします。

 ・Gamebuino用のコンパイルは、グラフィックLCD (Nokia 5110相当)のライブラリが必要です。
  (Gamebuino [Arduino]互換の小型ゲーム基板 ページを参照)
 
 ・HEXファイルをSDカードに書き込み、「SDカードからのブート」を行う事もできます。
 
プログラム  テキスト形式 ソースファイル  Gamebuino_TSL2561_101.TXT
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 Gamebuino_TSL2561_101.bas
 フォント・ファイル  Gamebuino_font6x8.font
 Font10x16num.font
 SDカード用 HEXファイル  TSL-2561.HEX
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)

 
実用の課題
 
 ・このセンサーは、モニター・ディスプレーなどに組み込んで、明るさを制御する等の用途に
  開発されているようで、センサー単体での照度測定の上限が約64,000 Lux (実測値)です。
  (室内照明での用途向き)
 ・したがって、野外で太陽光の明るさを測定すると、すぐに測定オーバーになってしまいます。
 ・また、センサーのフォト・ダイオードが露出しているため、光りの入射角度によって測定値が
  かなり変化してしまいます。
 ・照度計として組み上げるためには、拡散した光りを集める乳白色のレンズや、光りの透過率を
  落として強い光りを測定できるようなフィルターを用意する必要があるようです。

屋外の日陰で、この様な数値の差が出ます。
 
照度計にするには、市販品のような
レンズ+フィルターが必要です。








AVRトレーニング・ボードを使用したテスト
 
回 路
 
 ・AVR & BASCOM-AVR トレーニング・ボードにTSL2561を接続して制御します。
 ・もちろん、各種のAVRやポートを選択することもできます。
 ・SCLとSDAのプルアップ抵抗器は、TSL2561モジュール基板に内蔵されているので不要です。
 ・I2Cのスレーブアドレスは、回路図に記載のように変更が可能です。
 
 ・このモジュールは3.3Vのレギュレータを搭載しているので5Vで動作可能です。
  注意.インターフェイスピンは3.3Vまでなので、ポートを3.3V以上の出力に設定しないこと。
 ・「秋月電子」や「Strawberry Linux」のモジュールを使用する場合は、ピン配置とレギュレータの
  有無の違いに注意して接続してください。

回 路 図  PDF版 ATB_TSL2561_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。

トレーニング・ボードに
TSL2561モジュール基板を接続。
 
プログラム
 
 ・テストプログラムでは、センサー内部のタイマーにより周期的な自動取得で変換を行います。
 ・照度値の表示はAVRのTimerにより400msの間隔で更新されます。
 
 ・[SW4]を押すと変換の周期が、13.7mS、101mS、402mSで変わります。
 ・変換の周期が短いほど、測定できる照度値の上限は上がりますが、精度は下がります。
 
 ・[SW3]を押すと、センサーの利得が1倍と16倍で変わります。
 ・ただし、テストプログラムでは小数点以下の照度値を切り捨てているので、感度の変更は
  意味がありません。
 ・「Temp」変数に照度値の全桁(Lux * 16,384)を保管してありますから、必要に応じて小数点以下の
  計算に利用してください。

プログラム  テキスト形式 ソースファイル  ATB_TSL2561_101.TXT
 BASCOM-AVR用 ソースファイル  ATB_TSL2561_101.bas
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)




   電子工作の部屋 Top へ 前のページへ戻る