PlatformIO IDEでLチカ

『Visual Studio Code + PlatformIO IDEでのArduino開発環境構築とLチカ実行』

 

Arduinoで開発するときはいつも純正の開発環境であるArduinoアプリを使用しています。今後も使用することになると思います。しかし、コードの作成とかデバッグ環境とかは何世代も前の感じです。まぁ、ターゲットがXocdeとかの本格的なIDEとは異なるのですが、お手軽に開発するにはとってもシンプルで使い易いものです。でも、Xcodeとか使っているとせめて最低限のコード補完とかブレイクポインタとかでいいから実装してよ! と思ったりしています。

 

そこで今回はArduino純正IDEよりは少し細かい所に届く新しいArduino開発環境を導入したいと思います。

 

この記事は、巷で噂の「Visual Studio Code + PlatformIO IDE」、マイクロソフトのVSCode(Visual Studio Code)と呼ばれるマルチプラットフォームのソースコードエディタにArduino対応のPlatformIOと呼ばれる拡張機能をインストールしLチカまでの簡単な開発手順です。

 

私はVisual Studio CodeもPlatformIO IDEも初めてなので、とりあえず開発環境の構築方法をメモ代わりに記事にしたいと思います。

 

補足: Arduino純正IDEをよく思っていない方もいますが、Arduino純正は超簡単にアプリを作ってボードにインストールし実行できます。素晴らしい! PlatformIOとかXcodeのようにインスールとか学習に時間を有しません。ボードが有れば10分程度でLチカが出来ます。最初にLチカを行いたいならArduino純正で開発し複雑な開発とか既存のソフトのIDEに使い慣れているならPlatformIOを使うといい私は思います。

 

作成日時 2020-06-14 13:59 更新日時 2020-06-14 14:44


macOSでの開発環境のインストールからLチカまでの手順です。

Arduino UNO R3を必要とします。

 

1.動作環境

2.インストール

3.Lチカ

4.デバッガ

5.日本語化

6.オマケ


【1.動作環境】

この記事の動作環境です。

 

・macOS Catalina (この記事の段階でVersion 10.15.5)

・MacPro (Late 2013)

  3 GHz 8コアIntel Xeon E5

  64 GB 1866 MHz DDR3

  AMD FirePro D700 6 GB

・Seeeduino V4.2

  SeeeedのArduino UNO R3互換ボード


【2.インストール】

VSCode(Visual Studio Code)とPlatformIO IDEのインストール方法です。

 

Visual Studio Code

次のサイトからVisual Studio Codeをダウンロード

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

アプリをダウンロード

開発環境はMacOSなのでMacを選択

圧縮されているので解凍しアプリケーションフォルダに入れます。

 

-> 解凍

ちなみに記事を作成時のVersionは次の通りです。

 1.46.0

 2020年06月03日作成

アプリをアプリケーションフォルダに入れてダブルクリックし起動。

起動時の画面

PlatformIO IDE

次にArduinoの開発環境の為にPlatformIOをインスールします。

VSCodeの拡張機能なので左の拡張機能から探してインストールします。

「PlatformIO」を検索し「Install」します。

 

インスールが完了するとPIO Home画面が表示されます。

 

PIO (PlatformIO)

 

また、左のサイドバー? にPIO Homeアイコンが追加されます。

 

インストールが完了すると2つの拡張機能が表示されます。

 

「C/C++」と「PlatformIO」です。

PlatformIOはC/C++を必要する(依存関係)ので、自動的にインストールされます。

【アプリを再起動します。】


【3.Lチカ】

動作チェックのLチカです。

 

動作確認の為に、今回はSeeeedのArduino UNO R3互換ボードであるSeeeduino V4.2を接続してLチカを行います。

日本だとスイッチサイエンスさんから購入できます。> スイッチサイエンス Seeeduino V4.2

https://www.switch-science.com/catalog/2651/?gclid=EAIaIQobChMIgpXLopX_6QIViqmWCh1Nqw80EAAYASAAEgIvcPD_BwE

 

Lチカ・アプリの作成

新しいプロジェクトの作成

+ New Project

 

Project Wizardの入力項目3を行い「Finish」ボタンをクリックします。

 

Name: プロジェクト名 Lchika

