【ポケモン剣盾】孵化作業完全自動化の詳細解説!寝ている間に色違い厳選できる!【マイコン】【Arduino】

ポケモン剣盾

こんにちわ、なるるです!

みがわりさんより教わりました、ポケモン剣盾におけるタマゴ孵化厳選作業の自動化を試してみましたので、詳しくやり方等を紹介していきたいと思います!

これにより、孵化作業が仕事に行ってる時でも寝ている時でも自動で行ってくれるので、色違い厳選がとっても捗ります(*^^*)。

スポンサーリンク
スポンサーリンク

必要な物

・PC(コード書き込みする為)

Arduino Leonardo マイクロコントローラーボード

下記のボードはArduino Leonardo 互換のあるボードですが、検証しておりませんので、自己責任においてお試しくださいm(_ _)m

・Switch直挿しの場合は⇒TypeCオス-microBオスのUSBケーブル
ドック挿しの場合は⇒TypeAオス-microBオスのUSBケーブル

両方使いの方は、どちらか一方を変換して使ってもOK!

 

 

スポンサーリンク

やり方

PC側設定

1、『Arduino IDE』のインストール

Arduino公式HPより『Arduino IDE』をダウンロード&インストールします。

※任意のOSバージョンを選んでダウンロードしてください。

 

 

2、ライブラリのインストール

こちらにアクセスして『clone or download』(緑ボタン)をクリックし、Switch操作用ライブラリとスケッチ(コード)をダウンロード。

ファイル名:NintendoSwitchControll-master.zip

 

ダウンロード後解凍し、それらファイル郡をdocumentフォルダの\Arduino\librariesに置く。

 

3、ID書き換え

20年2月11日追記:
ID書き換えの際には、『メモ帳』ではなくテキストエディター(Visual Studio Codeなど)を使って書き込み&保存を行うと、スケッチ書き込み時にコンパイルエラーが起きにくいです!

Arduino IDE本体がインストールされているフォルダ(C:\Program Files (x86)\Arduino\hardware\arduino\avr)

の中の『boards.txt』のvidとpidを

leonardo.vid=0x0f0d
leonardo.pid=0x0092

に書き換える。

下記の赤枠部分が書き換える部分。(下図はもう書き換えられている状態)

 

 

4、ボードにスケッチ(コード)を書き込む

・PCとボードをつなぐ。(通常、ドライバーは自動でインストールされる)

・ドライバーインストールを終えたら、『Arduino IDE』を起動。

・ファイル⇒開く⇒auto_hatching.ino(場所:SwitchController\examples\pokemon\auto_hatching\auto_hatching.ino)

・開いたら、コード中の『const int TIME_TO_HATCHING_SEC 』の秒数を、孵化するまでの秒数+10秒ほどの数値にしておく。(ポケモンによって異なるので、予め調べておく)

下記の場合、『モグリュー』設定でやっていて、孵化するまでに約60秒かかるので、+10秒の70秒設定にしている。

 

 

・ツール⇒ボード⇒『Arduino Leonardo』を選択。

・ツール⇒シリアルポート⇒『Arduino Leonardo』

・下図の矢印を押し、ボードにスケッチ(コード)を書き込む。

 

・下図のように左下に『ボードへの書き込みが完了しました。』を出たら、ボードを抜いてOK。

20年2月11日追記:
書き込み時に「コンパイル時にエラーが発生しました。」と出て書き込みが失敗する場合は、ID書き換えの際に、『メモ帳』ではなくテキストエディターを使って書き込み&保存を行うと、コンパイルエラーが起きにくいです!

これでPC側とボード側の設定は終了になります。

次にSwitchの設定です。

 

 

Switch側の設定

ポケモン剣盾を起動し、以下の準備をします。

1、ハシノマはらっぱに行く。
2、自転車に乗る。
3、育て屋で孵化対象のポケモンを預ける。
4、手持ちを「ほのおのからだ」持ちの一匹だけにする。
5、 Xボタンを押したときに「タウンマップ」が左上にあるようにする。そして「ポケモン」がその右にあること。

