記事一覧

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Johnny-Fiveでマイコン制御26 - マルチ(温度・湿度・気圧・高度)センサー

○Multiオブジェクトを作成する

 マルチ・ブレイクアウト・モジュール(温度や湿度、高度または圧力など、2つ以上の環境センサーを含むモジュール)の測定値を取得するには、Multiオブジェクトを使います。Multiオブジェクトは、物理的なボード上に接続されているマルチ・ブレイクアウト・モジュールを表すオブジェクトです。Multiオブジェクトを作成するには、Multiクラスのコンストラクタを使います。「controller」プロパティにマルチ・ブレイクアウト・モジュールのデバイス名を指定します。

new five.Multi ({

  controller: デバイス名

});

 

 Johnny-Fiveのサポートするブレイクアウト・モジュール(I2Cインターフェイス)は、次のとおりです。

BMP180(AdafruitSparkFunGrove)

BMP280(Adafruit)

BME280(AdafruitSparkfun)

MPL115A2(AdafruitSparkFun)

MPL3115A2 (AdafruitSparkFun)

MS5611

HTU21D(AdafruitSparkfun)

TH02(Grove)

SI7020(Tessel Climate)

DHT11 (I2Cバックパックを介して接続)

 

マルチ・ブレイクアウト・モジュールのデータを取得する

 マルチ・ブレイクアウト・モジュールのデータを取得するには、イベントハンドラを使います。イベントハンドラは、「on」メソッドを使って書きます。イベントにはイベント名を、ハンドラにはイベント発生時に実行する処理(コールバック関数)を指定します。

on("イベント", ハンドラ)

 

 Multiオブジェクトで発生するイベントは、次のとおりです。

イベント

説明

change

温度センサーの入力データが変化したときに発生する

data

25ミリ秒間隔で発生する

 

データは、次のプロパティでオブジェクトを参照して、各オブジェクトのプロパティで参照することができます。

BMP180BMP280BME280MPL3115A2MS5611

プロパティ

説明

altimeter

Altimeterオブジェクト

barometer

Barometerオブジェクト

thermometer

Thermometerオブジェクト

 

MPL115A2

プロパティ

説明

barometer

Barometerオブジェクト

thermometer

Thermometerオブジェクト

 

HTU21DSI7020TH02DHT11

プロパティ

説明

hygrometer

Hygrometerオブジェクト

thermometer

Thermometerオブジェクト

 

 各オブジェクトのデータを参照するためのプロパティは、次のとおりです。

 

Thermometerオブジェクトのプロパティ

プロパティ

説明

celsiusC

摂氏温度

fahrenheitF

華氏温度

kelvinK

ケルビン温度

 

Hygrometerオブジェクトのプロパティ

プロパティ

説明

relativeHumidityRH

湿度()

 

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("--------------------------------------");

  });

});

 

・配線図

2016080811.png 

スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

部員3号

Author:部員3号
FC2ブログへようこそ!

kindle本

最新コメント

温度計

ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。