\r\n\r\n
Arduino IDEは、多くの人にとって初めてのコーディング体験となります。しかし、最新のコードエディタが備えている重要な機能が欠けています。
visualstudio code (VS-Code)は、最も人気のあるコードエディタの1つになりつつありますが、標準的なArduinoの開発には対応していません。
Arduinoボードをプログラミングするためのオープンソースツール、PlatformIOを紹介します。PlatformIOの入手方法と、それを使ってVSコードで簡単なArduinoスケッチを作成する方法を紹介します。
必要です。
本日のガイドはwindows10用ですが、LinuxやMacにも適用できるはずです。
注意:このチュートリアルでは、Windows 10アプリ版のArduino IDEは使用できません。
VS Codeにはプログラマーを支援するための拡張機能がたくさんありますが、PlatformIOも例外ではありません。左パネルからVS Code Extensions Marketplaceを開き、PlatformIO IDEを検索します。「インストール」をクリックし、しばらく待つ準備をします。
注意:インストールエラーの原因になりますので、この作業中はVSコードを閉じないでください。
インストールが完了すると、右下にVSコードを再読み込みするプロンプトが表示されます。クリックするとプログラムが再起動し、PlatformIO extensionのトップページが表示されます。
PlatformIOのホームページには、既存のArduinoプロジェクトを開いたり、プロジェクトのアイデアへのリンクなど、いくつかのオプションが用意されています。本日は再スタートとなりますので、「新規プロジェクト」をクリックしてください。
プロジェクト名と使用するボードを入力する画面が表示されます。このチュートリアルでは、Arduino Nanoを使用しています。PlatformIOは650以上のボードをサポートしているので、リストの中からあなたのボードを見つけることができるかもしれません。
Arduino互換ボードを使用している場合、Frameタブには自動的にArduinoが入力されているはずです。Locationにチェックを入れておくと、デフォルトのインストール先を使用することができます。以前の**Arduinoプロジェクトを使用している場合は、このオプションのチェックを外すだけです。
PlatformIO は、プロジェクトに必要な依存関係をダウンロードしてインストールし、完了したら IDE を再 起動します。
VSコードを再起動すると、エクスプローラパネルに新しいプロジェクトフォルダが開いていることに気がつくと思います。この段階では、このディレクトリの各ファイルが何をするのか知る必要はありません。ArduinoのスケッチでSRCディレクトリを使用するだけです。
また、VSコードのボトムバーには、新しいアイコンがいくつか追加されていることにお気づきでしょう。これらは、Arduino IDEのボタンに相当するもので、コンパイル表記、アップロード矢印、シリアルモニタプラグがあります。
さて、すべての準備が整ったところで、さっそくコーディングしてみましょう。
PlatformIOは、新しいプロジェクトごとに白紙のスケッチを作成します。
エクスプローラタブでSRCに移動してスケッチを開き、 / main.cpp を開きます。通常のArduinoスケッチとは拡張子が異なることにお気づきでしょう。cppは、ARDUINO言語とIDEのプログラミング言語であるC + PLUS (C++)の略です。
注:このチュートリアルでは、Arduino IDEのバックグラウンドをお持ちの方には馴染み深い、ワーキングスケッチを使用しています。しかし、C++のスケッチは、しばしばプログラムと呼ばれる。
このスケッチには、通常のArduinoスケッチのように、設定とループがあります。主な違いは、プログラムの上部にあります。include< Arduino.h> ヘッダーファイルは、正しく動作するために、すべてのPlatformIOプロジェクトに存在する必要があります。
では、ハードウェアのハローワールド、LEDを点滅させるスケッチを作ってみましょう。
この点滅するスケッチを作成していただき、以下、各行をなぞることになります。
もし、13番ピンをLEDとして使用しない基板を使用している場合は、それに応じて変更してください。
#define onboard 13設定機能を使って、ピンモードを設定します。
pinMode(onboard,OUTPUT);VSのコードがどのようにコードを提案し、Enterを押したときにコードを完成させるかに注目してください!
最後に、ループ内のLED点滅ロジック機能は、セットピンのハイレベルとローレベルを遅延させることで作成されます。
digitalWrite(onboard, LOW); delay(1000); digitalWrite(onboard, HIGH); delay(1000);もしエラーがあれば、コンパイルやアップロードを行うまで待つのではなく、コーディング時にVS codeが教えてくれます。リアルタイムのエラーチェックと補完により、コーディングのイライラを軽減し、よりスピーディーな作業を実現します
次に、スケッチをボードにアップロードする方法を学びます。
まだの場合は、ボードをUSBポートに**持ってきてください。スケッチを保存し、ボトムバーのチェックアイコンをクリックしてコンパイルするか、矢印ボタンをクリックして一度にコンパイルしてアップロードすることができます。しばらく待つと、LEDが点滅するはずです
通常のArduinoのワークフローには、あるステップが欠けていることにお気づきかもしれません。通常、ArduinoがどのCOMポートに接続されているかを指定する必要があります。スケッチをボードにアップロードする際に出力をスクロールすると、PlatformIOが自動的にボードを検出してくれることに気がつくと思います。
最後に、各機能のコード行を追加して、シリアルモニターをテストします。 をインストーラーに追加します。
Serial.begin(9600);というメッセージをループ関数に追加し、ループが完了したときにシリアルモニタに出力するようにします。
Serial.println("loop completed");スケッチをアップロードし、ボトムバーのプラグアイコンをクリックすると、シリアルモニターが開き、メッセージが表示されます。
VSコーディングとPlatformIOを使うことで、Arduinoのコーディングに新風を吹き込みます。また、visualstudioのライフシェア機能により、遠隔地とのコラボレーションも容易になりました。
このチュートリアルでは、基本的なことしか説明していませんが、ArduinoIDEでPlatformIOを使ってできることはすべて可能です。