6、ボックスを、その次以降のボックスも含めて空にする。(ポケモンにもよりますが、だいたい7~8ボックスくらい続けて開けておけば、定時までまたは学校終わりまで回せます!

ポケモン剣盾の孵化作業をArduinoで完全自動化するより引用。

 

そうしたら、スケッチの書き込みが終わったボードをSwitch本体かドックに差し込みましょう!

完全自動化が始まります!!!

他のコントローラは、ドックから抜いておくこと。

行っているループは次の通りです。

  1. 空飛ぶタクシーでハシノマはらっぱに移動(初回だけぐるぐるして、もう一回ハシノマはらっぱへ移動)
  2. 自転車を降りる
  3. 育て屋さんの方をむく
  4. 育て屋さんまで向かう
  5. 自転車に乗る。
  6. 育て屋さんからタマゴを貰う
  7. 空飛ぶタクシーでハシノマはらっぱに移動
  8. 設定時間ぐるぐる回る
  9. ポケモンが生まれる
  10. 1~8を手持ち分(5匹)が一杯になったら、縦の範囲でボックスに預ける。
  11. 1ボックス一杯になったら次のボックスへ移動。
  12. また最初から~ループ

です!

注意点が一つあります!
ボードを指す前にインターネット通信を切り、ローカル通信にしておくこと!
経験上動作が不安定になり、しっかりとループしてくれない時がありました。

 

ポケモン自動リリースコードとの併用がオススメ!

ああ・・・今回も色違いは出なかった・・・それに、自動孵化でボックスが一杯・・・全部手動で逃がすんか・・・オレ乙・・・。

と、悩んでいるあなたに朗報です!

スケッチ(コード)集の中には、1ボックス分のポケモン逃しが自動でできるコードがあります!(スケッチ名:release_pokemons.ino

これを余りのボードに書き込み、自動孵化によってパンパンになったボックスを開放してあげましょう!

ボードを孵化用、リリース用と用途を分けた方が良いです。

ボックス替えを手動でしなければなりませんが、手動でやるより格段に楽。

ちなみにドックを使っている方はもっと楽になります!

自動化が終わったあとに本体を持ち上げボックス替えし、そのまま本体をドックに戻せばまた自動化が始まります!

USBを抜く必要無し!(ループが止まっているため)

いやー!すばらしいです!

スポンサーリンク

乱数調整や無限IDクジも自動化できるぞ!

なんと!

このマイコンを使えば、気だるい日付変更が自動化できます!

みがわりさんの作ってくださったスケッチ集の中に一緒に入っていますので、乱数調整が面倒で面倒で仕方がないとか、マスターボールを999個手に入れたいんじゃい!って方はぜひ使ってみてくださいね(^o^)

主な使い方はスケッチ(コード)内に記載されています!
スポンサーリンク

さいごに

いかがだったでしょうか?
やってみると、意外と導入は簡単で、マイコン初めてのワタクシでもすぐにできました(*^^*)!
これを覚えてしまうと、便利すぎてヒラでの孵化作業はできなくなりますね確実に😅
スポンサーリンク
スポンサーリンク
スポンサーリンク
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
ポケモン剣盾
スポンサーリンク
\面白かったらシェアおねがいします!/
なるるをフォローする
なるる blog

コメント

  1. アバターあすてーる より:

    はじめまして。記事を参考にマイコンに挑戦している初心者なのですが、毎回書き込み時にエラーが「コンパイル時にエラーが発生しました。」と出てしまいます。
    理由がわからず調べ回った結果、boads.txtのvidとpidをスイッチ用に書き換えると必ず出ることがわかりました。エラーの出ない書き換え方・もしくは対処法をご存知でしたら教えて頂けないでしょうか?
    使用ボードは純正品Arduino leonardoで
    vidとpidを変えて保存する時、「アクセスが拒否されました」と出るのでプロパティからフルコントロールの権限を付与して上書き保存しています。

  2. なるるなるる より:

    あすてーるさん>
    記事閲覧ありがとうございます!
    さてエラーの改善方法として考えられることは以下だと思います。
    ・一度arduino ideを再起動しないと反映されない
    ・別の行にもvid、pidを設定するところがある
     leonardo.build.vid
     leonardo.build.pid
     の部分も変える。
    ・boards.txtの場所が違う(AppDataフォルダの下とか。サンプルスケッチのあるフォルダの上の階層

  3. なるるなるる より:

    コメント送信が隠れてしまったので、前の回答の続きになります・・・

    ちなみに私の場合は権限により上書きできなかったので、違う場所に同名ファイルで保存し、それを戻して上書きしました!
    少しでも参考にされて、改善されること願っています。
    改善しましたら連絡ください!

  4. アバターあすてーる より:

    ご丁寧に回答をくださりありがとうございました。
    実は作者のみがわり様にもご質問したところ、
    「メモ帳を使用せずテキストエディターをいれて試して欲しい」という旨の回答を頂き
    試してIDの書き換えを行ったところ無事書き込みと動作を確認できました!!
    複数の原因を提示してくださり原因を特定するのにすごく役立ちました。
    本当にありがとうございます。
    今後マイコンで悩んでいる方に少しでもお役に立てれば幸いです。

  5. なるるなるる より:

    あすてーるさん>
    無事動作確認とれたとのことなりよりです(*^^*)。
    今後とも当ブログをよろしくおねがいします。

  6. はじめまして.
    記事を参考に作業を進めていたのですが,IDEでコンパイルを行うと,
    switch_controller.h:48:1: error: expected class-name before ‘{‘ token
    このようなエラーメッセージが出ます.
    対処法等をご存知でしたら教えていただきたいです.

    ちなみにですが,Arduino Leonardoではなく,Unoでも動作可能かもご存知でしたら教えていただきたいです.

    よろしくお願いします.

    • なるるなるる より:

      kmさん>
      記事閲覧ありがとうございます!お返事遅くなり申し訳ありません。
      質問の件ですが、一つ目に関しては現状お使い環境等がわかりかねるのでなんとも言えません。コンパイルに失敗する場合はID書き換えが上手く行っていないケースが見受けられます。2つ目のUnoでは動くかいうことですが、乗っているマイコンが違う為、本記事内容ではできないと思われます。よろしくおねがいします。

  7. 返信ありがとうございます.参考にさせていただきます.

  8. アバターsi より:

    windows10施行しています。
    プログラムファイルにArduinoのフォルダがありません
    保存先はCドライブになっているのですが、、

    • なるるなるる より:

      siさん>
      記事閲覧ありがとうございます。
      C:\Program Files (x86)には入っていませんでしょうか?32ビット版のソフトウエアはこちらに入ってきます。

  9. アバターkirori より:

    はじめまして。
    初心者にも分かりやすく紹介していただいて、助かりました。
    手順の通りに行ったのですが、書き込みすると完了にはなるのですが、
    下の画面にexamplesにヘッダファイルがありませんというような表示が出て使えませんでした。
    srcフォルダ内のhファイルをexamplesフォルダ内に移したら無事に動きました。
    もし同じ症状が出ている方がいたら試してみてください。

  10. アバターMental nelL より:

    たまに、ボックスの中がたまごだらけになってることがあります。
    これは、次のボックスへ移動するときの挙動が早すぎるから起こっているのでしょうか?
    またそうだとして修正箇所はどこになりますか?
    前提としてボックスは全て空の状態です

    • なるるなるる より:

      Mental nelLさん>
      記事をごらんくださりありがとうございます!
      考えられることとして、タマゴを孵化させるまでの時間が短すぎて、タマゴが割れず、次のタマゴを受け取りをループして一杯になるということがあります。
      該当のポケモンの孵化時間をしっかりと計り、それ+α秒(約10秒くらい)追加した時間を”const int TIME_TO_HATCHING_SEC =”に入れてみてはどうでしょう。

  11. アバターMental nelL より:

    お返事、ご回答ありがとうございます。
    記事の通り、+10秒の余剰時間はとってあります。
    また、手持ちを開くためのAボタン、ボックスを開くためのRボタンについても1.5秒程足しているのでやはりダメでした。
    2ボックス目から卵にになっていることや、5ボックス目から卵になっていることを鑑みるにループ等がおかしいというより何かの待ち時間が足りないという想定ではあります。

  12. アバターぐるぐるぐる より:

    初めまして
    記事参考にさせて頂きました
    書き込み完了しましたとなるのですが
    繋いでも全く動いてくれないのですがこれはどういった原因が考えられるのでしょうか?

    • なるるなるる より:

      ぐるぐるぐるさん>
      記事閲覧ありがとうございます!
      どのような時に動いてくれないのかはわからないですが、原因または解決となることを予想してみました。

      ・Switchの優先接続がOFFになっている。
      ⇒設定>コントローラとセンサー>Proコントローラーの有線通信>ON

      ・Switch自体と再起動してみる
      ・USBケーブルを変える

      他にもあるかもしれませんが思いつく限りを書いて見ました。

  13. アバターはるちゃん未来から来た人 より:

    初めまして、記事を参考にさせてもらっているものです。Windows10で施行しております、ホームページでArduino IDEのアプリケーションをダウンロードしたのですが、Program Files (x86)にArduinoのフォルダがありません。何が原因でしょうか?

  14. アバターKazuki Ihara より:

    すみません、コメント送れているか不安なのでもう一度送ります、Arduino windows app をホームページでダウンロードしましたが、Program Files (x86)にarduinoのファイルが見当たりません、解決方法などはありますでしょうか?

    • なるるなるる より:

      Kazuki Ihara>
      記事閲覧ありがとうございます。
      インストール時にダウンロード先を指定できると思います。デフォルトでのdownload先が違うところにあるのではないでしょうか?それかフォルダかファイル検索で『Arduino』を検索してはいかがでしょうか?

  15. アバターはるちゃん未来から来た人 より:

    アカウントの”Kazuki Ihara”とはるちゃん未来から来た人は同一人物です。間違えて違うアカウントで送りました

  16. アバターカチカチ より:

    私もぐるぐるぐるさんと同じ現象ですね。私はスウィッチライトしかないのですが、それが原因なのかな?って悩み中ですね。他の記載を見る限りは皆さんライトではないし。理由がわからないから対処に悩んでます。

  17. アバターカチカチ より:

    ▼繋いでも全く動いてくれない。
    メモ帳編集ではなく、Visual Studio Codeをつかい、
    Windows(C:)ユーザー>ユーザー名>AppData>Local>Ardunion15>packages>arduino>hardware>avr>1.8.1
    のなかのboadsを285行目、311行目、312行目を書き換える。
    以上の事にたどり着くまで時間がかかりましたが、誰かのQをしらみつぶしに調べ試すことで書き決することが出来ました。

  18. アバターヤモリ より:

    初めまして。記事を参考にさせて頂いているのですが手順3のID書き換えの所でアクセス許可がないと言われて書き換える事が出来ません。どうすれば良いでしょうか…

  19. アバターMOON SALT より:

    わかりやすい解説で無事に出来ました!
    試しで孵化秒数を60秒で設定したのですが
    孵化させたいポケモンを変えたい場合
    は再度マイコンへの上書きが出来ません。
    マイコンの初期化等調べてみましたが
    分かりませんでした…

    • なるるなるる より:

      MOON SALTさん>
      記事をご覧下さりありがとうございます!
      さて、質問の件ですが、マイコンがPCそしてArduino IDEに認識されていますでしょうか?
      Arduino IDEのツール⇒ボード⇒Arduino leonardoを選択。
      シリアルボード⇒最初に設定されたCOMに設定。もしくはArduino IDE右下端にあるCOM番号。(普通はUSBを指すだけで最初に設定したCOM番号に接続されます。)
      を試してください。
      もしくは、USBケーブルを変えてみるなどですかね?
      今の所これくらいしか思いつかないですが、解決の一旦となることを願います。