LoginSignup
4
3

More than 3 years have passed since last update.

ProMicroをXinputコントローラーとして動作させる

Last updated at Posted at 2020-03-23

はじめに

ProMicroをXinput方式として認識させることができたのでその方法を残しておきます.

方法

こちら のライブラリを使用します
このボードパッケージが必要なのでArduinoIDEにインストールしていきます。
FireShot Capture 003 - dmadison_ArduinoXInput_AVR_ AVR boards package for the ArduinoXInput _ - github.com.png
画像のthe latest versionと書かれた部分から最新版をダウンロードしていきます。
FireShot Capture 004 - Release Version 1.0.1 · dmadison_ArduinoXInput_AVR - github.com.png
ArduinoXInput_AVR_V1.0.1.zipをダウンロードしてください。解凍するとxinputというフォルダーが出てくるのでArduinoIDEをインストールした場所のhardwareフォルダーに移動させます。
SparkFunのボードの場合はこちらのリポジトリのthe latest versoinと書かれた部分をクリックして最新版のソースコードをダウンロードしてください。解凍するとxinput_sparkfunというフォルダがあるので同じようにhardwareフォルダに入れます。
hardware 2020_03_23 21_41_54 (2).png
自分の環境ではフォルダーはこのようになりました。xinputとxinput_sparkfunフォルダーがあることを確認しましょう。
ArduinoIDEからボードが追加されているかを確認しましょう。追加されたボードには w/XInput が末尾に入っています。
無題.png

いよいよライブラリをインストールしていきます。
Arduino XInput LibraryからリポジトリのzipファイルをダウンロードしてArduinoIDEの スケッチ→ライブラリをインクルード→.ZIP形式のライブラリをインストール からインストールします。
これでXInputライブラリを使用できるようになりました!!
追加したボードパッケージの中から自分のボードに合ったボードを選びましょう。
ライブラリと一緒に入れられたスケッチ例が参考になると思います。

コード例

#include <XInput.h>

void setup() {
    XInput.begin();
}

void loop() {
    XInput.press(BUTTON_A);
    delay(1000);

    XInput.release(BUTTON_A);
    delay(1000);
}

XInputのAボタンを押して一秒待ってから離して一秒待つことを繰り返すプログラムです。
Keyboardライブラリと同じように使うことができます。

HTML5 Gamepad Testerでコントローラーの情報を取得することができます。うまくいっているとXBox360コントローラーとして認識されているはずです。
FireShot Capture 005 - HTML5 Gamepad Tester - html5gamepad.com.png

注意点

追加したボードで書き込むとボードの自動リセットが機能しなくなります。なので新しいコードをアップロードする際にボードを手動でリセットする必要があります。書き込むには

  • マイコンボードにかきこむボタンを押す
  • マイコンボードに書き込んでいますと表示されるまで待つ
  • リセットボタンを二回押す

という手順で書き込むことができます。ボードにリセットボタンが無い場合はresetピンをGNDに接続することで対応できます。

参考サイト

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3