記事一覧

スポンサーサイト

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

Johnny-Fiveでマイコン制御35 - キーパッド

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

 キーパッドの入力データを取得するには、Keypadオブジェクトを使います。Keypadオブジェクトは、物理的なボードに接続された単一のキーパッドを表すオブジェクトです。

 

 Johnny-Fiveのサポートするキーパッドは、次のとおりです。

VKEY(SparkFun)

Waveshare AD (Analog)

MPR121

SparkFun (Breakout)

SparkFun (Keypad)

Adafruit (Breakout)

Adafruit (Shield)

MPR121QR2

SparkFun

Grove QTouch (AT42QT1070)

Seeed Studio

12 Button Keypad (I2Cバックパックが必要)

Adafruit

Sparkfun

 

Keypadオブジェクトを作成するには、Keypadクラスのコンストラクタを使います。引数にオプションプロパティの値を含むオブジェクトを指定します。各キーパッド用のKeypadオブジェクトを作成するには、次のように書きます。

 

Waveshare AD (Analog)

new five.Keypad({

  pin: "A0",

  length: 16

});

pins」プロパティにアナログピンの名前を、「length」プロパティにキー数を指定します。

 

VKEY(SparkFun)

new five.Keypad({

  controller: "VKEY",

pin: "A0"

});

 「pins」プロパティににアナログピンを、「controller」プロパティに「VKEY」を指定します。

 

 I2Cインターフェイスのキーパッドの場合は、「controller」プロパティにデバイス名を指定します。

 

MPR121(SparkFun (Breakout)Adafruit (Breakout)Adafruit (Shield))

// MPR121

new five.Keypad({

   controller: "MPR121"

});

 

 

MPR121キーパッド(SparkFun (Keypad))

new five.Keypad({

   controller: "MPR121_KEYPAD"

});

 

MPR121QR2シールド(SparkFun)

// MPR121QR2_SHIELD

new five.Keypad({

   controller: "MPR121QR2_SHIELD

});

 

QTOUCH / AT42QT1070(Seeed Studio)

new five.Keypad({

  controller: "QTOUCH", // または "AT42QT1070"

});

 

キーパッドのキー値を取得する

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

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

 

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

イベント

説明

change

キーの状態が変化したときに発生する

hold

キーを500ミリ秒(既定値)以上押しっぱなしにしたときに発生する

down, press

キーが押されたときに発生する

up, release

キーが離されたときに発生する

 

 各インベントでは、次のプロパティを含むデータオブジェクトが放出されます。

プロパティ

説明

which

押されたキーの値

timestamp

イベント時のタイムスタンプ

 

 たとえば、MR121キーパッドで押されたキーの値を表示するには、次のように書きます。

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

var board = new five.Board();

 

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

  // Keypadオブジェクトを作成

  var keypad = new five.Keypad({

    controller: "MPR121_KEYPAD"

  });

 

  // キーが押されたら

  keypad.on("press", function(event) {

    // キーの値を表示

    console.log("Which button?", event.which);

  });

});

MR121キーパッド(SparkFun (Keypad))の場合、左上で「1」、右下で「12」が出力されます。キーの値は、任意に設定することができます。

 

キーパッドの各キーの任意の値を割り当てる

 キーパッドの各キーの任意の値を割り当てるには、「keys」プロパティを使います。値には、キーに割り当てる値の配列を指定します。

たとえば、MPR121キーパッドの任意の値を割り当てるには、次のように書きます。

new five.Keypad({

  controller: "MPR121_KEYPAD",

  keys: [

    ["!", "@", "#"],

    ["$", "%", "^"],

    ["&", "-", "+"],

    ["_", "=", ":"]

  ]

});

 

キーパッドのキーのホールドタイムを設定する

ホールドタイムは、「hold」イベントが発生するまで、キーを保持しなければならない時間です。既定値は500ミリ秒です。ホールドタイムを設定するには、オプションの「holdtime」プロパティを使います。値には、ミリ秒(ms)単位の時間を指定します。

 たとえば、MPR121キーパッドのホールドタイムを1000ミリ秒に設定するには、次のように書きます。

new five.Keypad({

   controller: "MPR121_KEYPAD"

   holdtime: 1000

});

 

キーパッドのキーの感度を設定する

 MPR121を使用したキーパッドのキーの感度を設定するには、「sensitivity」プロパティを使います。値には、押すとき(press)と、離すとき(release)の感度(0.001..00)を含むオブジェクトを指定します。

 たとえば、押すときの感度を「0.10」、離すときの感度を「0.05」に設定するには、次のように書きます。

new five.Keypad({

  controller: "MPR121_KEYPAD",

  sensitivity: {

    press: 0.10,

    release: 0.05,

  },

});


スポンサーサイト

コメント

コメントの投稿

非公開コメント

ads

プロフィール

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

kindle本

最新コメント

温度計

ads

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