NintendoSwitchControlLibrary は、Nintendo Switchの操作をArduino Leonardoで自動化するために設計されています。
これまでこのライブラリは Arduino IDE 1.x 向けの情報 が中心で、Arduino IDE 2.x を使いたい場合の導入手順や設定方法がわかりにくく、初めて挑戦する人には少しハードルが高いのが現状でした。
特に「boards.txt の場所がどこにあるかわからない」という点でつまずきやすいと思います。
この記事では、Arduino IDE 2.x 環境でも問題なく Leonardo を使って NintendoSwitchControlLibrary を導入する方法を詳しく解説します。
Arduino IDE 1.x ですでに環境を構築している場合は、新しく 2.x を入れ直す必要はありません。
1.x のままでも NintendoSwitchControlLibrary は問題なく利用できます。
下記のリスクがあるため、基本的には 今使っているバージョンを継続 していただくのがおすすめです。
-
1.x と 2.x を両方インストールすると設定ファイル(boards.txt など)の場所が違うことがあるため混乱しやすい
-
ライブラリやボード定義が競合してトラブルになる可能性がある
また、1.x のほうが導入実績も多いことから、新規で導入する方であっても執筆時点では下記の記事を元に 1.x で構築することを推奨しています。(2.xの記事は初心者向けではない想定のため、細かい部分に関しては簡略化しています。)
マイコンと呼ばれるものをご存知でしょうか? Switchに接続するだけで様々な作業を "自動" で行ってくれるというものです。 導入すれば作業が楽になるだけでなく、寝てる間に色々稼ぐこともできちゃう便利なアイテムなわけですね! […]
一方で「最新の 2.x を試してみたい」という方は、この記事を参考に挑戦してみてください。
Arduino IDE 2.xのboards.txtの場所
まず最初に結論です。
Arduino IDE 2.xでは、boards.txt
は次の場所にあります。
Windows
C:\Users\<ユーザー名>\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\boards.txt
※ AppDataは隠しファイルになります。
Mac
/Users/<ユーザー名>/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/boards.txt
基本的にはArduino 1.xの時と同じ手順で編集すればOKです。
必要なもの
以前の記事 と同じで、必要なものは変わらないです。
- インターネットに繋がったPC(WindowsでもMacでも可)
- Arduino Leonardo
- USBケーブル(Arduino Leonardo と SwitchやPC を接続するのに必要)
マイコンに関しては、新しく購入するなら評価も高い下記が良いと思います。
導入方法
では、導入していきましょう!
ステップとしては下記になります。
- Arduino IDE 2.x のインストール
- Arduino IDEの日本語化
- Arduino AVR Boards 1.8.3のインストール
- Arduino Leonardo のボードを選択
- ライブラリのインストール
- boards.txtの編集
Arduino IDE 2.x のインストール
公式サイト からArduino IDE の最新版(執筆時点では2.3.6)をダウンロードします。
ダウンロードしてきたら実行してインストール進めていきます。
この際、「すべてのユーザー」ではなく、「現在のユーザーのみ」でインストールすることを推奨します。(boards.txtの箇所が変わる可能性があるためです)
その他、導入時に「同意しますか?」「信頼しますか?」みたいな細かいことを色々聞かれると思いますが、基本的にYesで進めていけば起動できるかと思います。
起動に成功すると下記のような画面が立ち上がります。これでArduino IDEのインストールは成功です。
Arduino IDEの日本語化
デフォルトだと英語なので、日本語にしましょう。
file から Preferences を選択してください。
Languageが「English」になっているので、「日本語」を選択すると再起動され、その後は日本語でArduino IDEを使うことができるようになります。
Arduino AVR Boards 1.8.3のインストール
Arduino AVR Boardsの1.8.3を使う必要があります。
デフォルトでは1.8.6以降のものになっていると思うので、1.8.3にダウングレードします。
まず、ツールから「ボードマネージャ」を開きます。
ボードマネージャが開いたら、検索窓に「arduino leonardo」と入れると、「Arduino AVR Boards」が出てくると思います。
必ず1.8.3が選択されていることを確認し、インストールを進めてください。
Arduino Leonardo のボードを選択
ツールの「Arduino AVR Boards」から、Arduino Leonardoを選択します。
ライブラリのインストール
ライブラリとして、今回は「NintendoSwitchControlLibrary」をインストールしていきます。
ツールから「ライブラリを管理」を選択します。
ライブラリマネージャーが開かれるので、「NintendoSwitchControlLibrary」と入力してヒットしたものをインストールしてください。執筆時は1件しかヒットしませんでしたが、もし複数ヒットした場合には “by lefmarna” となっているものが正しいものになります。
インストールしたライブラリに関しては、librariesといったフォルダに格納されます。librariesに関してはスケッチブックの場所(環境によって異なります)の配下にありますので、そこを確認してください。
ライブラリマネージャーから入れられないライブラリを導入する際にアクセスする必要が出てくることもあるので、この場所はピン留めしておくなどしてアクセスしやすいようにしておくのが良いと思います。
boards.txtの編集
WindowsとMacでboards.txtの場所が異なります。ファイルの場所は下記を探してください。
Windows
C:\Users\<ユーザー名>\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\boards.txt
※ AppDataは隠しファイルになります。
Mac
/Users/<ユーザー名>/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/boards.txt
続いて、boards.txt を開いて編集します。
この際、メモ帳で編集すると動かないという報告が多数あるため、VSCode等のテキストエディタで編集してください。
285・286行目
leonardo.vid.1=0x0f0d leonardo.pid.1=0x0092
311・312行目
leonardo.build.vid=0x0f0d leonardo.build.pid=0x0092
編集後はArduino IDEを再起動すると反映されます。
Switchで動作確認
動作テスト用のコードを作ったので、こちらをコピペして実行してみましょう。
// ライブラリを読み込むためのコード
#include <NintendoSwitchControlLibrary.h>
// マイコンのセット時に1度だけ行われる処理
void setup(){
// Switchがマイコンを認識するまでは信号を受け付けないため、適当な処理をさせておく
pushButton(Button::B, 500, 5);
}
// ここに記述した内容がループされ続ける
void loop(){
pushHat(Hat::RIGHT, 200);
pushHat(Hat::LEFT, 200);
}
まずは検証から行います。
検証が問題なければ、Arduino LeonardoをPCに接続し、ツールからポートを指定します。
そして、書き込みをしましょう。
上記の画像のようになっていれば成功です!!(赤い文字が出ていてややこしいのですが、エラーではありません)
ここまで確認できたら、Arduino LeonardoをPCから取り外し、Switchにセットして動作するか確認しましょう。
ただただ左右に動くだけのプログラムになりますので、実行場所はSwitchのホーム画面とかでOKです。
なお、無線のコントローラー(プロコンなど)がSwitchに接続されていると動作しませんので、接続するまでの操作は携帯モードで行っていただければと思います。
まとめ
UIが一部異なりますが、Arduino IDE 2.xでもNintendoSwitchControlLibraryは問題なく利用可能です!
boards.txt へも問題なくアクセスできるので、編集して1.xと同じように使うことができます。