pdf-icon

Unit Joystick

SKU:U024

説明

Joystickはジョイスティック制御入力ユニットです。I2C通信インターフェースを採用し、3軸制御信号入力(X/Y軸オフセットアナログ入力、Z軸キーデジタル入力)をサポートします。ゲームやロボット制御などのアプリケーションシーンに適しています。

この製品は現在生産中止となっています。

製品の特長

  • 3軸入力。
    • X/Y軸オフセットアナログ入力
    • Z軸キーデジタル入力
  • LEGO互換穴2つ
  • 開発プラットフォーム Arduino、UIFlow(Blockly、Python)

含まれるもの

  • 1x ジョイスティックユニット
  • 1x HY2.0-4P ケーブル

アプリケーション

  • ゲームコントローラー
  • ロボットのリモコン

仕様

仕様 パラメータ
通信プロトコル I2C: 0x52
X、Y軸オフセット出力値 0~255
Z軸ボタン出力値 0/1
製品重量 11g
梱包重量 27g
製品サイズ 48×24×32mm
梱包サイズ 75×45×30mm

EasyLoader

EasyLoaderはシンプルで高速なプログラムバーナーで、製品関連のケースプログラムを内蔵しており、簡単な手順でメインコントロールに焼き付け、一連の機能検証を行うことができます。

説明:
ジョイスティックのXYデータおよびボタンの状態を表示します。

Windows版Easyloaderのダウンロード MacOS版Easyloaderのダウンロード

ピンマップ

  • JOYSTICK
M5CORE - PORT A G21 G22 5V GND
JOYSTICK SDA SCL VCC GND

プロトコル

  • プロトコルタイプ I2C
  • I2Cアドレス 0x52

ジョイスティックREG 0x52

REG len description return values
0x52 3 Read joystick status [0] X VALUE
[1] Y VALUE
[2] BTN STATUS

回路図

ソフトウェア

Arduino


#include <M5Stack.h>

#define JOY_ADDR 0x52 //define Joystick I2C address

void setup() {
  M5.begin();
  M5.Power.begin();
  M5.Lcd.setCursor(70, 0, 4);
  M5.Lcd.println(("Joystick Test"));
  dacWrite(25, 0);  //disable the speak noise.
  Wire.begin(21, 22, 400000);
}

char data[100];
void loop() {
  static uint8_t x_data,y_data,button_data;
  Wire.requestFrom(JOY_ADDR, 3);  //Request 3 bytes from the slave device.  
  if (Wire.available()) { //If data is received.
    x_data = Wire.read();
    y_data = Wire.read();
    button_data = Wire.read();
    sprintf(data, "x:%d y:%d button:%d\n", x_data, y_data, button_data);
    Serial.print(data);

    M5.Lcd.setCursor(100, 50, 4);
    M5.Lcd.printf("X:%d      ",x_data);
    M5.Lcd.setCursor(100, 80, 4);
    M5.Lcd.printf("Y:%d      ",y_data);
    M5.Lcd.setCursor(100, 110, 4);
    M5.Lcd.printf("B:%d      ",button_data);
  }
  delay(200);
}

UIFlow

UIFlow

How to use Unit joystick and related API instructions in the UIFlow1.0

使用方法