「無限ワット」自動周回プログラムの導入方法

「無限ワット」とは、ポケモンソード・シールドで「レイドバトルの募集中に時計設定を変更しても時計変更ペナルティを受けず、巣の確認時に貰えるワットが再び手に入ること」を利用したワット稼ぎの事です。
これはそれをマイコン制御によって全自動で行う手順についてまとめたものです。
マイコン制御が何か分からない場合は・・・これは「マイコンという機械をProコンとしてSwitchで使えるようにして、さらに特定のボタン入力を繰り返す機能を与える」という手順についてまとめたものです。・・・で分かってもらえるでしょうか?


用意するもの

・PC

Windows10/8/7搭載パソコン(今回Windows10を使用)

Arduino UNO R3の入手(購入)

他にも利用できるものはありますがここではこれらとします。


互換機ですがこれで問題なし。USBケーブル付き。約1100円
(他でも出来ますが収拾がつかないのでATMEGA328とATMega16U2を使っているこれらとします。)


こちらがオリジナル。USBケーブル別売り。約3300円


基盤剥き出しなのであると安心です。約200円

・USB変換コネクタ(USB Type-AをType-Cに刺せるようにする為)

SwitchLiteでは必須です。通常Switch付属のドックでも可能ですが(TV出力の処理をする為)タイミングずれが起きる問題や、長時間使用での発熱が心配なら利用した方が良さそうです。
変換コネクターは安いものだと100円ショップで「変換アダプタ(USB→タイプC)」といった名称で売られています。
ただの変換コネクターだと電池が切れてしまう(厳密には自動スリープする)ので充電もできるタイプを推奨。下記のスタンドタイプでなくいわゆる中華ドックでも多分大丈夫です。


USBハブが1ポートのみ。約2000円

USBハブが2ポート。4ポートの上位版もある。約3000円/約3600円

・自動プログラム

