2016年8月3日水曜日

Johnny-Fiveでマイコン制御13 - RGB LED

○Led.RGBオブジェクトを作成する
 RGB LEDを制御するには、Led.RGBオブジェクトを使います。Led.RGBオブジェクトは、物理的なボード上に接続されているRGB LEDを表すオブジェクトです。Led.RGBオブジェクトを作成するには、Led.RGBクラスのコンストラクタを使います。引数の「赤」「緑」「青」には、それぞれを接続するPWMピンの番号を指定します。
new five.Led([, , ]);

 オプションの「pins」プロパティでピン番号を指定する場合は、次のように書きます。
new five.Led.RGB({
  pins: [, , ]
});
 または、次のように書くこともできます。
new five.Led.RGB({
  pins: {
    red: ,
    green: ,
    blue:
  }
});

 RGB LEDには、カソードコモンとアノードコモンの2種類があります。既定のLed.RGBオブジェクトはカソードコモンのRGB LEDに対応します。
アノードコモンのRGB LEDを使う場合は、オプションの「isAnode」プロパティを「true」に設定して、Led.RGBオブジェクトを作成する必要があります。
new five.Led.RGB({
  pins: [, , ],
  isAnode: true
});
 または、次のように書くこともできます。
new five.Led.RGB({
  pins: {
    red: ,
    green: ,
    blue:
  } ,
  isAnode: true
});

・配線図-カソードコモン(led-rgb.fzz)
 


・配線図-アノードコモン(led-rgb-anode.fzz)
 

○RBG LEDを点灯/消灯する
 RBG LEDを点灯するには「on」メソッドを、RBG LEDを消灯するには「off」メソッドを使います。また、「toggle」メソッドを使うと、現在の状態を反転することができます。
 たとえば、RBG LED を点灯/消灯するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // ledオブジェクトを作成(6,5,3ピンをRGB LED制御用に設定)
  var led = new five.Led.RGB([6,5,3]);

  // LEDをオン
  led.on();

  // 5(5000ミリ秒)後にLEDをオフ(消灯)
  this.wait(5000, function() {
    led.off();
  });

  // 10(10000ミリ秒)後に現在の状態を反転(この例ではLEDオン)
  this.wait(10000, function() {
    led.toggle();
  });
});

○RGB LEDを点滅する
 RGB LEDを点滅するには、「strobe」または「blink」メソッドを使います。「blink」は「strobe」のエイリアスです。間隔はミリ秒(ms)単位で指定します。コールバック関数はLEDがオン/オフするたびに呼び出されます。コールバック関数はオプションで省略できます。
strobe(間隔, コールバック関数)
blink(間隔, コールバック関数)

 たとえば、RGB LED500ミリ秒間隔で点滅させるには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // ledオブジェクトを作成(6,5,3ピンをRGB LED制御用に設定)
  var led = new five.Led.RGB([6,5,3]);

  // LED500ミリ秒間隔で点滅
  led.blink(500);
})

○RGB LEDの明るさを調整する
 RGB LEDの明るさを調整するには、「intensity」メソッドを使います。引数には明るさの強度をパーセンテージ()で指定します。引数を省略した場合、現在の明るさの強度を返します。
intensity(強度)

 たとえば、RGB LEDの明るさの強度を30%に設定するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // ledオブジェクトを作成(6,5,3ピンをRGB LED制御用に設定)
  var led = new five.Led.RGB([6,5,3]);

  // 明るさの強度を30%に設定
  led.intensity(30);
});

○RGB LEDの色を設定する
 RGB LEDの色を設定するには、「color」メソッドを使います。
color(カラー引数)
有効なカラー引数は、次のとおりです。
カラー引数
指定例
CSSの色名の文字列
"red", "green", "blue"
led.color("red")
16進数の色の文字列
"ff0000", "00ff00", "0000ff"
led.color("0000ff")
先頭が#16進数の色の文字列
"#ff0000", "#00ff00", "#0000ff"
led.color("#0000ff")
8ビット・バイトの配列
[0xff, 0x00, 0x00]
led.color([0xff, 0x00, 0x00])
8ビット・バイトのオブジェクト
{ red: 0x00, green: 0xFF, blue: 0x00 }
led.color({ red: 0x00, green: 0xFF, blue: 0x00 })

 たとえば、RGB LEDを赤(FF0000)で点灯するには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // ledオブジェクトを作成(6,5,3ピンをRGB LED制御用に設定)
  var led = new five.Led.RGB([6,5,3]);

  // 色を「赤」に設定
  led.color("#FF0000");

  // LEDを点灯
  led.on();
});

○RGB LEDの点滅動作を停止する
 「blink」「strobe」メソッドなどによる点滅動作を停止するには、「stop」メソッドを使います。
 たとえば、10秒後にRGB LEDの点滅動作を停止し、LEDをオフにするには、次のように書きます。
var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  // ledオブジェクトを作成(6,5,3ピンをRGB LED制御用に設定)
  var led = new five.Led.RGB([6,5,3]);

  // LED500ミリ秒間隔で点滅
  led.blink(500);

  // 10(10000ミリ秒)後に点滅動作を停止し、LEDをオフ(消灯)
  this.wait(10000, function() {
    led.stop().off();
  });
});


0 件のコメント:

コメントを投稿