2016年8月10日水曜日

Johnny-Fiveでマイコン制御22 - リレー

○Relayオブジェクトを作成する
 リレーを制御するには、Relayオブジェクトを使います。Relayオブジェクトは、物理的なボードに接続された単一のリレーを表すオブジェクトです。Relayオブジェクトを作成するには、Relayクラスのコンストラクタを使います。引数には、リレーを接続するピンの番号を指定します。
new five.Relay(ピン番号);

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

 リレーの初期状態には、NO(normally open)NC(normally closed)2種類があります。この状態は、オプションの「type」プロパティで指定することはできます。
type
説明
NO
通常は開いている(既定)
NC
通常は閉じている

 NCでリレーを使用する場合は、「type」プロパティに「NC」を指定して、Relayオブジェクトを作成します。
new five.Switch({
  pin: ピン番号,
  type: "NC"
});

・配線図-NO

・配線図-NC
 




リレーを制御する
 リレー回路を開くには「open」メソッド(または「off」メソッド)を、リレー回路を閉じるには「close」メソッド(または「on」メソッド)を使います。また、「toggle」メソッドを使うと、現在の状態を反転することができます。
 たとえば、リアルタイムでNOのリレーを制御するには、次のように書きます
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // Relayオブジェクトを作成(10ピンをリレー制御用に設定)
  var relay = new five.Relay(10);

  // RelayオブジェクトをREPLに登録
  this.repl.inject({
    relay: relay
  });
});
コードを実行し、コマンドラインから、「relay.close()」「relay.open()」「relay. relay()」と入力し、動作を確認してください。

複数のリレーをまとめて制御する
 複数のリレーをまとめて制御するには、Relaysオブジェクトを使います。Relaysオブジェクトは、物理的なボード上に接続されている複数のリレーを表すオブジェクトのコレクションです。Relaysオブジェクトを作成するには、Relaysクラスのコンストラクタを使います。引数には、リレーを接続するピン番号またはRelayオブジェクトの配列を指定します。
new five.Relays (配列);

たとえば、910ピンに接続された2つのリレーを制御するためのRelaysオブジェクトを作成するには、次のように書きます。
new five.Relays ([9, 10]);

 オプションの「pin」プロパティでピン番号を指定する場合は、オブジェクト形式(JSON)で次のように書きます。
new five.Relays ([{pin: 9}, {pin: 10}]);

 オブジェクト形式では、個別にタイプを設定することができます。
new five.Relays([{
  pin: 9,
  type: "NO",
}, {
  pin: 10,
  type: "NC",
}]);

 2つのリレー回路をまとめて閉じるには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // Relaysオブジェクトのコレクションを作成
  // (9,10ピンをリレー制御用に設定)
  var relays = new five.Relays([9,10]);
  // すべてのリレー回路を閉じる
  relays.close();
})


特定のリレーを制御する
 Relaysオブジェクトの特定のリレーを制御するには、配列のインデックスを指定します。インデックスは、ピン番号の記述順に0から割り当てられる連番です。たとえば、インデックスが「0」のリレー回路を閉じるには、次のように書きます。
  // インデックス「0(9ピン)のリレー回路を閉じる
  relays[0].close();



0 件のコメント:

コメントを投稿