【2022年12月最新版】ZIP版IDEでのArduino開発環境の構築【#Switch自動化 】

こんにちは。ますたーです。

今回はSwitch自動化環境構築の記事です(2022年12月25日最新版。メリークリスマス!)。

本記事は「今から自動化環境を作りたい!」「以前試したけど上手くいかなかった…」という方に向けたものです。既に自動化環境が整っている方はスルーしてOKですし、乗り換えてもOKです。あるいは、他の人に紹介する時には重宝するかもしれません。

 

※本ブログに初めてお越しの方は「本ブログについて」もぜひ、ご覧ください。

 

概要

俗に「ZIP版IDE」と呼ばれる、こちゃてす氏が作成・統合・配布しているオールインワンパッケージを利用した環境構築記事です。要するに、煩雑な手続き*1を踏むことなく、主要なSwitch自動化ブログのプログラムが全部つかえるようになります*2

導入も比較的簡単なので、もしかしたら初心者にも嬉しいかもしれません。まさに、2022年までの知の集合・集大成ですね。メリークリスマス!!

こちゃてす氏が提供するオールインワンパッケージの概念図。Switch自動化に必要なものが揃っている!

謝辞:本記事執筆にあたり、ZIP版IDEの開発・配布ほかに携わっている、はんぺん氏 (@hanpen_switch)こちゃてす氏 (@kochatece12)ろっこく氏 (@Rokkoku_I)に厚く御礼申し上げます。また、本記事ではプログラムの例として、ミドリカワセミ氏 (@alcedogreen)レフマーナ氏 (@lefmarna)のものを紹介しております。この場を借りて、御礼申し上げます。その他、自動化に携わられている皆様に御礼申し上げます(順不同)

警告:本記事で紹介している導入方法およびプログラムの実行はすべて自己責任でお願いします。また、導入サポートはできません。本記事で紹介しているリンク先を含め、関係各所への迷惑行為はご遠慮ください。

※本記事に記載の内容は、2022年12月25日現在の情報に基づきます。最新情報は必ずご自身で確認してください。なお、こちらはWindowsユーザー向けの記事です。

目次です。

買う必要がある機材については【II.準備】、環境構築でお急ぎの方は【III.導入】、プログラムの利用方法は【IV.使い方】から読むと良いかと思います(たぶん、Switch自動化環境の導入記事としては、日本一わかりやすいです←うぬぼれ)

 

【I.背景】ついにSwitch自動化の環境構築が簡単になりました

1.そもそもSwitch自動化とは

「Switch自動化」とは、その名が冠する通りコントローラー操作を自動で行うようにすることを言います。

主要なSwitch自動化方法は大きく3つあり、「1.輪ゴムや洗濯バサミ、わりばしなど」を使ったもの、「2.マクロ対応コントローラー」を使ったもの、そして「3.Arduinoなどのマイコンボード」を使ったものがあります。中でも、3つ目の「Arduinoを利用したSwitch自動化」の流れは、2022年12月現在も加速しています

私のブログだけでも、ポケモン剣盾ポケモンBDSPレジェンズアルセウスポケモンSVなど、30以上のプログラムが公開されています。さらに、近年はPCと組み合わせて「画像認識」ができるようにしたり、ゲームキューブの自動化を実現したりなど「応用」もたくさん見られるようになりました*3

わりばしやマイコンボードなど「手動に寄らないSwitch操作」を「Switch自動化」と呼ぶ。
近年、マイコンボードを利用したものでは「Arduino Leonardo」を使ったものが人気だ

 

2.Switch自動化の環境を作るのは少しだけ大変だった

この「Arduinoを利用したSwitch自動化」は、アプリのインストール作業・ファイルの書き換えなど、導入手順がちょっとだけ大変でした(具体的な手順は【Arduino自動化01】Arduino開発環境の導入に記載しています)。

パソコン操作に不慣れな人にとっては、一定の導入ハードルがあり*4、その手順を見て敬遠する人も一定数いました。

また、Switch自動化のためには「ライブラリ*5」と呼ばれるものを導入する必要があります。【解説記事】ポケモンの自動化の歴史と動向の4章でも紹介している通り、ライブラリは主要なものだけで4種類もあり、それぞれの互換性もないという状況で、輪をかけて「難しい」印象を持つ人もいました。参考にするブログや記事によっては、他の人のプログラムが動かない、コンパイルできない、という状況が起こり得ました。

慣れればそれほどの難度ではないものの、環境構築で挫折する人は、決して少なくはありませんでした。

