プログラマーが電子工作を始めるための初心者Arduino導入編PlatformIO IDE for VSCodeになります。普段であれば、Arduino IDEという総合開発環境を使うのですが、プログラマーであれば、VS Codeを利用した開発環境がおすすめです。
プログラマーが始める電子工作 Arduino導入編PlatformIO IDE for VSCode
電子工作の初心者に人気なArduino開発環境の話です。
プログラマーの方なら、使い慣れたVS Codeで電子工作ができます。ここでは、VS CODEで開発をしていく環境をご紹介していきます。
PlatformIO IDE for VSCode(VS Codeの拡張機能です)
組み込みC / C ++開発用の新世代ツールセットで、Arduinoのようなマイコンのプログラムもできます。
コード補完およびコードリンターにより、洗練されたプログラムが書けます。
C / C ++のコード補完およびコードリンターにより、洗練されたプログラムが書けます。ここは、Arduino IDEに比べて断然に上をいっています。複数人での開発も可能。テーマは暗い色と明るい色の二種類をサポートします。
いろいろな組み込みボードの開発ができます。
Windows、Mac、Linuxなど、複数のプラットホームで単一の開発環境:800以上の組み込みボード、35以上の開発プラットフォーム、20以上のフレームワーク。ArduinoおよびARMmbedと互換性があります。
統合デバッガー
複数のアーキテクチャと開発プラットフォームをサポートするPIOユニファイドデバッガーにより、ゼロ構成で250を超える組み込みボードをデバッグできます。
これは、マイクロソフトのPlatformloのうたい文句を参考にしたので、半分ぐらいは自分でも、理解していないところが正直ある。
しかし、プログラマーの方なら、もっと、わかるのだろうということにさせていただく。
私自身は、エンジニアでもないですが、WindowsでDockerを試したり、Jupyter Notebookを試したり、いろいろとしています。
PlatformIO IDEのインストール

VS Codeを立ち上げてください。そして、拡張機能で、Platformlo IDEを検索してください。Platformlo IDEを探し、インストールボタンを押して、インストールしてください。プログラマーの方を対象にしているので、ある程度、飛ばしている感もあるんですが、ただ、記事を引きのばすのもあれなので。
新しいプロジェクトの作成

Platformloのホームに行き、新しいプロジェクトを作成します。

Platformloのホーム画面で新規プロジェクトを選びます。
- プロジェクトの名前を入力する。
- 利用するマイコンの名称 Arduino Uno利用するボード、マイコンなどを入力する。
- フレームワーク ArduinoならArduino、ボードに対応したフレームワークを選ぶ。
新規プロジェクト情報を全部入力したら、完了を実行します。

実行すると、新しく、対応するフレームワークに対応した情報をもとに環境が作られる。

platformio.iniには、ボードやライブラリの情報が書かれている。そのプロジェクト固有の情報を記載する。このプロジェクトだけ使うライブラリなどはここに記入することになる。
ライブラリの管理

ライブラリの管理はこのタブでできます。
例えば、I2c関係のライブラリを一つのプロジェクトに入れてみます。今回は、プロジェクト「Arduino inside Led」という名のプロジェクトにします。
そして、LiquidTWI2という名前のものをプロジェクト内でライブラリに入れてみたいと思います。入れる所のプロジェクト名を確認してください。


すると、プロジェクト「Arduino inside Led」のPlatformlo.iniにライブラリ情報が自動で入力されます。
framework = arduino
lib_deps = lincomatic/LiquidTWI2@^1.2.7
これで、プロジェクト毎にライブラリ管理ができます。
利用ポート情報など

このタブで、利用しているポート情報が見れます。Arduinoなどのマイコンがどのポートにつながっているのかを知ることができます。テスト環境での仮想デバイスについてもわかるみたいです。個人なので、デバックツールはあまり詳しくありません。仮想環境を作って開発をしていたり、違うマイコン環境を追加したりした時に利用できるみたいです。なので、AnacondaやDockerのコンテナなどの連携についてはよく分かりません。わかるようになったら、追記していきたいと思います。
プログラム記入

Arduino IDEでは、拡張子が inoだが、Platformloでは、cppになる。
そして、プログラムにはArduino.hをインクルードします。これで、C、C++にArduino固有定義を補完する形になります。
Arduino IDEで作成されるプログラムでは、このArduino.hのインクルード、Platformlo.iniに、利用ライブラリを設定してあることが必要になります。
プログラムで利用するものは、明示的に定義されるファイルがあるため、Arduino IDEに比べ、管理がしっかりとできると思います。
あとは、setup()、loop()等にプログラムを書いていくだけです。
Arduino.hの追加と、拡張子だけ気にしされすれば、膨大にあるArduino IDEで書かれたプログラムをそのまま流用できます。後は、ライブラリの管理をしっかりしておくだけです。これは、どちらでも同じですね。

#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.print("LED on");
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
Serial.println("LED off");
delay(1000); // wait for a second
}
プログラムについては、Arduino.hのヘッダファイルをインクルードするところが違うだけで全く同じです。
コンパイルと実行について

- Platformloのホーム
- コンパイル
- Arduinoなどのボードに書き込み
- シリアルモニター
- ターミナル
まず、①で、ポートの確認やライブラリ管理をします。これについては、先ほど説明していますので、もう一度上の方を確認してください。ライブラリやデバイスについてです。

②で、プログラムをコンパイルします。この時、プログラムの拡張子は、cppです。arduino.hというヘッダーファイルの読み込みがされているか確認してください。ちなみに、Arduino IDEでは、inoが拡張子として利用されます。
③でプログラムをマイコンへ書き込みます。出力ポートがあっているか注意です。Arduino などのハードウェアがしっかりと接続されているか確認してください。
④と⑤にコンパイルエラーやデバック情報が出てきます。

上記のプログラムを実行した時のシリアルモニターの様子です。
こんな感じでプログラマー向けのArduino環境構築編を終わりたいと思います。プログラマーであっても、もちろん、Arduino IDEという総合開発環境を利用した開発もおすすめです。このブログが少しでも参考になればうれしいです。
コメント