Joystick v1.1

SKU:U024-C

説明

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

製品の特長

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

含まれるもの

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

アプリケーション

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

仕様

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

EasyLoader

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

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

Download Windows Version Easyloader Download MacOS Version 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

回路図

Learn

Gamepad (prototype) based on M5StickC (ESP32 Pico) with I2C joystick module, dual button unit, and BT connectivity.

Example

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 Blocks

  • Get X X 軸のデータを返す

  • Get Y Y 軸のデータを返す

  • Get is pressed キーの値を返す

  • Get Reverse X X 軸のリバースデータを返す

  • Get Reverse Y Y 軸の反転データを返す

使用方法