記事一覧

スポンサーサイト

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

Johnny-Fiveでマイコン制御25 - 湿度・気圧・高度センサー

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

 湿度センサーの測定値を取得するには、Hygrometerオブジェクトを使います。Hygrometerオブジェクトは、物理的なボード上に接続されている湿度センサーを表すオブジェクトです。Hygrometerオブジェクトを作成するには、Hygrometerクラスのコンストラクタを使います。「controller」プロパティにI2Cインターフェイスの湿度センサーのデバイス名を指定します。

new five.Hygrometer({

  controller: デバイス名

});

 

 Johnny-Fiveのサポートする湿度センサー(I2Cインターフェイス)は、次のとおりです。

 

BME280(AdafruitSparkfun)

HTU21D(AdafruitSparkfun)

TH02(Grove)

SI7020(Tessel Climate)

SHT31D(Adafruit)

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

 

湿度センサーのデータを取得する

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

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

 

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

イベント

説明

change

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

data

25ミリ秒(freq」プロパティで変更可)間隔で発生する

 

取得データ(湿度())は「relativeHumidity(または「RH)プロパティで参照することができます。

たとえば、HTU21Dの湿度データを「data」イベントで取得し、湿度()を表示するには、次のように書きます。

var five = require("johnny-five");

var board = new five.Board();

 

board.on("ready", function() {

  //HTU21Dを使用するためのHygrometerオブジェクトを作成

  var hygrometer = new five.Hygrometer({

                       controller: "HTU21D"

                     });

  // データを取得

  hygrometer.on("data", function() {

    // 湿度を表示

    console.log(this.relativeHumidity + " %");

  });

});

 

・配線図

2016080810.png 

 

湿度センサー・データの読み取り間隔を設定する

 湿度センサーのデータの読み取り間隔(data」イベントの間隔)を設定するには、オプションの「freq」プロパティを使います。値にはミリ秒単位の時間を指定します。たとえば、1000ミリ秒間隔でデータを読み取るには、次のように書きます。

  // データの取得間隔を1000ミリ秒に設定

  var hygrometer = new five.Hygrometer({

                     controller: "HTU21D",

                     freq: 1000

                   });

 

Barometerオブジェクトを作成する

 気圧センサーの測定値を取得するには、Barometerオブジェクトを使います。Barometerオブジェクトは、物理的なボード上に接続されている気圧センサーを表すオブジェクトです。Barometerオブジェクトを作成するには、Barometerクラスのコンストラクタを使います。「controller」プロパティにI2Cインターフェイスの気圧センサーのデバイス名を指定します。

new five.Barometer ({

  controller: デバイス名

});

 

 Johnny-Fiveのサポートする気圧センサー(I2Cインターフェイス)は、次のとおりです。

 

BMP180(AdafruitSparkFunGrove)

BMP280(Adafruit)

BME280(AdafruitSparkfun)

MPL115A2(AdafruitSparkFun)

MPL3115A2 (AdafruitSparkFun)

MS5611

 

 なお、I2Cデバイスのアドレスは、「address」プロパティで指定することができます。

new five.Barometer ({

  controller: デバイス名,

  address:I2Cアドレス

});

 

 また、BMP180は「mode」プロパティでオーバーサンプリングレート(サンプルの量)を指定できます。

new five.Barometer({

  controller: "BMP180"

  mode: 2

  });

 

mode」プロパティの設定値は、次のとおりです。

mode

説明

0

超低消費電力の設定、1サンプル、4.5ミリ秒3uA

1

標準電源設定、2サンプル、7.5ミリ秒5uA

2

高解像度、4サンプル、13.5ミリ秒7uA

3(規定値)

超高分解能、12サンプル、25.5ミリ秒12uA

 

気圧センサーのデータを取得する

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

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

 

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

イベント

説明

change

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

data

25ミリ秒(freq」プロパティで変更可)間隔で発生する

 

取得データ(気圧)は、「pressure」プロパティで参照することができます。たとえば、BMP180の気圧データを「data」イベントで取得して表示するには、次のように書きます。

var five = require("johnny-five");

var board = new five.Board();

 

board.on("ready", function() {

  // BMP180を使用するためのBarometerオブジェクトを作成

  var barometer = new five.Barometer({

                    controller: "BMP180"

                  });

  // データ取得

  barometer.on("data", function() {

    console.log("barometer");

    console.log("  pressure     : ", this.pressure);

    console.log("--------------------------------------");

  });

});

 

・配線図

2016080811.png 

 

気圧センサー・データの読み取り間隔を設定する

 気圧センサーのデータの読み取り間隔(data」イベントの間隔)を設定するには、オプションの「freq」プロパティを使います。値にはミリ秒単位の時間を指定します。たとえば、1000ミリ秒間隔でデータを読み取るには、次のように書きます。

  var barometer = new five.Barometer({

                    controller: "BMP180",

                    freq: 1000

                  });

 

 Altimeterオブジェクトを作成する

 高度センサーの測定値を取得するには、Altimeterオブジェクトを使います。Altimeterオブジェクトは、物理的なボード上に接続されている高度センサーを表すオブジェクトです。Altimeterオブジェクトを作成するには、Altimeterクラスのコンストラクタを使います。「controller」プロパティにI2Cインターフェイスの高度センサーのデバイス名を指定します。

new five.Altimeter ({

  controller: デバイス名

});

 

 Johnny-Fiveのサポートする高度センサー(I2Cインターフェイス)は、次のとおりです。

BMP180(AdafruitSparkFunGrove)

BMP280(Adafruit)

BME280(AdafruitSparkfun)

MPL3115A2 (AdafruitSparkFun)

MS5611

 

 なお、I2Cデバイスのアドレスは、「address」プロパティで指定することができます。

new five.Altimeter ({

  controller: デバイス名,

  address:I2Cアドレス

});

 

高度センサーのデータを取得する

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

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

 

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

イベント

説明

change

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

data

25ミリ秒(freq」プロパティで変更可)間隔で発生する

 

取得データは、次のプロパティで参照することができます。

 

プロパティ

説明

feet

フィートでの高度値

meters

メートルでの高度値

 

たとえば、BM180の高度値(現在の標高を基準にした高度)を取得し、フィートとメートルで表示するには、次のように書きます。

var five = require("johnny-five");

var board = new five.Board();

 

board.on("ready", function() {

  // BMP180を使用するためのAltimeterオブジェクトを作成

  var alt = new five.Altimeter({

              controller: "BMP180"

           });

 

  // データ取得

  alt.on("change", function() {

    console.log("altimeter");

    console.log("  feet         : ", this.feet);

    console.log("  meters       : ", this.meters);

    console.log("--------------------------------------");

  });

});

 

・配線図

2016080811.png 

 

基準の標高を設定する

基準の標高を設定するには、「elevation」プロパティを使います。値に基準となる標高(メートル)を指定します。

  // 基準標高を12メートルに設定

  var alt = new five.Altimeter({

              controller: "BMP180"

              elevation: 12

            });

elevation」プロパティを省略した場合(規定)、現在の標高を基準にした高度を取得します。

 

高度センサー・データの読み取り間隔を設定する

 高度センサーのデータの読み取り間隔(data」イベントの間隔)を設定するには、オプションの「freq」プロパティを使います。値にはミリ秒単位の時間を指定します。たとえば、1000ミリ秒間隔でデータを読み取るには、次のように書きます。

  var alt = new five.Altimeter({

              controller: "BMP180",

              freq: 1000

            });

 

スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

部員3号

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

kindle本

最新コメント

温度計

ads

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