ここでは例として「AutoWatt(ランクマッチ不使用の無限ワット回収プログラム)」の書き込みます。
まず、murufon氏の公開ページ(https://github.com/murufon/AutoRaid/releases)の「AutoWatt」項のAssetsにある「Source code(zip)」をクリックしてダウンロードします(1.0.0aw.zip,20KB)。
ZIPファイルを右クリックし、「すべて展開(T)」し、中にある「AutoRaid-1.0.0aw」フォルダを今回はCドライブに移動します(説明の都合なのでそのままでも大丈夫です)。
※本来コンパイル作業で生成される「Joystick.hex」が入っているのでコンパイルは不要です。

・dfu-programmer

dfu-programmer公式(http://dfu-programmer.github.io/)にあるDownloads項目の「project files」に貼られているリンクを開き、「dfu-programmer-win-0.7.0.zip」をダウンロードします。
※展開すると「dfu-prog-usb-1.2.2」「dfu-programmer.exe」「dfu-programmer.html」が入っています。

導入手順

以前乗せていたWindows7版の手順はこちら

マイコンの接続・ドライバの導入

まずマイコンをUSBケーブルで接続します。
(Windows10に接続すると「不明なデバイス」と出た後、自動ドライバを探して「USB シリアルデバイス(COM●)」と認識されます。)
次に下画像の赤丸箇所を金属でショートさせて(=回路の電源を入る)、すぐ離します。
これは「USBに刺すと書かれているプログラムを実行する」という仕様の為、それを解かないと書き込める状態にならないからです。

Windowsのメニュー→Windows システム ツール→コントロール パネル→ハードウェアとサウンド→「デバイスマネージャー」を起動します。
「不明なデバイス」があるので右クリックで「ドライバーソフトウェアの更新」をクリック、

「コンピュータを参照してドライバーソフトウェアを検索(R)」を選んで、「参照(R)」で先ほど展開したフォルダ(PC→ダウンロード)の「dfu-programmer-win-0.7.0」を選択し「OK」「次へ(N)」、「このデバイス ソフトウェアをインストールしますか?」と聞いてくるので「インストール(I)」をクリック、「ドライバーが正常に更新されました」と出るので「閉じる(C)」、すると「ATmega16U2」として認識されるようになります。

参考:dfu-programmer で Arduino UNO の ATmega16U2 に Windows から書き込む(https://another.maple4ever.net/archives/2380/

マイコンへの書き込み

まず「dfu-programmer.exe」を「AutoRaid-1.0.0aw」フォルダにコピーします。
その「joystick.hex」があるフォルダ(C:\AutoRaid-1.0.0aw)で「Shift+右クリック」をして「PowerSell ウィンドウをここで開く(S)」をクリック(下画像)。

".\dfu-programmer.exe ATmega16U2 erase"と入力(右クリックで貼り付け)して「Enterキー」を押してマイコンのメモリを初期化し、
".\dfu-programmer.exe ATmega16U2 flash Joystick.hex"と入力して「Enterキー」を押して書き込みます。

上の画像通りにいけば書き込み成功です。PowerShellを閉じて、マイコンをPCから外します。

使用方法

まずHOMEメニューの「設定」→「本体」→「日付と時刻」の「インターネットで時間をあわせる」を"ON"に、ゲーム内のXメニューの「設定」→話の速さ「速い」に、
Switchの設定→コントローラーとセンサー→Proコントローラーの有線通信を”ON”にしておきます。
そして巣に「ねがいのかたまり」を入れて、ワットを獲得し、主人公を巣の前に待機させます。
メタモン出る巣の場所などの野生ポケモンと遭遇しうる場所は避けること)
USBポートにマイコンを接続すると自動周回が始まるのでコントローラーは操作しないor外してOFFにしておきます。(シャッターや音量ボタンは触っても問題ありません)
終了したくなったらUSBポートからマイコンを取り外します。
(長時間放置するのであれば、HOMEボタン長押しで出るメニューで自動明るさ調整"OFF"、明るさ&音量"最低(左端)"にしておくとよいでしょう。)

メモ:
今回使用しているプログラムでは「募集中に1日進める」を繰り返す仕様となっています。
1サイクル約30秒で2000Wなので、1時間で24万W、4時間10分で100万W得られる計算となります。
Nintendo Switch Onlineの契約(もしくは7日間体験)が必要ですが、ランクマッチを利用すると発生する「時計変更ペナルティ無効」を利用した方式はこの1.5倍の速さ(約20秒)で出来るので利用可能であればそちらをおすすめします。

補足:プログラムの書き変え

他のプログラムに書き変えたい場合、マイコンを再びUSBケーブルで接続してショートさせて離し、上記の「 マイコンへの書き込み」を行います。※ドライバを入れ直す必要はありません。

貯めたワットの活用方法

別記事にする予定。
ざっくりいうと「無限ワット(160分or54分で32.5万W)→穴掘り兄弟(約650回でカセキ150ペア分入手)→カセキ再生(A連射)→ミラクル交換(人力)→IDくじ(自動でポイマ&マスボ量産)」といった流れです。

蛇足「無限ワット」は修正されるのか?

答えは「修整されても出来る」です。よくガセツイートを見かけますが仮に配信されてもオフライン環境でプレイすれば可能だからです。今後販売されるものが全て修正済みで販売されたとしても既に200万本以上出ているので修正前のものの入手に困ることは無いでしょう。
ただし、ランクマッチを利用の方はアップデートしないとオンラインに繋げないので出来なくなる可能性があります。

プログラム紹介

基本的に「言語:日本語、メッセージ:はやい」前提。上二つはドック利用だとタイミングが合わずうまくいかない場合あり。

無限ワット(ランクマ使用)&IDくじ(ポイントアップ/マックス・マスターボール稼ぎ)

watagi氏の公開ページ(https://github.com/watagi/AutoWatt/releases/tag/1.00JD)
「ときわたり自動化」項のAssetsにある「AutoRotomi.zip」がIDくじ、「AutoWatt.zip」がワット回収(1サイクル20秒)になっています。
※使用法はフォルダ内のREADME.mdを参照。
※ドック対応したIDくじはhttps://1drv.ms/u/s!AqA14wVJ52Z2iVIJbN1OEe5rTLMe?e=EGgcOP=こちら(別ソフト誤起動に対応、動作確認2020/03/02)。さらに入力を遅くしたものはこちら(2020/03/08追加)。

無限ワット(ランクマ不使用)&自動レイド(経験値アメ・ダイマックスアメ稼ぎ)

「ねがいのかたまり」が尽きるまで無差別にレイドに挑んでくれます。
murufon氏の公開ページ(https://github.com/murufon/AutoRaid/releases)。
「AutoWatt」項のAssetsにある「Source code(zip)」がワット回収(1.0.0aw.zip 1サイクル30秒)、
「AutoRaidWithoutCatching」項のAssetsにある「Source code(zip)※▼をクリックして開く」が自動レイドバトルの捕獲しないver(1.0.0wc.zip)、
「AutoRaid」項のAssetsにある「Source code(zip)※同上」が自動レイドバトルの捕獲しないver(1.0.0.zip)となっています。
※ドック対応したワット回収はこちら

自動孵化&自動リリース&トーナメント・バトルタワー周回&A連射

Almtr氏の公開ページ(https://github.com/Almtr/Switch-Fightstick/releases)。
「Auto-Pokemon-Breeder v1.0.2」項にある「HatchEggs.hex (Download)」が「自動孵化」。
ワイルドエリアで「タマゴを受け取って孵化」を30匹自動してくれます。
「Auto-Pokemon-Breeder v1.0.2」項にある「(OPTION) LoopTournament.hex (Download)」が「トーナメント周回」。
レアリーグカード入手後にも対応したトーナメント周回を行ってくれます。「どくどくだま」「かえんだま」オシャボ稼ぎに。
「Auto-Pokemon-Breeder v1.0.2」項にある「(OPTION) LoopBattleTower.hex (Download)」が「タワー周回(シングル)」。
ひたすらバトルタワー(シングル)に挑み続けてくれます。BP稼ぎに。
「Auto-Pokemon-Breeder v1.0.2」項にある「(OPTION) ReleasePokemons.hex (Download)」が「自動リリース」。
自動で1ボックス逃がしてくれます。
「Auto-Pokemon-Breeder v1.0.2」項にある「(OPTION) RepeatA.hex (Download)」が「A連射」。
Aボタンを連射してくれます。穴掘り兄弟に使えば「きん/ぎんのおうかん」稼ぎができます。
「Auto-Pokemon-Breeder v1.0.3-pre」項にある「(OPTION) LoopBattleTower.hex (Download)」が「タワー周回(ダブル)」。
ひたすらバトルタワー(ダブル)に挑み続けてくれます。BP稼ぎに。
※書き込み時に”Joystick.hex”をそれぞれ"HatchEggs.hex"等に変えて行う事。
解説はhttps://github.com/Almtr/Switch-Fightstick/blob/master/README_ja.mdにあります。

・バトルカフェ回収・きのみ回収※ほりだしもの回収も可能

アップローダーの為、URL消滅)
ランクマッチを利用した時計変更によるバトルカフェ周回。ヒメリで回復しながら繰り返すのでセットで使います。
ヒメリの生る木の場所はこちら(https://yakkun.com/swsh/item_list.htm?mode=berry#item-154)。
ついでに努力値を下げる木の実やカレーの材料を狙うなら以下の場所がおすすめ。
ザロク(H)&ウブ(D):ナックル丘陵(西(左))
マトマ(S)&チイラ:見張り塔跡地
タポル(B)&リュガ:巨人の腰かけ
カムラ&タンガ:エンジンリバーサイド(東(右))
※ヒメリと当時に狙えないネコブ(A)、ロメ(C)は「7番道路(南東側(右下))/エンジンリバーサイド(西(左))/巨人の鏡池/ナックル丘陵(中央)」で同時に狙えます。

補足2(2022/0528追記)

Arduino IDEを使おうと思ったら書き込みができない!」場合の解決法はこちら。
要約すると「Arduino-usbserial-atmega16u2-Uno-Rev3.hex」を書き込めば解決します。
error-astray.hatenablog.com