obniz Parts Library

Grove_JoyStick

GitHub
Grove_JoyStick
Usable Devices :
obniz_board
m5stickc

Grove_JoyStick

X軸Y軸とプッシュスイッチをもつGrove対応のジョイスティックです。I2C通信を利用します。

wired(obniz, {[scl, sda, vcc, gnd, grove]})

obnizデバイスと接続します。
白線、黄線、赤線、黒線がそれぞれscl、sda、vcc、gndに対応します。

name type required default description
vcc number(obniz Board io) no   モジュールの場合はvcc, 単体の場合はHに接続します。別の電源につないでいる場合は指定する必要はありません。
gnd number(obniz Board io) no   モジュールの場合はgnd, 単体の場合はHに接続します。別の電源につないでいる場合は指定する必要はありません。
scl number(obniz Board io) no   I2Cのsclとなる端子です
sda number(obniz Board io) no   I2Cのsdaとなる端子です
i2c object no   obnizのi2cオブジェクトです
grove object no   接続するデバイスにgroveがある場合に利用できます
var joystick = obniz.wired("Grove_JoyStick", { scl:0, sda:1, vcc:2, gnd:3 });

groveを持つデバイスでは、パラメータに{grove: obniz.grove0}を指定することで接続できます。

var obniz = new Obniz.M5StickC("OBNIZ_ID_HERE");
obniz.onconnect = async function() {
  var joystick = obniz.wired("Grove_JoyStick", { grove: obniz.grove0 });
}

[await] isPressedWait()

ボタンが押されているかどうかを一度だけ取得します。

// JavaScript Examples
var joystick = obniz.wired("Grove_JoyStick", { grove: obniz.grove0 });
var isPressed = await joystick.isPressedWait();
if (isPressed) {
    console.log("Pressed!");
}

[await] getXWait()

[await] getYWait()

X、Yそれぞれの傾きを一度だけ取得します。

値は0~255の範囲となります。個体差などによりジョイスティックをすべて倒しても0や255まで届かないことがあります。

// JavaScript Examples
var joystick = obniz.wired("Grove_JoyStick", { grove: obniz.grove0 });
while(true) {
  var x = await joystick.getXWait()
  var y = await joystick.getYWait()
  console.log(`${x}-${y}`);
  await obniz.wait(1);
}

Supported from: obniz.js 3.5.0