Bard: 今回は「Arduino Uno」を選択 (800を超えるボードが登録済みですが検索出来るので「UNO」と入力して絞り込み選択します。

Framework: Bardを選択した時点で自動的に入るようです。

 

最後に「Finish」ボタンをクリックします。

ファイルブラウザ?の「EXPORER」が開き「Lchika」プロジェクトが表示されます。

 

補足: 記事ではプロジェクトがすんなり表示されていますが、実際にはアプリを再起動しないとうまくいかないことが有り迷いました。どうも、拡張機能を入れた後の挙動が不安定でアプリを再起動しないとPlatformIOを認識され無かったりするようです。

Lチカのコードを入力します。

 

Arduinoの作法とは異なり「main.cpp」にコードを書きます。

とりあえず動作テストの為に

PlatformIOのページからLチカのコードをコピー&ペーストします。

 

Docs » Cloud & Desktop IDE » VSCode

https://docs.platformio.org/en/latest/integration/ide/vscode.html#ide-vscode

 /**

 * Blink

 *

 * Turns on an LED on for one second,

 * then off for one second, repeatedly.

 */

#include "Arduino.h"

 

// Set LED_BUILTIN if it is not defined by Arduino framework

// #define LED_BUILTIN 13

 

void setup()

{

  // initialize LED digital pin as an output.

  pinMode(LED_BUILTIN, OUTPUT);

}

 

void loop()

{

  // turn the LED on (HIGH is the voltage level)

  digitalWrite(LED_BUILTIN, HIGH);

 

  // wait for a second

  delay(1000);

 

  // turn the LED off by making the voltage LOW

  digitalWrite(LED_BUILTIN, LOW);

 

   // wait for a second

  delay(1000);

}

コードの実行

左下のICONからビルドしてボードにアップロードします。

ビルド (ショートカットキーは Control + option + B)

TERMINAL枠内にビルド情報が表示されます。

 

ボードへアップロード (ショートカットキーは Control + option + U)


注意: ボードはmacと接続されていますか? (^^;

TERMINAL枠内にアップロード情報が表示されます。

補足: Arduino純正アプリとは異なりアップロード時に再Buildは実行されません。

 

これで無事Lチカが実行されました。

 


【3.デバッガ】

PlatformIOを使用するきっかけになった原因?とも言うべき機能を試します。

 

この機能を利用するには「PlatformIO」のユーザー登録が必要です。

ユーザー登録が完了したらPlatformIOからログインします。

UsernameかemailとPasswordを入力してログイン。

 

ログイン画面

 

とりあえず。アプリを再起動

 

ブレイクポイントを設定。

デバッグの実行

 

「PIO Debug」を選択し「RUN」します。

デバッグ用のビルドが実行されボードが再起動されます。

 

最初に「init()」で停止しますが、継続します。

 

継続。

 

指定したブレイクポイントで停止しました。

 

機能的な事は未だこれから勉強しますがとりあえず新しいArduino環境で開発が出来るようになりました。

 


【4.日本語化】

Japanese Language Pack for VS Code をインストールすることで、VSCode(Visual Studio Code)のメニューなどを日本語化出来ます。

 

日本語Packをインストール

拡張機能の検索キーワードに「Japanese」を入力し「Japanese Language Pack for VS Code」を発見しインストールします。

 

アプリを再起動します。

 

日本語化されています。

VSCode(Visual Studio Code)の日本語化なのでPlatformIO固有の部分は日本語化は実施されません。

 

また、画面キャプチャーのデバッグコンソールは日本語化されていますが、TERMINALとかOUTPUTは英語のままで、アプリを再起動しても変わりません。が、「TERMINAL」をクリックすると日本語化されます。

ローカライズのタイミングが不明です。

こんな感じでたまに変な動きをします。


【6.オマケ】

 

設定フォルダの場所

~/Library/Application\ Support/Code

 

ポートの接続状態

PIOアイコンのPROJECT TASKSから「Devices」を選択すると接続されているデバイス情報をTERMINALへ出力します。

 

今回テストに使っているボード「Seeeduino v4」があります。

特にUSBを選択していませんが、今回は自動的に認識選択しているようです。

この辺の設定は「platformio.ini」を修正することで柔軟に対応出来る様です。

 

/dev/cu.usbmodem1201

--------------------

Hardware ID: USB VID:PID=2886:0004 SER=55737313531351107151 LOCATION=0-1.2

Description: Seeeduino v4


記憶では、1年以上前(2年?)からの懸案のArduinoの新しい開発環境の構築が出来ました。
これから使い方を色々と模索しつつ開発をしていきます。