2021/02/10

【ポケモン×Arduino_00】Arduinoによるポケモン剣盾自動化のススメ

※本記事は、ポケモン剣盾をArduinoで自動化するメリットについて使ったことのない人向けに書いた記事です。具体的な導入方法やプログラム等は次回以降の記事をご覧ください。

 

本記事は、

・マイコン、Arduinoとは何?

・Arduinoでどんなことができる?

・必要なものは何?

についてまとめたものです。


2021/12/11追記:導入などにあたって頻出の質問については別ページにまとめました。コメントなどで質問する前に、こちらを確認してみてください。

 


※以下の記事では、わかりやすく、簡潔にまとめることを重視しております。執筆者自身にわか知識ですので、詳しい内容を知りたい方は自分でググってください。

 

マイコンとは?Arduinoとは?

マイコンとは、マイクロコントローラの略であり、電気機器の制御用に最適化されたコンピュータのことを指します。炊飯器、冷蔵庫、洗濯機など、身近な電気機器の制御に使われています。

そして、Arduino(アルドゥイーノ)とは、「もっとシンプルに、もっと安価に、技術者でない学生でもデジタルなものを作ることができるようにする」という目的で開発されたマイコンボード(マイコンと、必要な電子回路や端子などの揃ったボード)ならびに作動させるソフトウェアを指します。

オープンソース ハードウェアであり、基本的に誰でもマイコンボードの設計情報を無料で使うことができます。そのため、公式で作られているボードだけでなく、他のメーカーが作ったボードも流通しており、種類さえ合っていれば基本的に互換品として同じように使うことができます(本家より安いことが多いです)。

 

Arduinoの種類

Arduinoには複数の種類があります。Amazonあたりで検索すれば

・Arduino UNO R3

・Arduino Leonardo

・ Arduino Nano

などが出てくると思います。本ブログでは、Arduino Leonardoを使用します。

 ↑執筆者の使っているLeonardo(互換品)です。


Arduino Arduino Leonardo (ピンソケット・ピンヘッダ実装済) 【A000057】
by カエレバ


 

Leonardoの特徴として

・UNO R3(最も標準的なモデル)の廉価版

HID機能を標準搭載(UNOは非搭載)

が挙げられます。

HID(=Human Interface Device)とは、PCにUSBで接続できるようなキーボードやマウスなど周辺機器、構成要素を指す用語です。HID機能をもつ=Arduinoをマウスやキーボードなどとして認識、使用できる、つまりは

USBで接続できるゲームコントローラとしても使用できる

ということです。

 

※ 注意

他のサイトでは、LeonardoではなくUNOを使用した自動化も多くみられます。UNOの利点は「利用者が多い」ことに尽きます。HID機能を搭載していないのですが、

回路をショートさせて、シェルやターミナルを使って、ファームウェアを書き換えて云々...

することでHID機能を導入できます。私も最初はUNOを買ってみましたが、後になってLeonardoを買いなおしました。素人にとってはLeonardoの方がハードルは低いと思います。

本ブログでは、UNOではなくLeonardoをおすすめし、Leonardoでのプログラムを公開します。UNOを使いこなせる方は、プログラムをUNO用に書き直してみてください。

 

ポケモン×Arduinoで何ができる?

Arduinoでは、Nintendo Switchのコントローラーとして認識、使用するためのライブラリ(便利なプログラムのセット)が有志の方によって配布されています。

本ブログでは以下のライブラリをお借りして使用しております。

これを使用することで、

・1秒ごとにAボタンを押し続け、10回に1回だけBボタンを押す
・Lスティックを 右に、Rスティックを左に倒し続け、フィールド上の同じところをグルグル回る
・↑↑↓↓←→←→BAと順番に押す

などの操作をあらかじめ設定し、自動で操作させることができます。

ポケモン剣盾の場合、Arduinoをコントローラーとして接続することで

・育て屋の前で走る→タマゴを受け取る を繰り返す孵化作業
・バトルタワーやトーナメントの周回
・日付変更バグ(時渡り)を利用したワット集めやIDくじ

 などを自動で行うことができます。あなたが目隠し、耳栓をしてもできる程度の作業であれば、寝てる間でも仕事中でもいつでも自動で周回してくれます。

 

自動化に必要なものは?

 自動化を行うにあたり物理的に必要なものは以下の4つとなります(工具などは要りません)。

・Nintendo Switch(liteも可、ただし下記のケーブルの端子に注意)とポケモン剣盾(ソフト)

・Arduino Leonardoボード(搭載しているマイコンは「ATmega32U4」)

・PC(執筆者はWindowsしかもっていないため、Mac等の方は他のサイトの解説も参考にしてください)

・ArduinoとPCをつなぐケーブル(正規品ならmicro USBケーブルが付属。SwitchのドッグのUSB端子に接続する場合はそのままでOK、携帯モードやSwitch liteならTypeA→TypeCへの変換が必要

 

また、PCでArduino用のプログラムを作成、 書き込みをするために

・ Arduino IDE

・Switchコントローラーとして認識させるためのライブラリ

が必要となります(無料で揃います)。


次回の記事にて導入方法、ライブラリに付属するプログラムについて説明します。


0 件のコメント:

コメントを投稿

【ポケモンSV×arduino06】道具プリンター乱数自動化(藍の円盤)

 ※本記事は、ポケモンSVの藍の円盤(DLC)にて、 道具プリンター を決まった日時に起動することで 特定のアイテム、ボールを狙って量産する操作を自動化 するプログラムについて解説した記事です。ポケモンSVの操作をArduino Leonardoで自動化しております。 本記事の内...