○Multiオブジェクトを作成する
マルチ・ブレイクアウト・モジュール(温度や湿度、高度または圧力など、2つ以上の環境センサーを含むモジュール)の測定値を取得するには、Multiオブジェクトを使います。Multiオブジェクトは、物理的なボード上に接続されているマルチ・ブレイクアウト・モジュールを表すオブジェクトです。Multiオブジェクトを作成するには、Multiクラスのコンストラクタを使います。「controller」プロパティにマルチ・ブレイクアウト・モジュールのデバイス名を指定します。
new five.Multi ({
controller: デバイス名
});
|
Johnny-Fiveのサポートするブレイクアウト・モジュール(I2Cインターフェイス)は、次のとおりです。
・BMP280(Adafruit)
・TH02(Grove)
・SI7020(Tessel
Climate)
・DHT11 (I2Cバックパックを介して接続)
○マルチ・ブレイクアウト・モジュールのデータを取得する
マルチ・ブレイクアウト・モジュールのデータを取得するには、イベントハンドラを使います。イベントハンドラは、「on」メソッドを使って書きます。イベントにはイベント名を、ハンドラにはイベント発生時に実行する処理(コールバック関数)を指定します。
on("イベント", ハンドラ)
|
Multiオブジェクトで発生するイベントは、次のとおりです。
イベント
|
説明
|
change
|
温度センサーの入力データが変化したときに発生する
|
data
|
25ミリ秒間隔で発生する
|
データは、次のプロパティでオブジェクトを参照して、各オブジェクトのプロパティで参照することができます。
・BMP180、BMP280、BME280、MPL3115A2、MS5611
プロパティ
|
説明
|
altimeter
|
Altimeterオブジェクト
|
barometer
|
Barometerオブジェクト
|
thermometer
|
Thermometerオブジェクト
|
・MPL115A2
プロパティ
|
説明
|
barometer
|
Barometerオブジェクト
|
thermometer
|
Thermometerオブジェクト
|
・HTU21D、SI7020、TH02、DHT11
プロパティ
|
説明
|
hygrometer
|
Hygrometerオブジェクト
|
thermometer
|
Thermometerオブジェクト
|
各オブジェクトのデータを参照するためのプロパティは、次のとおりです。
・Thermometerオブジェクトのプロパティ
プロパティ
|
説明
|
celsius、C
|
摂氏温度
|
fahrenheit、F
|
華氏温度
|
kelvin、K
|
ケルビン温度
|
・Hygrometerオブジェクトのプロパティ
プロパティ
|
説明
|
relativeHumidity、RH
|
湿度(%)
|
・Barometerオブジェクトのプロパティ
プロパティ
|
説明
|
pressure
|
気圧値
|
・Altimeterオブジェクトのプロパティ
プロパティ
|
説明
|
feet
|
フィートでの高度値
|
meters
|
メートルでの高度値
|
たとえば、BMP180の温度、気圧、高度を取得するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function() {
// BMP180を使用するためおMultiオブジェクトを作成
var
multi = new five.Multi({
controller: "BMP180"
});
// データを取得
multi.on("change", function() {
console.log("thermometer");
console.log(" celsius : ", this.thermometer.celsius);
console.log(" fahrenheit : ", this.thermometer.fahrenheit);
console.log(" kelvin : ", this.thermometer.kelvin);
console.log("--------------------------------------");
console.log("barometer");
console.log(" pressure : ", this.barometer.pressure);
console.log("--------------------------------------");
console.log("altimeter");
console.log(" feet : ", this.altimeter.feet);
console.log(" meters : ", this.altimeter.meters);
console.log("--------------------------------------");
});
});
|
・配線図
0 件のコメント:
コメントを投稿