Nintendo SWitchをArduino Leonardoを使って制御するArduinoのライブラリーです。
ライブラリー内の関数を組み合わせるだけで、様々な作業を自動化するArduinoのスケッチを作成することができます。
Leonardoだけで完結しているため、追加の電子部品やはんだ付け等が不要で、Switchに接続するだけで実行することができるため、短時間で導入することができます。
サンプルとしてライブラリ内にポケモンの孵化やワット稼ぎ、レイドバトルを自動化するスケッチを含んでいます。
ハードウェア
- Arduino Leonardo
- 出費を抑えるなら互換機のArduino Pro Microがお勧めです。
- Arduino LeonardoとSwicthを接続するUSBケーブル
ソフトウェア
- Arduino IDE
ライブラリーのインストール
Arduinoのライブラリのあるディレクトリ(/Users/{username}/Documents/Arduino/libraries/ など)に、このレポジトリをcloneする/ダウンロードして展開する。
Arduino LeonardoのデバイスIDを書き換える
hardware/arduino/avr/boards.txt内のleonardoのvidとpidを設定している個所を書き換える。
leonardo.vid=0x0f0d
leonardo.pid=0x0092
※ 複数ある場合は相当する箇所を全て書き換える
※ 見つからない場合はArduino IDEのファイル>スケッチ例>SPIから適当なスケッチを開き、スケッチ>スケッチの場所を開くで開いたディレクトリから遡っていくと、boards.txtがある
サンプルスケッチを書き込む
-
Arduino IDEを立ち上げる
-
書き込む
Switchに接続する
SwicthのUSBポートにUSBケーブルを使ってLeonardoを接続する。
接続して数回の入力の後、入力を受け付け始める。
Switchをドックに刺した状態で、ドックのUSBポートにLeonardoを接続する方法でも動かすことができる。
育て屋から卵を回収→孵化→ボックスに預ける→ボックスを移動する、を繰り返すスケッチ
ボックスに空きがある限り、ポケモンを孵化し続ける
初期条件は以下の通り
- ハシノマはらっぱにいること
- 自転車に乗っていること
- 手持ちが1体のみのこと
- Xボタンを押したときに「タウンマップ」が左上にあること
- ボックスが空のこと
- 育て屋にポケモンを預けていること
1ボックス分のポケモンを全て逃がすスケッチ
初期条件は以下の通り
- メニューを開いていないこと
- Xボタンを押したときに「ポケモン」が左上から1つ右の場所にあること
巣穴からワットを回収し続けるスケッチ
初期条件は以下の通り
- 願いのかたまりを投げ入れた巣穴の前にいること
- 巣穴のワットは回収済みであること
- Switchの本体設定で「インターネットで時間をあわせる」がOFFになっていること
レイドバトル→ポケモンを捕獲→ボックスに預ける→願いの塊を投げ入れるを繰り返すスケッチ ボックスに空きがある限り、レイドバトルを続ける
初期条件は以下の通り
- 願いの塊を投げ入れた巣穴の前にいること
- 手持ちが1体のみのこと
- Aボタン連打でレイドバトルで勝てるようにすること
- Xボタンを押したときに「ポケモン」が左上の一つ右の場所にあること
- ボックスが空のこと
- 願いの塊を大量に持っていること
【ポケモン剣盾】全自動で卵を孵化させる装置
Arduinoでポケモン剣盾自動化してみた 自動ワット稼ぎ編
このプロジェクトのライセンスはMITライセンスです。詳細はLICENSE.txtをご覧ください。