2016年8月10日水曜日

Johnny-Fiveでマイコン制御24 - 照度センサー

○Lightオブジェクトを作成する
 照度センサーの測定データを取得するには、Lightオブジェクトを使います。Lightオブジェクトは、物理的なボード上に接続されている照度センサーを表すオブジェクトです。Lightオブジェクトを作成するには、Lightクラスのコンストラクタを使います。
フォトレジスタ(フォトセル、LDR)を使用するためのLightオブジェクトを作成するには、引数にフォトレジスタを接続するアナログ入力ピンの名前を指定します。
new five.Light ("アナログピン名");

 オプションの「pins」プロパティでピン番号を指定する場合は、次のように書きます。
new five.Light ({
  pin: アナログピン名
});

I2Cインターフェイスの照度センサー・モジュールの場合は、「controller」プロパティに使用する照度センサーのデバイス名を指定します。たとえば、「TSL2561」使用するためのLightオブジェクトを作成するには、次のように書きます。
new five.Light({
  controller: "TSL2561"
});

 Johnny-FiveがサポートするI2Cインターフェイスの照度センサーは、「TSL2561(AdafruitSparkfun)」「EV3 Color & Light Sensor(LEGO)」「NXT Color Sensor(LEGO)」です。

照度センサーのデータを取得する
 照度センサーのデータを取得するには、イベントハンドラを使います。イベントハンドラは、「on」メソッドを使って書きます。イベントにはイベント名を、ハンドラにはイベント発生時に実行する処理(コールバック関数)を指定します。
on("イベント", ハンドラ)

 Lightオブジェクトで発生するイベントは、次のとおりです。
イベント
説明
change
センサーの入力データが変化したときに発生する
data
25ミリ秒(freq」プロパティで変更可)間隔で発生する

 照度センサーのデータは、次のプロパティで参照することができます。
プロパティ
説明
value
ADコンバータの読み値(01023)
level
強度レベル()

たとえば、フォトレジスタの強度レベルを既定の間隔(25ミリ秒)で取得するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // Lightオブジェクトを作成
  // A0ピンをセンサー入力に設定
  var light = new five.Light("A0");

  // データを取得
  light.on("data", function() {
    console.log(this.level);
  });
});

・配線図

 

0 件のコメント:

コメントを投稿