Files
2019-03-20 16:32:45 +08:00

3.5 KiB

JOYSTICK ユニット {docsify-ignore-all}


📝概要      :octocat:サンプルコード       🔌回路図       🛒購入リンク      🎬関連動画

概要

**JOYSTICK**ユニットはコントローラーなどに利用可能なジョイスティックです。X-Y軸オフセットとボタンクリック入力を取得できます。

内部的には (X, Y, Z) 軸方向の入力はATmega328pのそれぞれ(A0, A1, A2) ピンに接続されています。

M5CoreとJoystickはI2Cで接続されます。I2Cアドレスは0x52です。

特徴

  • X, Y 値の範囲 (10 ~ 250), Z方向(0: released, 1: pressed)
  • Grove インターフェース、サポートプログラミング UIFlowArduino
  • LEGO 互換ホール

関連リンク

サンプルコード

1. Arduino IDE

完全なソースコードはこちら

#include <M5Stack.h>
#include "Wire.h"

#define JOY_ADDR 0x52

// declaration
uint8_t x_data, y_data, button_data;
char data[100];

// initialization
M5.begin();
M5.Lcd.clear();
dacWrite(25, 0);//disable the speak noise
Wire.begin(21, 22, 400000);


// read data
Wire.requestFrom(JOY_ADDR, 3);
if (Wire.available()) {
  x_data = Wire.read();// X(range: 10~250)
  y_data = Wire.read();// Y(range: 10~250)
  button_data = Wire.read();// Z(0: released 1: pressed)
  sprintf(data, "x:%d y:%d button:%d\n", x_data, y_data, button_data);
}

2. UIFlow

完全なソースコードはこちら

回路図

ピンマップ

M5Core(GROVEインターフェースA)GPIO22GPIO215VGND
JOYSTICK UnitSCLSDA5VGND

関連動画

Joystick デモ - 車椅子操作

Joystick デモ - ツリーメニュー操作