TSL2561光センサを使って光量計を作る

投稿者:

こんにちは。岸田です。今回は、TSL2561デジタル光センサボードを使った作例を紹介します。

このセンサは、Cdsセルなどとは違って、照度をルクス(lux)として取得できます。詳しい使い方は、こちらのwikiで見られます。今回は比較的正確な値が取得できるということで、数値を液晶に表示してみます。この光センサ、なんとArduinoのアナログピンの部分に直接挿すことができます。

せっかくなので、使う液晶もそのままArduinoに挿さるものがいいですね。ちょうどAQM1248Aという小型のグラフィック液晶ボードもスイッチサイエンスでは販売しているので、これを使いましょう。

すべてのモジュールがそのままArduinoに刺さっているので非常にスッキリした見た目になっています。液晶画面には現在の照度が表示されています。P1050941

明るいところに置いてみる。

P1050943

暗いところ。(センサを覆いました)

以下に作り方を示します。

■つかうもの

■作り方

  • 光センサボードをArduinoに挿します
  • グラフィック液晶をArduinoに挿します
  • Arduinoにプログラムを書きます

■プログラム

基本的には、それぞれのサンプルプログラムを組み合わせています。

今回は、それに加えてAQM1248Aのサンプルスケッチをライブラリ化して使いました。Adafruitから公開されているライブラリの一つのAdafruit_GFXクラスを継承することで、比較的簡単に機能を利用することができます。主に文字表示を簡単にする目的で使いましたが、それ以外にも様々な機能が付属しています。

例えば、四角形を描画するという機能がAdafruit_GFXライブラリにあるので、継承した今回のライブラリでも利用することができます。

P1050944P1050945

光量にあわせて棒グラフが伸び縮みする様子。見えにくいですが、上のほうが明るい値です。

これに関しては液晶の紹介として別の記事にまとめようと思います。

というわけで今回の作例のスケッチはこちらで公開しています(GitHub)

皆さんも、ぜひデジタルの強みを活かして何か作ってみてください。