Switch自動化の環境構築の手順の一例(ファイルの書き換え作業)。
所定のファイルを書き換えたり上書きしたりと少しだけ煩雑だった

 

3.こちゃてす氏によるオールインワンな「ZIP版IDE」が登場して導入が簡単に

上述の通り、Arduinoを使ったSwitch自動化を実現する上では、ファイルを書き換えたりライブラリを導入したりなど、導入作業が少しだけ大変でした。

そのような背景を受け、2022年8月28日より、必要な変更と主要なライブラリの導入作業を予め済ませたZIP版Arduino IDEこちゃてす氏 (@kochatece12)が提供しています。最大の特徴は、ダウンロードしてZIP展開するだけで利用できる簡単設計という点です。

ろっこく氏 (@Rokkoku_I)ほかの助力のもと、このZIP版のIDEに同梱されるライブラリが増え、2022年12月19日現在は「Ver3」として公開されています*6

この「ZIP版IDE(Ver3)」を利用すれば、私のブログ「ますたーの忘備録」のソースコードはもちろん、例えば、ミドリカワセミ氏の「苔むした日記帳」、レフマーナ氏の「ポケモニット」などに掲載のソースコードも利用することができる、ということです。

こちゃてす氏が提供するオールインワンZIP版のArduino IDEには、主要なライブラリが同梱されている。
 要するに、ダウンロード・展開するだけでSwitch自動化ができるようになるということだ。

また、本記事では詳しく扱いませんが、LeonardoでPoke-Controllerを操作できるようにするプログラム一式や、Arduino UNOへの書き込み用のEXE、batファイルも同梱されています。

要するに、Switch自動化に必要なものが概ねすべて詰まっている、オールインワンなパッケージだと言えるでしょう。

 

【II.準備】Arduino LeonardoとWindowsパソコンが必要

まず、必要な機材についてです。下記を準備しましょう。

このあたり、購入すべきものは【Arduino自動化 番外編3】筆者の使用機材一覧【紹介記事】にまとめています。

Switch自動化に必要な機材の例。これらとWindowsPCがあればOKだ

 

【III.導入】オールインワンZIP版IDEの導入方法

本章では、ZIP版Arduino IDEのダウンロード~ZIP解凍までを簡単に説明します。

手順0.エクスプローラーで「『拡張子』を表示する設定」にしておく

この作業は必ずしも必要ではありませんが、多くのサイトでは前提となるので紹介します。本記事においても前提となりますので予めご了承ください。

 

Windows10・Windows11では、デフォルトではシステムに登録されていない「拡張子*8」は見えない設定になっています。しかしながら、Switch自動化のプログラムを扱う上では、この拡張子はとても重要で、普段から意識することが多いため、表示する設定に変更しておくことを推奨します。

まずは、パソコンを立ち上げて、エクスプローラー(フォルダのアイコンのやつ)を開きます。その後、上側にある「表示」タブを開いて「ファイル名拡張子」にチェックを入れます。なお、既にチェックが入っている場合はそのままでOKです。

エクスプローラー()を開いて「ファイル名拡張子」を表示する設定にしておこう。
キーボードのWindowsキーを押しながら「E」を押しても開けるぞ

 

手順1.こちゃてす氏のGoogle DriveからZIPファイルをダウンロード

まずは、こちゃてす氏のツイート、または下記Google Driveのリンクから「Switch_program.zip」をダウンロードします。

ArduinoZIP版 - Google ドライブ

上記のGoogle Driveの共有フォルダを開いたら、「Switch_program.zip」というファイルを右クリックして「ダウンロード」を選択してください。

このとき、「ファイルのウィルススキャンを実行できません」と出てくる場合がありますが、これはファイル容量が大きいためです。自己責任になりますが「エラーを無視してダウンロード」をクリックします。

こちゃてす氏のGoogle ドライブを開いたら「Switch_program.zip」をダウンロードしよう

もし警告が出てきたら、自己責任で「エラーを無視してダウンロード」をクリックしよう

画面のレイアウトが違う場合もある。そのときも「ダウンロード」アイコンをクリックしよう

なお、Google Driveを使うため、サードパーティ製のCookieが許可されない設定のブラウザではファイルがダウンロードできません。シークレットウィンドウ・プライベートブラウズなど、Cookieが無効になっている状況では正常にダウンロードできないので、もしダウンロードが上手くいかない場合は、ブラウザ設定を変えるか、別のブラウザの利用を検討しましょう。

 

