0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【ポケモン剣盾】カセキポケモンの受け取りを自動化させる

Posted at

Arduinoを使用してSwitchのコントローラを操作できるため、カセキポケモンの受け取りを自動化させました。

ボタン連打でも受け取れますが、自動化するにあたってメッセージ終了後にボタンを押すようにしました。

使用機器

Arduino Micro

・MacBook Pro

Macでの設定

Arduino IDEのインストール

・SwitchControlLibraryをGitHubからダウンロード
 保存先は「/Users/user/Documents/Arduino/libraries」に保存する。

・Arduino IDEを起動、SwitchControlLibraryを使用する時にArduinoSTLが必要になるため、
 「スケッチ⇨ライブラリをインクルード⇨ライブラリを管理」から「ArduinoSTL」をインストールする。

・ボードに書き込む際、VID=0x0f0d, PID=0x0092 に変更する必要があるため、
 Arduino.appを右クリック、「パッケージの内容を表示」から 
 「/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/boards.txt」
 のVID、PIDを変更します。

//使用機器がArduino Microの場合
micro.build.vid=0x0f0d //変更前:micro.build.vid=0x2A03
micro.build.pid=0x0092 //変更前:micro.build.pid=0x0037

ゲーム側の設定

連打だけでカセキポケモンを受け取れるようするため、
「手持ち/ボックス 自動で送る」、「ニックネーム登録 しない」に変更します。
設定.jpg

Arduino IDE

最初の復元するカセキの選択時のみ、Aボタンそれ以外はBボタンを押すようにし、受け取り時に時間がかかる場合は待機時間を長くしています。

# include <SwitchControlLibrary.h>

void setup() {

}

void loop() {
  for (int i=0; i < 5; i++) {
    SwitchControlLibrary().PressButtonB();
    delay(50);
    SwitchControlLibrary().ReleaseButtonB();
    delay(1000);
  }
  
  //話しかける
  //ん? カセキ そろってんね この ウカッツに みせてみ? >はい
  //ウカッツの 眼鏡に かなう カセキは どれかね? >カセキのサカナ
  //ウカッツの 興味を そそる カセキは どれかね? >カセキのリュウ
  //カセキのサカナと カセキのリュウで 復元? >それで よければ
  for (int i=0; i < 5; i++) {
    SwitchControlLibrary().PressButtonA();
    delay(50);
    SwitchControlLibrary().ReleaseButtonA();
    delay(1000);
  }
  
  //おけー! 復元しちゃって カセキの ナゾに せまるゾ!
  //待機
  SwitchControlLibrary().PressButtonB();
  delay(50);
  SwitchControlLibrary().ReleaseButtonB();
  delay(5000);

  //次へ
  //そーれ がっちゃんこ! よし! よし! よしっ!
  //目標 達成! みごとな 復元 カモ
  //太古の ガラルで 暮らしていた 様子が 目に 浮かぶ ようだネ!
  //かわいがって くれたまえよ
  for (int i=0; i < 5; i++) {
    SwitchControlLibrary().PressButtonB();
    delay(50);
    SwitchControlLibrary().ReleaseButtonB();
    delay(1000);
  }
 
 //〇〇〇は ウオノラゴンを もらった!
  //待機
  SwitchControlLibrary().PressButtonB();
  delay(50);
  SwitchControlLibrary().ReleaseButtonB();
  delay(5000);

  //次へ
  SwitchControlLibrary().PressButtonB();
  delay(50);
  SwitchControlLibrary().ReleaseButtonB();
  delay(1000);

  //ウオノラゴンを 手持ちに 加えました! or ウオノラゴンを ボックスへ 転送しました!
  SwitchControlLibrary().PressButtonB();
  delay(50);
  SwitchControlLibrary().ReleaseButtonB();
  delay(1000);
}

待機時間30秒程度で受け取れます。

書き込み後に、「ツール⇨ボード情報を取得」からArduinoの情報を取得した時に
VIDとPIDが変更されていれば完了です。

実行

ウオノラゴン00001.jpg

参考

Arduinoでポケモン剣盾自動化してみた ~自動ワット稼ぎ編~

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?