キーパッドの入力データを取得するには、Keypadオブジェクトを使います。Keypadオブジェクトは、物理的なボードに接続された単一のキーパッドを表すオブジェクトです。
Johnny-Fiveのサポートするキーパッドは、次のとおりです。
・MPR121
・MPR121QR2
・Grove QTouch (AT42QT1070)
・12 Button Keypad (I2Cバックパックが必要)
Keypadオブジェクトを作成するには、Keypadクラスのコンストラクタを使います。引数にオプションプロパティの値を含むオブジェクトを指定します。各キーパッド用のKeypadオブジェクトを作成するには、次のように書きます。
new five.Keypad({
pin: "A0",
length: 16
});
|
「pins」プロパティにアナログピンの名前を、「length」プロパティにキー数を指定します。
new five.Keypad({
controller: "VKEY",
pin: "A0"
});
|
「pins」プロパティににアナログピンを、「controller」プロパティに「VKEY」を指定します。
I2Cインターフェイスのキーパッドの場合は、「controller」プロパティにデバイス名を指定します。
// MPR121
new five.Keypad({
controller: "MPR121"
});
|
new five.Keypad({
controller: "MPR121_KEYPAD"
});
|
// 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);
});
});
|
キーパッドの各キーの任意の値を割り当てるには、「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.00~1..00)を含むオブジェクトを指定します。
たとえば、押すときの感度を「0.10」、離すときの感度を「0.05」に設定するには、次のように書きます。
new five.Keypad({
controller: "MPR121_KEYPAD",
sensitivity:
{
press: 0.10,
release: 0.05,
},
});
|
0 件のコメント:
コメントを投稿