手順2.ダウンロードした「Switch_program.zip」のプロパティを変更する

続いて、ダウンロードしたフォルダを開きます(ファイルではありません)。ダウンロードフォルダが開けたら、「Switch_program.zip」を右クリックして「プロパティ」を開いてください。

プロパティを開いたら、「全般」タブの「セキュリティ:このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」の「許可する」にチェックを入れて「適用」を押します(自己責任!)。お使いの環境によってはこの項目がない場合もありますが、その際は何もせずに閉じてOKです。

ダウンロードした「フォルダ」を開こう。ブラウザから直接開くこともできる

ダウンロードしたファイルを右クリックして「プロパティ」を開く

プロパティを開いたら、セキュリティの「許可する」にチェックを入れて「適用」を押す
※これをしないと意図通り動かない場合があるが、くれぐれも「自己責任」で実施すること。

 

手順3.「Switch_program.zip」を解凍(ZIP展開)する

続いて、ZIPファイルはそのままでは使えませんので「解凍」と呼ばれる作業を行います。

「Switch_program.zip」を右クリックして「すべて展開」をクリックします。「圧縮(ZIP形式)フォルダーの展開」というウィンドウが出たら「展開」をクリックします。

「Switch_program.zip」を右クリックして「すべて展開」をクリックする

「展開」を押せば、自動で解凍作業が始まる

 

手順4.Arduino IDEを起動して、ファイアウォールへの「アクセスを許可」する

手順3のZIP展開が終われば、環境構築自体は完了しているのですが、Arduino IDEの初回起動時のみファイアウォールへのアクセスを「許可」をする必要があるため、手順として紹介します。

まず、展開したフォルダの中にある「arduino-1.8.19」を開き「arduino.exe」を起動します。すると、Arduno IDEが起動するのですが、初回起動時のみ「Windowsセキュリティの重要な警告」という画面が表示されますこの画面では必ず「アクセスを許可する」をクリックしてください(もちろん自己責任)

なお、これを許可しなかった場合、Arduinoへのプログラムの書き込みが上手くいかないなどの予期しない不具合に見舞われることがあります。また、この表示は初回起動時のみ発生するため、やり直しができません。落ち着いて、確実に実施しましょう。

展開したフォルダの中の「arduino-1.8.19」フォルダを開く

その中にある「arduino.exe」をダブルクリックで起動しよう

初回起動時のみ、セキュリティ警告が出てくる。「アクセスを許可する」をクリックする

アクセス許可が終わったら、Arduino IDEを一旦閉じる。これで環境構築は完了だ

 

【IV.使い方】プログラムの作り方・開き方・コンパイル方法

本章では、Arduino Leonardo用のプログラムを例に使い方(プログラムの作り方・Arduino IDEを使ったマイコンボードへのプログラムの書き込み方)を紹介します。

手順1.新しいフォルダを作り、半角英数字で名前をつける

まず、前提として、Arduino IDEを使ったプログラムでは、全角の文字(要するに日本語とかスペースとか)をファイル名につけることはできません。よくわからない人は、英語だけでファイル名をつけるようにしましょう。

まずは、「Switch_program」のフォルダの中に「新しいフォルダー」を作ります。そのフォルダに、半角英数字で名前をつけます。

Switch_programフォルダの直下に、新しいフォルダを作ろう。フォルダ名は半角で。

手順2.作ったフォルダの中に右クリックで「テキストドキュメント」を作る

続いて、手順1で作ったフォルダの中に、新しいテキストドキュメントを作成します。

具体的には、そのフォルダの中で右クリックして「新しいテキストドキュメント」をクリックします。

作ったフォルダの中で右クリックして、テキスト ドキュメント」を新規作成しよう

手順3.作ったテキストのファイル名を「<フォルダ名>.ino」に変更する

続いて手順1で命名したフォルダ名と同じファイル名を持つinoファイルにリネーム(名前変更)を行います。このとき、拡張子「.txt」は消して「.ino」に変更するので、拡張子は予め見えるようにしておきましょう。例えば、フォルダ名を「compile_test」という名前にしたのであれば、リネームするテキストファイル名は「compile_test.ino」とします。

拡張子を変更すると、変更しても良いか確認のダイアログが表示されますが「はい」をクリックします。

作ったテキストドキュメントの名前を、<フォルダ名>.inoに変更する
※「<」および「>」は入力不要です。またもともとある「.txt」は削除します

手順4.「Open_ino.exe」をそのフォルダにコピーして実行する

