記事一覧

スポンサーサイト

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

Johnny-Fiveでマイコン制御16 - スイッチ

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

 スイッチ(トグルスイッチ、スライドスイッチ、マイクロスイッチなど)の状態を取得するには、Switchオブジェクトを使います。Switchオブジェクトは、物理的なボード上に接続されているスイッチを表すオブジェクトです。Switchオブジェクトを作成するには、Switchクラスのコンストラクタを使います。引数にはスイッチを接続するピンの番号を指定します。

new five.Switch (ピン番号);

 

 オプションの「pins」プロパティでピン番号を指定する場合は、次のように書きます。

new five.Switch ({

  pin: ピン番号

});

 

 スイッチの初期状態には、NO(normally open)NC(normally closed)2種類があります。Switchオブジェクトは、既定はNOです。この状態は、オプションの「type」プロパティで指定することはできます。

type

説明

NO

通常は開いていて、押すと(オンで)閉じる

NC

通常は閉じていて、押すと(オンで)離れる

 

 NCのスイッチを使用する場合は、「type」プロパティに「NC」をに指定して、Switchオブジェクトを作成します。

new five.Switch({

  pin: ピン番号,

  type: "NC"

});

 

スイッチの状態を取得する

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

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

 

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

イベント

説明

closed

スイッチを閉じたとき(NOの場合は入力がLOWNCの場合は入力がHIGHになったとき)に発生する

open

スイッチを解放されたとき(NOの場合は入力がHIGHNCの場合は入力がLOWになったとき)に発生する

 

 たとえば、スイッチの現在の状態を表示するコードは、次のように書きます。

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

var board = new five.Board();

 

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

  // Switchオブジェクトを作成(8ピンをトグルスイッチ入力用に設定)

  var toggle = new five.Switch(8);

  // closed」イベント:スイッチを閉じたときに発生

  //  NO(既定)の場合は入力がLOWNCの場合は入力がHIGHになったとき

  toggle.on("close", function() {

    console.log("closed");

  });

 

  // open」イベント:スイッチを解放されたときに発生(既定)

  //  NO(既定)の場合は入力がHIGHNCの場合は入力がLOWになったとき

  toggle.on("open", function() {

    console.log("open");

  });

});

 

・配線図-NO(switch-no.fzz)

 2016080503.png

・配線図-NC(switch-nc.fzz)

 2016080504.png


複数のスイッチをまとめて管理する

 複数のスイッチをまとめて管理するには、Switchesオブジェクトを使います。Switchesオブジェクトは、物理的なボード上に接続されている複数のスイッチを表すオブジェクトのコレクションです。Switchesオブジェクトを作成するには、Switchesクラスのコンストラクタを使います。引数には、スイッチを接続するピン番号またはSwitchオブジェクトの配列を指定します。

new five.Switches(配列);

 

たとえば、234ピンに接続された3つのスイッチを管理するSwitchesオブジェクトを作成するには、次のように書きます。

new five.Switches([2, 3, 4]);

 

 オプションの「pin」プロパティでピン番号を指定する場合は、次のように書きます。

new five.Switches([{pin: 9}, {pin: 10}, {pin: 11}]);

 

特定のスイッチのイベントを検出する

 Switchesオブジェクトの特定のスイッチを参照するには、配列のインデックスを指定します。インデックスは、ピン番号の記述順に0から割り当てられる連番です。たとえば、インデックスが「0」のスイッチの「close」イベントを検出するには、次のように書きます。

  toggle[0].on("close", function() {

    console.log("closed");

  });

 

スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

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

kindle本

最新コメント

温度計

ads

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