Visual Studio Codeを使用してPlatformIO経由でArduinoをプログラムする方法

Platformio ホームページ

時には、Arduino IDEでのコーディングだけでは不十分です。考えてみてください、すべてのツールが欠けています:スペルチェックも、フォルダーも、自動補完もありません。もちろん、エディターでArduinoをプログラムしてから、IDEに貼り付けてアップロードすることもできます。しかし、PlatformIOを使えば、ウィンドウを切り替えることなくそれができます。

目次

  • PlatformIOとは?
  • PlatformIOのインストール
  • PlatformIOでのコーディング
  • Arduinoへのアップロード
  • よくある質問

こちらもお読みください: 知っておくべき10の便利なPythonワンライナー

PlatformIOとは?

PlatformIOは、組み込みシステムのコードを実行およびデバッグできるVisual Studio Codeの拡張機能です。現在、さまざまなメーカーからの1,395の開発ボードをサポートしており、Arduinoだけでなく、他の多くのボードでも使用できます。

PlatformIOとArduino IDEを比較することは、「使ってみればわかる」というようなものです。私の意見では、確実に優れています。なぜなら、より良いC/C++リンター、自動補完、さらにはMicroPythonサポートなど、より多くの機能を追加できるからです。また、チームで作業する場合に便利なGitもサポートしています。

PlatformIOのインストール

  1. Visual Studio Codeで、左のトレイの拡張機能ボタンをクリックするか、キーボードでCtrl + Shift + Xを押します。

  2. 拡張機能の検索バーにplatformioと入力し、「PlatformIO IDE」と表示される結果をクリックします。

  3. 「インストール」ボタンをクリックし、インストールが完了するまで待ちます。

  4. 成功すると、PlatformIOのロゴがVisual Studio Codeの左トレイエリアに表示されます。PlatformIOを使用したいときは、このロゴを押してください。

PlatformIOでのコーディング

Arduino IDEと比較して、PlatformIOでのコーディングにはいくつかの追加ステップが必要です。この例では、Arduino Unoを使用して内部LEDを点滅させます。

  1. 左のトレイエリアのPlatformIOアイコンを押します。

  2. 開くを押します。

  3. PIOホームページが表示されるはずです。右側にクイックアクセスバーがあります。「新しいプロジェクト」を選択します。

Platformio クイックアクセス

  1. プロジェクトウィザードが表示されるはずです。名前のテキストボックスに「PlatformIO Blink」と入力できます。次に、ボードのドロップダウンで「Arduino Uno」を入力または検索し、フレームワークのドロップダウンでArduinoを選択します。

Platformio プロジェクトウィザード

  1. オプション: PlatformIOは自動的にプロジェクトをデフォルトフォルダー(Documents\PlatformIO\Projects)に保存します。「デフォルトの場所を使用」のチェックボックスを外し、下に表示されるエクスプローラーを介して自分のフォルダーを選択または作成できます。

Platformio デフォルトの場所のチェックを外す

  1. 完了したら「終了」をクリックします。初回の初期化プロセスには時間がかかる場合があります。また、フォルダー内のファイルの著者を信頼するかどうか尋ねられることがあります。自分のプロジェクトを作業しているだけなら、「はい、著者を信頼します」をクリックしてください。そうでない場合は、「いいえ、著者を信頼しません」を押してください。このオプションは後で変更できます。

Platformio このユーザーを信頼しますか

こちらもお読みください: 基本的なLinuxシステム管理とネットワーキングタスクにPythonを活用する方法

コードを書く場所を見つける

そのボタンを押した後、Arduinoをプログラムする準備が整ったはずです。コーディングを開始するには、「src -> main.cpp」に移動する必要があります。これにより、次のコードを含むファイルが開きます:

#include   
  
void setup(){  
// ここにセットアップコードを記述します。1回実行されます:  
}  
  
void loop(){  
// ここにメインコードを記述します。繰り返し実行されます:  
}

見覚えがありますか?それは、Arduino IDEを開くとすぐに表示されるものです。ただ一つの違いがあります:1行目に#includeと書かれています。

理由は簡単です。今、あなたは純粋なC++でコーディングしています。PlatformIOは、Arduinoプログラミング言語を使用しているときには見えないすべての隠れたものを表示します。それが、左側に新しいフォルダーがすべて表示される理由でもあります。これらは、あなたが作業するために存在しています。

一方、Arduino IDEは、C++に基づいたArduinoプログラミング言語を使用してArduinoボードをプログラムすることしかできません。

それが終わったら、Arduinoの内部LEDを点滅させましょう!

点滅コード

#include   
  
void setup(){  
// ここにセットアップコードを記述します。1回実行されます:  
  pinMode(LED_BUILTIN, OUTPUT);  
  Serial.begin(9600);  
}  
  
void loop(){  
// ここにメインコードを記述します。繰り返し実行されます:  
  digitalWrite(LED_BUILTIN, HIGH);// LEDをオンにします。  
  delay(500);  
  digitalWrite(LED_BUILTIN, LOW);// LEDをオフにします。  
  delay(500);  
  Serial.println("LEDのオンとオフの1サイクル");// LEDのオンとオフのサイクル後にメッセージを表示します。  
}

Arduinoへのアップロード

Arduino IDEと同様に、PlatformIOではArduinoプログラムをボードにビルドまたはビルドしてアップロードすることができます。Visual Studio Codeの青いバーの下に、家のアイコンの隣にチェックと矢印が表示されるはずです。

チェックアイコンは、コードをビルドして、機械コードに変換する際に問題がないか確認します。一方、矢印アイコンは、現在のコードをビルドして、コンピュータに接続されている場合はボードに直接アップロードします。

次の2つのボタンは、現在保存されているビルドをコンピュータから削除する(ゴミ箱アイコン)ことと、ボード上でユニットテストを実行する(フラスコアイコン)ことができます。

外部LEDを試す

それが終わったら、Arduinoの内蔵LEDは1秒ごとに点滅し始めるはずです。外部LEDで動作するのを見たい場合は、ピン13とGNDの間にLEDと250Ωの抵抗を直列に接続してみてください。

Ltspice 回路図 Arduino 外部LED

シリアルモニターを使用する

組み込みシステム用のIDEは、シリアルモニターがないとIDEとは言えません。プラグアイコンを押してシリアルモニターを開きます。ボードが伝えたいことを表示する新しいターミナルプロセスが開きます。

この場合、私たちの点滅コードは、各点滅サイクルの後にシリアルモニターで「LEDのオンとオフの1サイクル」と表示するはずです。

Visual Studio Code Platformio シリアルモニター

よくある質問

Visual Studio CodeからPlatformIOを削除するにはどうすればよいですか?

他の拡張機能と同様に、左のトレイエリアの拡張機能タブに移動し、PlatformIO IDEをクリックして、アンインストールボタンをクリックするだけです。

ビルドとアップロードのボタンを分ける意味はありますか?

最初は冗長に思えるかもしれませんが、コードをどこにもアップロードしないビルドボタンがあると、組み込みシステムで動作するかどうかわからない特定のC++機能を試すときに非常に役立ちます。最終的には、使用ケースによります。それと、初期のデバッグは、長期的に不要なバグを取り除くのに役立ちます。

PlatformIOを商業利用できますか?

簡単な答え:はい!

少し長い答え:PlatformIOを使用して、ビジネス用にArduinoや他の多くのボードをプログラムできます。しかし、彼らはPIO Labsで企業向けの社内IDEソリューションも提供しています。