【マイコン】NintendoSwitchControlLibraryを作成した話

これまで当ブログでは、「NintendoSwitchControll」というライブラリを使ってマイコンを動かしていましたが、この度、自作のニンテンドースイッチ自動化ライブラリである「NintendoSwitchControlLibrary」をリリースいたしました。

GitHub

A library for microcontrollers that uses Arduino to automate…

「NintendoSwitchControlLibrary」について、色々と語っていきたいと思います。

どんなライブラリなのか?

celclow氏が作成している「SwitchControlLibrary」という、同じくSwitchの自動化を目的としたライブラリがあるのですが、こちらをベースに手を加えたものとなります。

GitHub

Contribute to celclow/SwitchControlLibrary development by cr…

コードの根幹となる部分にはこちらを採用しつつ、最終的なフォーマットはもともと使っていた「NintendoSwitchControll」に寄せることで、多少の記述の違いはあれど、ほぼ同じ感覚で使うことができるライブラリへと仕上げました。

GitHub

Library for control Nintendo Switch with arduino leonardo. -…

作った経緯

作った経緯は大きく分けて3つあります。

2021年になってからも「SwitchControlLibrary」は更新されていた

「NintendoSwitchControll」は更新が1年以上ないのに対し、「SwitchControlLibrary」は更新されてv2がリリースされていました。

どうせなら更新されているほうについて行きたいなぁという思いがありました。

カスタマイズして使いたかった

マイコン用のプログラムを書いているうちに、ライブラリ側にも手を加えたいという思いが強くなっていきました。

しかし、「NintendoSwitchControll」を編集するわけにはいかなかったのです。

「NintendoSwitchControll」にはライセンスが明示されていない

著作権的な問題になるのですが、「NintendoSwitchControll」にはライセンスが明示されていなかったため、改変や再配布といったことができない状態でした。少し扱いにくかったわけですね…

一方、「SwitchControlLibrary」には『MITライセンス』と呼ばれるライセンスが適用されていて、著作権の表示を残すことを条件にコードの複製やカスタマイズが許されています。

そこで今回、「SwitchControlLibrary」をベースに新しいライブラリを作ることにしたのです。

このライブラリに込められた思い

このライブラリには3つの思いが込められています。

ゲームの作業を自動化する楽しさをもっと知ってもらいたい!

自分で組んだプログラムでゲームが動かすのはすごく楽しいものです。 実際にうまく動作すると感動しますよ!

「ここの時間はもう少し削れる…!」とか「ここの処理はもっと効率よく書けそう!」みたいなのを突き詰めていくのもおもしろいですね!

なにより、自動化することで時間を有意義に使えるようになるのも大きなメリットです。

プログラミング初心者の方でも、簡単な作業であれば自作できるように!

「NintendoSwitchControlLibrary」を作るにあたり、ドキュメントにはすごくこだわりました。

使用例の箇所と、サンプルコードを照らし合わしていってもらえれば、プログラミングがわからない人であっても、自分なりにカスタマイズしたコードを作れるんじゃないかなぁと思っています。

もちろん、このブログで紹介しているコードやサンプルコードを使うだけでも自動化の恩恵は得られるので、それだけでも十分楽しめるはずです。

他の人が作ったスケッチを使いたい!

ポケモンに限らず、このライブラリで自動化のスケッチを作っていただいて、そのスケッチを使わせていただくことができたらなぁと思っています。

やはり個人で作るのには限界がありますし、コードを書く人が増えれば、色んなことがはかどりそうですからね!

そうやって「自動化の輪が広がっていったらいいなぁ」という思いで制作しました!

「NintendoSwitchControlLibrary」にも『MITライセンス』を適用しているので、便利なものをどんどん作っていってもらえたらうれしいです。

「自動化」カテゴリーの記事は、今後このライブラリで作成していく予定

「自動化」カテゴリーの記事は今後「NintendoSwitchControlLibrary」を使用したものでコードを書いていきます。

過去に書いた記事にあるコードや手順に関しても、「NintendoSwitchControlLibrary」ベースのものに随時書き換えていく予定です。

すでに利用されている方にはお手数おかけしますが、「NintendoSwitchControlLibrary」を新たにダウンロードしていただくようお願いいたします。

GitHub

A library for microcontrollers that uses Arduino to automate…

「NintendoSwitchControlLibrary」と「NintendoSwitchControll」、「SwitchControlLibrary」は同時に読み込むことはできませんが、Arduinoフォルダ内のlibrariesフォルダに同居させているだけでは干渉しない作りになっているため、今まで使っていたライブラリは消さずに新しく追加するだけでOKです。

まとめ

マイコン用のライブラリである「NintendoSwitchControlLibrary」をリリースしました。

今後の記事はこちらをベースに書いていこうと思うので、まだダウンロードしていない方はダウンロードして、展開したファイルをArduinoフォルダ内のlibrariesフォルダの中に入れておくようお願いいたします。

このライブラリを使うと、プログラミング初心者でも自身で自動化プログラムを組むことができるかと思います。当ブログで紹介したコードを使うだけでなく、コードの自作にもぜひ挑戦してみてください!

スポンサーリンク