概要


M5StickC向けのジョイスティックモジュールです。
ジョイスティックの位置と押し込み状態をデジタル出力します。

マイコン内蔵型のため、組み込みがとても簡単です。
一般的なアナログ出力(ポテンショメーター方式)のジョイスティックではAD変換や演算処理が必要ですが、Joystick Hatはレバーの位置情報を直接、I2C通信でデジタル出力します。

購入する

下記ページよりご購入ください。
Joystick Hat | IoT本舗オンラインストア

主な仕様

  • マイコン(STM32F030F4)内蔵
  • 通信プロトコル:I2C(アドレス:0x38)
  • X軸/Y軸の位置情報、ボタン押下の検知

用途例

  • ゲームのジョイスティック
  • M5StickCをWiFi/Bluetoothのブリッジデバイスとして使えば、各種IoT機器のワイヤレス制御(ジョイスティックでリモコン操作)が可能

ドキュメント

M5Stack提供

製品情報
サンプルプログラム

M5StickCとJoystick Hatの連結部を補強するバックプレート
完成イメージ
STLファイル

参考

M5StickCのJoystick HATをためす – Lang-ship
Joystick HAT – さいとてつや

サンプルプログラム

Arduino IDE用のサンプル

joystick_hat_demo.ino
…ジョイスティックの位置情報を表示するだけの動作確認用サンプルです。

joystick_hat_calibration.ino
…ジョイスティックのキャリブレーション(位置補正)を行うプログラムです。

製品レビュー

実際にJoystick HatとM5StickCの動作を試してみました。

Joystick Hatのセンサー部は2軸のポテンショメータ(可変抵抗器)で、45°傾いた配置となっているようです。生データを確認すると、ジョイスティックが左下に倒すとX軸最大値、左上に倒すとY軸最大値となります。
バネが内蔵されているので、指を離すと自動的にセンター位置に戻ります。

マイコン内蔵のおかげで、座標データを直接、デジタル出力できる便利なモジュールです。
右に倒すとX軸最大値、上に倒すとY軸最大値です。
各種プロトタイピングで、てっとり早くジョイスティック機能を実装できます。

演算後の座標データの精度ですが、デフォルトではセンター位置が若干(±127に対し20弱)、ズレていることがあります。
センター位置のズレはマイコンのキャリブレーション機能で簡単に補正できます。
経年劣化等によるズレに対しても、最大値をキャリブレーションできます。

よくある質問と答え

精度が悪い、初期位置がズレている

以下の対策をご検討ください。

  • キャリブレーションを行う。(サンプルプログラム参照)
  • 特定位置で変な値が出る場合はホスト側でマスクする。(-127は無視する等)
  • 生データからホスト側(M5StickC)で座標データを計算する

M5StickCとの連結部の強度が気になる

Joystick HatとM5StickCはピンでつながっているだけの構造です。
ジョイスティックを操作するときはピンに負担がかからないように注意してください。
しっかりと連結させたいときはバックプレートで補強してください。
3Dプリンタ用のSTLファイルが公開されています。