Arduinoライブラリ: 作成、使用、インストールの方法

発行者

ある程度の期間、 Arduinoボード をプログラミングしたことがあるなら、間違いなく「ライブラリ」を使用したことがあるでしょう。そのためには、コードに「魔法の」行 #include <XYZ.h> を挿入します。すると、突然、 Arduino IDE に新しい機能が追加されます。これは、 ステッピング モーター、プログラム可能な LED、およびその他のさまざまな機能を制御する新しい方法を意味します。一部のライブラリはArduino IDEに組み込まれていますが、他のライブラリは検索機能や手動でインストールでき、独自のライブラリを作成することもできます。

この記事では、ライブラリが実際に何であるか、その舞台裏で何が起こっているかを調べ、コードの簡素化と再利用のために独自のカスタム ライブラリを作成する世界を紹介します。

Arduinoライブラリとは何ですか?

includeステートメント以外では、ライブラリはメインスケッチでコンパイルされるコードのコレクションですが、明示的には記述されていません。Arduinoライブラリには通常、スケッチで呼び出すことができる関数と変数に加えて、ライブラリ内で定義されたクラスのインスタンスを作成するために使用されるコンストラクターと呼ばれる特殊な関数が含まれています。

ライブラリは、値を入力して特定の関数を自動的に実行できる「ブラック ボックス」のようなものとして、変更されないコードに最も役立ちます。理想的には、内部で何が起こっているかについて心配する必要はないはずです。同じ機能をmain .ino スケッチにプログラムすることもできますが、ライブラリに処理をオフロードすると、コードがはるかに読みやすくなります。これをコンパイルしてArduinoに送信すると、実際にはメモリが節約されるわけではないことに注意してください。これは単に人間向けに整理されているだけです。

Arduinoライブラリのインストール方法

Arduino Libraries Image 2

Arduinoライブラリマネージャーから簡単にライブラリをインストール

IDEに含まれているライブラリ、または以前にインストールされたライブラリの場合は、 [スケッチ] > [ライブラリを含める] > [問題のライブラリ] に移動すると、IDEによってスケッチの先頭にライブラリが含められます。システムにまだ存在しないが、Arduinoライブラリ マネージャーにリストされているコードを使用する必要がある場合は、 [ツール] > [ライブラリの管理...] に移動して必要なものを検索し、見つかったら [インストール] をクリックします。

圧縮された .zipパッケージをダウンロードし、 [スケッチ] > [ライブラリを含める] > [.ZIPライブラリを追加]… オプションを使用して追加することもできます。最後に、ライブラリを手動で追加できます。これは、Arduinoに正式にリストされていない非標準ライブラリの場合に特に便利です。

Arduinoにライブラリを追加する方法

ライブラリを手動で追加するには、Arduinoライブラリ フォルダーに移動します。私のWindows 10インストールの場合、 C:\Program Files (x86)\Arduino\libraries にあります。ライブラリ ファイルを含む新しいフォルダーを配置します。このフォルダーには、 .h (ヘッダー ファイル) と、ライブラリのコードの大部分を含む .cpp ファイルが含まれます。オプションで、ライブラリにはサンプル スケッチを含む examples サブフォルダーを含めることができ、.hファイルと .cppファイルは多くの場合 src サブフォルダーに配置されます。Arduino IDEでスケッチ内の特定の単語を適切に強調表示できるように、 keywords.txt ファイルも含めることができます。

あるいは、ライブラリをスケッチ フォルダー自体の中に配置することもできます。これは、特定のプロジェクトで使用するために新しいカスタム ライブラリを作成する必要がある場合に特に便利です。独自のライブラリを作成する準備ができたら、またはライブラリの動作方法を調べる必要がある場合は、上記のようにライブラリ ディレクトリを調べて、構造を確認してください。Arduino IDEで直接開くには少し手間がかかるので、 これらのファイルをNotepad++ で開くことをお勧めします。

独自のArduinoライブラリを作成する

他のライブラリを使用した後、独自のライブラリを作成するにはどうすればよいでしょうか? ところで、なぜそうしたいのですか?簡単に言えば、コードを簡素化し、特定のセグメントを簡単に再利用できるようにすることです。たとえば、 以前の記事で説明した以下のCharlieplexingルーチンのメイン関数のライブラリを実装するとします。

void charlie(int a, int b){

  b == 2の場合{

    pinMode(a, 入力); 

  }

  それ以外{

    pinMode(a, 出力);

    デジタル書き込み(a, b);

  }

}

Arduino Libraries Image 3

開始するには、Arduino IDEの右上にある下矢印をクリックし、 [新しいタブ] を選択するか、キーボード ショートカット Ctrl+Shift+N を使用します。ライブラリ名を入力し、その後に .h を入力してヘッダーを作成します。追加のタブを開き、同じ名前の後に .cpp を付けます。これらは保存されるとスケッチ ディレクトリ内の新しいファイルになります。

ヘッダー ファイルと .cppファイルは必ずしも同じ名前である必要はありませんが、簡潔にするために同じ名前にすることが推奨されることが多いです。再利用したいコードは、いくつかの変更を加えて .cppファイルにコピー/貼り付けることができます。

Arduinoライブラリ チュートリアル

Charlieplexingコードを「ライブラリ化」した結果は、 GitHub で確認できます。コードは機能しますが、この場合、読みやすさの点では大きな改善はありません。このタイプのプログラミングが真価を発揮するのは、大規模なコード ブロックや再利用可能なコード ブロックがある場合です。

ライブラリを正しく機能させるには、他にもさまざまなコツがあり、GitHubページにこれに関する詳細情報が記載されたリファレンスがあります。これらの .hおよび .cppタブは、他のライブラリではなく、.inoスケッチ ファイルと同じフォルダーに個別のファイルとして保存されます。メインスケッチでは、この場所は引用符で示されます。 #include "Charlie.h" ライン。山括弧、例 #include <LiquidCrystal.h>は、より広範なライブラリ ディレクトリからコードを含める場合に使用されます。

Arduino Libraries Image 4

話を元に戻すと、特定のライブラリを何度も使用する場合は、.hファイルと .cppファイルをライブラリ ディレクトリ内の新しいフォルダーに配置し、山括弧を使用してそこにアクセスできます。必要になるたびに新しいスケッチ フォルダーに転送するだけで済むので、ファイルを共有するのに適しています。非常によく定義されたライブラリができて、他の人にも役立つ可能性がある場合は、公式のArduinoライブラリマネージャーにリストすることもできます。 ここにリクエストを投稿する

 

特典1

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here