見出し画像

Nx Macro Controller 2.07 導入手順



はじめに

ニンテンドースイッチで画像認識して自動化するソフトであるNx Macro Controller の2.07以前のインストール手順になります。
機器構成は例に挙げている構成での手順になりますが、所持済みのキャプチャーボードやシリアル変換アダプターでも手順は異なりますが使用できる可能性がありますので各自で実施してください。
本手順では、Nx Macro Controllerの操作やマクロについては記述しません。
最新2.08以降のバージョンに関しましては、作者様のサイトをご参照ください。
※ver2.13版ではマイコンはCH552-Serialのみがサポートになりますので、本手順のarduinoは使用できません

機器構成

本構成ではシリアル接続での構成となります。

  • ニンテンドースイッチ本体とドック(liteはHDMI接続ができないため不可)

  • Windows10がインストールされたPC

  • HDMIキャプチャーボード

  • FTDI TTL USBシリアル変換アダプター

  •  例

  • ブレッドボード 1枚(※pro microの場合のみ)

  • ジャンパーワイヤー ♂♀ 2本


  • マイコン Arduino Leonardo(Atmega32u4)  か ProMicro(Atmega32u4) か Arduino UNO 1個(Atmega16u2⭕️/ch340は❌)

  • マイコンに対応するUSBケーブル 通信可能な物 1本

  • NEW CH552-Serial(下記購入サイトを参照)とUSB Type-C to USB Type-A通信可能ケーブル1本

  • HDMIケーブル 1本

  • マクロを作るときにあると便利なPCのコントローラー

  • 例 (※必須ではありません)DirectInputではなくXinputのスイッチ切り替えでうまく動きました。

他にもホリパット(Nintendライセンス)でも動作確認できているそうです。

Nx Macro Controller 2のダウンロード

作者様のページから最新版をダウンロードしてください
同じフォルダにある、HEXファイルもD:\ドライブ配下にダウンロードしておいてください。
Arduino UNO版 NX_ATMEGA16U2.HEX
Arduino Leonardo、Pro micro版 NX_ATMEGA32U4.HEX

Nx Macro Controller 2のインストール

ダウンロードしたNx Macro Controller Installer v2.XX.exeを実行します。

セットアップが実行されるのでインストールボタンを実行します。

マイコンのへのhexファイルの書き込み

Arduino UNOの場合

dfu-programmer-win-0.7.2.zipをダウンロードして解凍する

デバイスマネージャーで同梱されているドライバ適用後、
dfu-programmer.exe でデバイスを指定して erase 後、ファイルを指定して flash、resetする。

> dfu-programmer.exe ATmega16U2 erase
Checking memory from 0x0 to 0x2FFF...  Not blank at 0x1.
Erasing flash...  Success
Checking memory from 0x0 to 0x2FFF...  ERROR.
 
> dfu-programmer.exe ATmega16U2 flash NX_ATMEGA16U2.HEX
Checking memory from 0x0 to 0xFFF...  Empty.
0%                            100%  Programming 0x1000 bytes...
Success
0%                            100%  Reading 0x3000 bytes...
Success
Validating...  Success
0x1000 bytes written into 0x3000 bytes memory (33.33%).
> dfu-programmer.exe ATmega16U2 reset

環境がないため上記で割愛

Arudino Leonardo or Pro Micro の場合

Arduino IDEをインストールします。
Arduino IDE 1.8.19のWin7 and Newerをダウンロードします。

JUST DOWNLOADを実行します。



ダウンロードしたarduino-1.8.19-windows.exeを実行しインストールを開始します。

インストール完了後、
C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txtを右クリックしセキュリティタブのUsersのアクセス権限を編集します。

変更にチェックを入れOKボタンを押します。

C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txtを、
D:¥ドライブ配下にコピーします。
さくらエディタなどでコピーしたboards.txtを開き下記内容に編集します。

285行目 leonardo.vid.1=0x2341

286行目 leonardo.pid.1=0x8036

285行目:leonardo.vid.1=0x0f0d

286行目:leonardo.pid.1=0x0092


311行目 leonardo.build.vid=0x2341

312行目 leonardo.build.pid=0x8036

311行目:leonardo.build.vid=0x0f0d

312行目:leonardo.build.pid=0x0092


編集完了後、同じ文字コード、改行コードでファイルを保存します。
D:¥ドライブに保存したファイルを
C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txtに上書き保存します。

タスクバーの検索でdevmgmt.mscを検索し、デバイスマネージャーを起動します。

マイコンをUSBにてPCに接続し、マイコンのRSTとGNDをショートさせ、デバイスマネージャでBootloaderのCOMポートを確認します。
下記の場合COM3ポート

COMポートとユーザー名の部分を自分の環境に書き換え下記コマンドを実行します。

cd /d d:\
C:\Users\ユーザー名\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\ユーザー名\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -PCOMポート番号 -b19200 -cavr109  -patmega32u4 -b57600 -D -V -Uflash:w:NX_ATMEGA32U4.HEX:i

マイコンのRSTとGNDをショートさせ、bootloaderが起動している5秒以内に上記の、自分の環境に書き換えたコマンドを実行してください。

下記はCドライブ配下に統合ZIP版のIDEをダウンロードした場合。

