2016年10月15日土曜日

照度センサー ( TSL2561 )

 照度センサー ( TSL2561 ) を入手したので、部屋の明るさを測定してみます。
 照度センサーは I2C により Arduino と通信します。Arduino には I2C ライブラリが付属しているのでセンサーとの通信をシコシコ作ったり、通信手順の確認のためにI2Cモニターを使って確認することもなく簡単にデータを取得できます。
 メーカーからもライブラリーが提供されていますので使ってみます、照度の計算もライブラリーが行ってくれるのでマニュアルとにらめっこして計算式を作ることもありません。

TLS 2561 は 5V, 3.3V いずれでも動作可能です。配線は以下の通りです。






 I2C ライブラリはスケッチの先頭で <Wire.h> と指定するだけです。TSL2561 はメーカーのホームページ( Adafruit )よりダウンロードします。
 左の Using the TSL2561 sensor をクリックするとライブラリのダウンロード画面になります。赤枠の2つともダウンロードしてください。

 
使い方は Arduino IDE をインストールしたフォルダの下にに libraries フォルダがあるのでその下に解凍して展開します。

 スケッチはAdafruit_TSL2561-master の下に examples フォルダーがありその中にsensorapi があります。Arduino ではスケッチの拡張子は .ino ですが、フォルダーが作られその下にスケッチの本体ファイルが保存されます。なお、フォルダー名とスケッチ名は同じです。

 Arduino IDE を起動し、ツールのボードとポートを確認します。( Arduino M0 Pro(Programming Port 、ポートは COM3 ( Arduino M0 Pro( Programming Port) ) COMx のポート番号はPC依存し、システムにより異なります。


 
スケッチを読み込みます。(アイコンの↑(開く)をクリックしても可能です)
sensorapi フォルダーの中のsensorapi.inoをクリックします。スケッチを読みんだらコンパイルして書き込んで見ましょう。


シリアルモニター(メニューのツールにあります。)を起動して動作確認できます。

PCに TeraTerm がインストールされていれば TeraTerm でも確認できます。但し、シリアルモニターとTeraTerm は同時に動作はできません。(シリアルポートを奪い合うためです。別のポートだと問題ありません。)


TeraTerm を使う利点は TeraTerm でログを保存できることです。上記のような場合、Excel で CSV ファイルを読み込むようにして取り込み、Excel 側でグラフ化できます。


0 件のコメント:

コメントを投稿