続いて、Switch_programフォルダの中にある「Open_ino.exe」を、手順1で作成したフォルダにコピー(貼り付け)します。そして、このコピーした「Open_ino.exe」をダブルクリックして起動してください。

Switch_programフォルダの中にある「Open_ino.exe」をコピーする
作ったフォルダに「Open_ino.exe」をコピーし、ダブルクリックして実行する

手順5.開いたファイルにプログラムを記入する【ソースコードのコピペはココ!】

「Open_ino.exe」を起動すると、先程作成したファイルをArduino IDEが自動的に開いてくれます。そのファイルに、プログラミング(ソースコード)を記入していきます。

このとき、ご自身でプログラミングせずとも、ソースコードを全文コピペしてもOKです。つまり、私のブログなどに掲載されているソースコードを実際に使いたい場合は、先程作成したinoファイルに、Arduino IDE上でまるごとコピペすればOKです簡単ですね!

ひとまず、練習を兼ねて下記にプログラムの例を置いておきます。この全文をコピペして書き込むことで、A連打をし続けてくれます。

 

※Aを連打するだけのスケッチ(プログラム)

 

立ち上がったArduino IDEにプログラムソースを入力しよう。
つまり、私のブログ記事に書いてあるソースコードをそのまま全文貼り付けてもOKだ。

手順6.Arduino IDEの「ツール」から「Arduino Leonardo」と正しいCOMポートを選択

続いて、コンパイルの準備です。パソコンにArduino Leonardoを挿し込みます

そして、その状態でIDEの上側の「ツール」からボード情報とCOMポート情報それぞれを設定します。

  • ボード情報:「Arduino Leonardo」
  • シリアルポート:「COM●● (Arduino Leonardo)」*9
IDE上側の「ツール」から、ボード情報(Arduino Leonardo)とささっているCOMポートを選択する

手順7.Arduino Leonardoにプログラムを書き込む

最後に、「マイコンボードに書き込む」をクリックすれば、Arduino IDEがプログラムをコンパイルし、マイコンボード(Arduino Leonardo)に書き込んでくれます。無事に「ボードへの書き込みが完了しました」と表示されれば、Arduino Leonardoにプログラムが書き込めているので、パソコンから取り外してOKです。

取り外したArduino Leonardoを、Switchに挿し込めば自動的にプログラムが動き始めます。

 

コンパイルエラーが発生したときなどは、そのエラー内容で検索して、各自で修正をしてください。

Arduino IDEの「マイコンボードに書き込む(矢印ボタン)」をクリック

 

【V.具体例】Webサイトに掲載されているプログラムの使い方

Case1: ソースコードを使いたい場合は、フォルダとファイルを新規作成して利用

例えば、私のブログ「ますたーの忘備録」では、原則として、記事ごとにソースコードが全文掲載されています。また、レフマーナ氏の「ポケモニット」やミドリカワセミ氏の「苔むした日記帳」などにおいても、同様の配布形態が行われることがあります。

いずれの場合においても、ソースコードが全文掲載されている場合は、前述の方法で新規inoファイルを作成し、それと同名のフォルダを準備することでコンパイルすることができます。

Switch自動化のソースコードが記載されているブログや記事も多い
その場合は、その全文をコピペし、作成したinoファイルに貼り付ければ使える

Case2: inoファイルを使いたい場合は、inoと同じ名前のフォルダを作成して利用

ソースコードの全文掲載ではなく「inoファイル」が直接提供されているパターンもあります。Google Driveなどのクラウドサービス上や、Twitter、Discordなどを経由してファイルとして授受する場合も同様です。

inoファイルが単体で提供された場合は、「Switch_program」フォルダの直下に、inoファイル名と同じフォルダを作り、その中に当該inoファイルを入れることでコンパイルができるようになります。

 

【VI.あとがき】自動化の環境構築が簡単になりましたね

今回は、こちゃてす氏が手掛ける「ZIP版Arduino IDE」を使ったSwitch自動化の環境構築記事を書きました。導入はZIPをダウンロードして展開するだけ、使い方もファイル名とフォルダ名を揃えるだけ、と言うふうに「お手軽」になりましたね。

このブログ記事を機に、Arduino Leonardoを使った自動化にチャレンジする人が増えれば幸いです。また、Switch自動化の界隈がより盛り上がれば嬉しく思います。

 