C:\Switch_program\arduino-1.8.19\portable\Arduino15\packages\arduino\tools\avrdude\6.0.1-arduino5\bin\avrdude -CC:\Switch_program\arduino-1.8.19\portable\packages\arduino\tools\avrdude\6.0.1-arduino5\etc\avrdude.conf -v -patmega32u4 -cavr109 -PCOMポート番号 -b57600 -D -Uflash:w:D:\NX_ATMEGA32U4.HEX:i

下記成功時の実行結果

CH552-Serialの場合

NX Macro Controller2の作者様が、簡単に安価でPCと接続できるマイコンを発売されております。
導入の難易度が格段に下がりますので、これから画像認識でシリアル接続したい方は購入をぜひご検討ください。
必要機材はCH552-SerialとUSB Type-C to USB Type-A通信可能ケーブル1本、
HDMIキャプチャーボードのみになります。
HDMIケーブルはスイッチ付属品で大丈夫です。

マイコン購入サイト

導入手順(簡単な手順ですので必ず熟読して、手順通りに実施してください。手順間違えなどに関してのサポートは出来かねます。

注意事項
 精密な電気部品になりますので、静電気を嫌います。
 必ず作業前に金属などに触れ静電気を逃がしてから作業を開始してください。(特に冬は静電気がたまりやすい為)

こちらの書き込み用ツールをご使用ください。

https://cdn.discordapp.com/attachments/671698808140464158/1044979116572680262/WCHISPTool_Setup.exe

書き込むファームウェア

必ず最新のファームウェアを適用して下さい

CH55xSwitchSerialControl.ino.hex

よくある質問
Q.WCHISPToolにてNo USB Deviceと表示される。
A.WCHISPToolを立ち上げたまま作業を開始して下さい。
 タクトスイッチを押したままPCのUSB Type-Aポートに接続します。
 できるだけUSB HUBなどを使用せず、直接PCのUSBポートに接続してください。
 それでも認識されない場合、別のUSBポートに接続しなおしてください。

Q.Type-C側でPCに接続した場合、デバイスマネージャでUSB Serialが不明なデバイスになる。
A.ドライバの導入が必要になる可能性があります。Windows7は公式でサポート切れの為10以降を推奨します。ドライバは中国製になりますが、下記手順にて自己責任で適用をお願いします。
EXEは実行するのが怖いので、下記ZIPファイルのダウンロードと解凍を実施します。(この場合はD:¥ドライブに解凍)

Q.デバイスマネージャーにそもそも表示されないA.ケーブルが通信可能な物を使用して下さい。

https://www.wch.cn/downloads/CH341SER_ZIP.html

CH552-Serialの場合は下記USBシリアルドライバのダウンロードは不要です。

USBシリアルドライバのダウンロード


ダウンロードサイト

ダウンロードしたドライバを解凍し、D:¥ドライブにコピーします。
この例ではD:\CDM v2.12.36.4 WHQL Certified

USBシリアルアダプタドライバのインストール

タスクバーの検索でdevmgmt.mscを検索し、デバイスマネージャーを起動します。

USBシリアルデバイスにドライバを適用します
USB Serial Portを右クリックしドライバの更新を実行します。

コンピュータを参照してドライバを検索を実行します。


先ほどダウンロードしたドライバのフォルダを参照して次へを実行します。

ドライバのインストールが完了しましたので閉じるで終了します。

ドライバーが更新されCOMx(xは数字)になっていることを確認します。※このCOMxは後程使用しますので覚えておいてください。


HDMIキャプチャーボードの接続

PCのUSBポートに接続してください。
標準ドライバを使用するため、自動でインストールされます。

Nx Macro Controller 2と周辺機器の接続

UNO,Leonardo,Promicroの場合

PCのUSBポート ⇔ HDMIキャプチャーボード ⇔ Nintendo SwitchのHDMIポート

PCのUSBポート ⇔ USBシリアルアダプタ ⇔ ブレッドボードorマイコン ⇔ Nintendo SwitchのUSBポート

UNOの場合
USBシリアルアダプタTX ⇒ UNO TX1
USBシリアルアダプタGND ⇔ UNO GND

leonardo,pro microの場合
USBシリアルアダプタTX ⇒ leonardo RX
USBシリアルアダプタGND ⇔ leonardo GND


CH552-Serialの場合
 スイッチドック本体のUSBポートにCH552-Serial Type-Aオスを直接差し込み、USB Type-C to USB Type-A通信ケーブルをPC本体のUSBポートに接続します。

Nx Macro Controller 2 の起動と初期設定

スタートメニューからNx Macro Controller2を起動します。

映像でUSB Videoを選択し接続を実行します。

ツール->接続から事前にインストールしたシリアルアダプターのCOM番号を指定します。

ツールのオプションでPCのキーボードからの入力や、Direct Imput対応コントローラのキー設定を実行します。

動作テスト

記録ボタンを押した状態で、PC用に設定したキーボードで動作が可能かを確認します。
Serialコントローラの認識は、上記設定のキーコンフィグがされている状態で、対応するキーが押されたタイミングになります。

以上でNx Macro Controller 2 のインストールと設定は完了です。


導入時の問題がありましたら作者様の手を煩わせる前に、Twitter@PokeTsvまでお問い合わせください。


この記事が気に入ったらサポートをしてみませんか?