2016年8月2日火曜日

Johnny-Fiveでマイコン制御10 - Board その4

複数のボードをまとめて制御する
 複数のボードをまとめて制御するには、「Boards」オブジェクトを使います。「Boards」オブジェクトは、「Board」オブジェクトのコレクションです。Boardsオブジェクトを作成するには、Boardsクラスのコンストラクタを使います。
var five = require("johnny-five");

// IDが「A」と「B」の2つのボードを含むboardsオブジェクトを作成
var boards = new five.Boards(["A", "B"]);

// ボードの準備ができたら
boards.on("ready", function()
  // boardsオブジェクトの各ボードを順に参照
  this.each(function(board) {
    // 各ボードの13ピンに接続されているLEDを点滅
     new five.Led({pin: 13, board: board}).strobe();
  });
});

 PCとボードの通信に使用するシリアルポートを明示的に指定するには、オプションの「port」プロパティを使います。
var boards = new five.Boards([
               { id: "A", port: "COM8" },
               { id: "B", port: "COM9" }
             ]);
※この例は、Windows環境でのシリアルポートの指定方法です。


特定のボードを参照する
 「Boards」オブジェクトの特定のボードを参照するには、「id」プロパティを使います。たとえば、ボード「B」の13ピンに接続されているLEDを点滅させるには、次のように書きます。
var five = require("johnny-five");

// IDが「A」と「B」の2つのボードを含むboardsオブジェクトを作成
var boards = new five.Boards(["A", "B"]);

boards.on("ready", function() {
  // boardsオブジェクトを参照
  this.each(function(board) {
    // IDが「B」だったら
    if (board.id === "B") {
       // ledオブジェクトを作成
       // (ボード「B」の13ピンをLED制御用に使用)
      var led = new five.Led({
        pin: 13,
        board: board
      });
      // ボード「B」の13ピンに接続されているLEDを点滅
      led.blink();
    }
  });
});

 コンポーネントのオブジェクトから、特定のボードを参照するには、「bord」プロパティに「byId」プロパティを使ってボードのIDを指定します。たとえば、ボード「A」の13ピンに接続されているLEDを点滅させるには、次のように書きます。
var five = require("johnny-five");

// IDが「A」と「B」の2つのボードを含むboardsオブジェクトを作成
var boards = new five.Boards(["A", "B"]);

boards.on("ready", function() {
  // ledオブジェクトを作成
  // (ボード「A」の13ピンをLED制御用に使用)
  var led = new five.Led({
              pin: 13,
              board: this.byId("A")
            });
  // ボード「A」の13ピンに接続されているLEDを点滅
  led.blink();
});


○Raspberry PiJohnny-Fiveを使用する
 Johnny-Fiveは、IOプラグインを使用することで、さまざまなボードで使用することができます。(IOプラグインの詳細はを参照)
 Raspberry PiJohnny-Fiveを使用するには、IOプラグインの「Raspi-IO」を使います。「Raspi-IO」をインストールするには、次のように操作します。

①コマンドプロンプト(またはターミナル)を起動し、作業用のフォルダに移動します。
②「npm install raspi-io」と入力します。

 Raspberry Piの「Board」オブジェクトを作成するには、次のように書きます。
var raspi = require('raspi-io');
var five = require('johnny-five');
var board = new five.Board({
  io: new raspi()
});

board.on('ready', function() {
  // P1(ピンヘッダー1)のピン7(GPIO4)上に
  // LEDを作成して点滅
  (new five.Led('P1-7')).strobe();
});
five.Led('P1-7')」の'P1-7'で使用するGPIOのポートを指定しています。これは、ピンヘッダー17ピン(GPIO04)という意味になります。対応表は、を参照してください


0 件のコメント:

コメントを投稿