近年は、私のブログ「ますたーの忘備録」、ミドリカワセミ氏の「苔むした日記帳」、レフマーナ氏の「ポケモニット」など、Switch自動化を専門的に扱うブログやサイトが増えています。しかし、これらのブログではいずれも異なるライブラリを利用していたり、ソースコードの書き方・提供方法が異なったりで、互換性はありませんでした。

そのため、これら別々のプログラムを使いたいとなった場合には、手動で3つのライブラリを導入する必要があり、全体像がわからない人にとってはかなり難解なものと感じられるものでした。

今回紹介したオールインワンZIP版は、従来の諸問題を解決し、どのライブラリを使ったソースコードかをほぼ意識することなくプログラムを扱うことができますので、そういう意味でも画期的な存在だといえますね。

 

 

本ZIPが公開されたのは今年の8月ですし、11月29日にはDiscord上にも「自動化勉強会&交流サーバー」なるものが出来上がり、今や1,500人を超える参加者がいるようです。

そういう意味では、2022年のSwitch自動化界隈は非常に盛り上がっているといえるでしょう。レジェンズアルセウスの発売、ポケモンSVの発売がそれぞれ2022年に重なったこともあり、ポケモン自体の機運も高まっているように感じます。

私もなんだかんだ、2022年には、本記事を含めて14件もの記事を執筆していますし、私自身も、ポケモンおよびポケモン自動化に対する情熱が維持できたのかなと感じます。

おそらく本記事は2022年最後のブログ更新となるかと思いますが、2023年も引き続き、Switch自動化界隈および本ブログが盛り上がることを祈念して、本記事を結びたいと思います。

 

【VII.おまけ】筆者のブログについて紹介

本ブログ「ますたーの忘備録」は、(今のところ)Arduino Leonardoによるポケモン自動化の専門ブログです。2020年11月7日にオープンし、2022年12月25日現在に至るまで50記事を執筆しています。手前味噌ですが「非常にわかりやすく丁寧なブログ」として記事執筆を心がけていますので、ぜひとも別の記事もご覧いただければ幸いです。

事実、2022年12月20日には累計200,000PVを突破し、筆者自身、身をもって「Switch自動化の盛り上がり」を肌に感じています。

皆様の期待に応えつつも、私自身の忘備録として、これからもマイペースに継続していけたらと思いますので、引き続き応援のほどよろしくお願いします!

 

ではではc⌒っ.ω.)っー

 

 

--

筆者の利用マイコンArduino Leonardo)の購入リンク:

--

本ブログについて:本ブログについて

 

導入記事:【Arduino自動化01】Arduino開発環境の導入

ポケモンSVの記事:スカーレットバイオレットArduino自動化 カテゴリーの記事一覧

ポケモン剣盾の記事:ポケモン剣盾Arduino自動化 カテゴリーの記事一覧

ポケモンBDSPの記事:ダイパリメイクArduino自動化 カテゴリーの記事一覧

レジェンズアルセウスの記事:レジェンズアルセウスArduino自動化 カテゴリーの記事一覧

 

YouTubeチャンネル:ますたーの忘備録 - YouTube

 

*1:従来、Arduino自動化環境の構築のためにはArduino IDEのダウンロード・インストール、boards.txtの書き換え、ライブラリの導入・一部ダウングレードなど、Switch自動化に必要なセットアップ作業が多くありました。今回のオールインワンパッケージでは、これらの作業が既に済んでいるものが提供されている、ということです

*2:一部例外はあります

*3:いきなり画像認識などの応用に挑戦するのではなく、まずは基本的なSwitchの自動化からチャレンジすることをおすすめします

*4:もっとも、自力でこの程度の導入ができないとプログラミングはおろか、普通のパソコン操作すらかなり厳しいので努力すべきではありますが。特に、Switchの自動化は単純なものから複雑怪奇なものまで混在するため、その判断が自力でつかないと思わぬ危険に見舞われることもあります。悪意のある人のプログラムを使うと、パソコンが壊れることもあります。くれぐれも自己責任でお願いします。

*5:ライブラリ:簡単に言えば、プログラムを書く上で元になる大事なファイル

*6:このVer3では、私のブログで利用している「SwitchControlLibrary(ver1.0.0)」も正式サポートしています

*7:よくわからない人は、必ずArduino「Leonardo」を購入してください 

*8:拡張子:ファイル名の最後につく「.exe」とか「.ino」とかそういう特殊な文字

*9:COMポート番号は、お使いのUSBの穴や機器によって異なります。複数のシリアル通信デバイスを挿している場合は、判別がつかないことがありますので、慎重に選んでください