【Arduino IDE 2.x対応】NintendoSwitchControlLibraryの導入方法

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 を接続するのに必要)

マイコンに関しては、新しく購入するなら評価も高い下記が良いと思います。

導入方法

では、導入していきましょう!

ステップとしては下記になります。

  1. Arduino IDE 2.x のインストール
  2. Arduino IDEの日本語化
  3. Arduino AVR Boards 1.8.3のインストール
  4. Arduino Leonardo のボードを選択
  5. ライブラリのインストール
  6. boards.txtの編集

Arduino IDE 2.x のインストール

公式サイト からArduino IDE の最新版(執筆時点では2.3.6)をダウンロードします。

Arduino IDEのダウンロードページ

ダウンロードしてきたら実行してインストール進めていきます。

この際、「すべてのユーザー」ではなく、「現在のユーザーのみ」でインストールすることを推奨します。(boards.txtの箇所が変わる可能性があるためです)

その他、導入時に「同意しますか?」「信頼しますか?」みたいな細かいことを色々聞かれると思いますが、基本的にYesで進めていけば起動できるかと思います。

起動に成功すると下記のような画面が立ち上がります。これでArduino IDEのインストールは成功です。

Arduino IDE 2.xの起動画面

Arduino IDEの日本語化

デフォルトだと英語なので、日本語にしましょう。

file から Preferences を選択してください。

Preferences

Languageが「English」になっているので、「日本語」を選択すると再起動され、その後は日本語でArduino IDEを使うことができるようになります。

Arduino 日本語化

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 AVR Boardsの1.8.3をインストール

Arduino Leonardo のボードを選択

ツールの「Arduino AVR Boards」から、Arduino Leonardoを選択します。

Arduino Leonardoを選択

Arduino Leonardoの設定確認

ライブラリのインストール

ライブラリとして、今回は「NintendoSwitchControlLibrary」をインストールしていきます。

ツールから「ライブラリを管理」を選択します。

ライブラリを管理

ライブラリマネージャーが開かれるので、「NintendoSwitchControlLibrary」と入力してヒットしたものをインストールしてください。執筆時は1件しかヒットしませんでしたが、もし複数ヒットした場合には “by lefmarna” となっているものが正しいものになります。

NintendoSwitchControlLibraryのインストール

インストールしたライブラリに関しては、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

boards.txtの編集

編集後は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と同じように使うことができます。

スポンサーリンク