『Visual Studio Code + PlatformIO IDEでのArduino開発環境構築とLチカ実行』
「PlatformIO IDEでLチカ」と内容はほぼ同一です。異なる点は次です。
・開発プラットフォームの変更
・再度構築(ちょっとVSCodeなどのアプリが新しい)。
・拡張機能を追加。
・(2回目などの少し慣れた)
Arduinoで開発する際はいつも純正の開発環境である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も初めてなので、とりあえず開発環境の構築方法をメモ代わりに記事にします。macOS版の記事も少ないので記事に。。。
補足: Arduino純正IDEをよく思っていない方もいますが、Arduino純正は超簡単にアプリを作ってボードにインストールし実行できます。素晴らしい! PlatformIOとかXcodeのようにインスールとか学習に時間を有しません。ボードが有れば10分程度でLチカが出来ます。最初にLチカを行いたいならArduino純正で開発し複雑な開発とか既存のソフトのIDEに使い慣れているならPlatformIOを使うといい私は思います。
作成日時 2020-07-08 01:08 更新日時 2020-07-08 01:34
macOSでの開発環境のインストールからLチカまでの手順です。
Arduino UNO R3を必要とします。
1.動作環境
2.インストール
3.Lチカ
4.デバッガ
5.日本語化
6.その他
【1.動作環境】
この記事の動作環境です。
・macOS Catalina (この記事の段階でVersion 10.15.5)
・MacPro (2019)
3.2 GHz 16コアIntel Xeon W
160 GB 2933 MHz DDR4
AMD Radeon Pro W5700X 16 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.1
2020年06月03日作成
アプリをアプリケーションフォルダに入れてダブルクリックし起動します。
起動時の画面
PlatformIO IDE
次にArduinoの開発環境の為にPlatformIOをインスールします。
VSCodeの拡張機能なので左の拡張機能から探してインストールします。
「PlatformIO」を検索し「Install」します。
インストール途中。
インスールが完了するとPIO Home画面が表示されます。
PIO (PlatformIO)
また、左のサイドバー? にPIO Homeアイコンが追加されます。
PlatformIO IDEのインストールが終わると「OUTPUT」に「Please restart VSCode.」と表示されます。
画面左下のインストール途中のメッセージは変化ししません(インストール途中のままです。)
アプリを再起動します。
(左下のメッセージより「OUTPUTのメッセージを優先します。)
【アプリを再起動します。】
VSCoeアプリの再起動後の画面。
左のバーにPlatformIOのアイコンが追加されます。
インストールが完了すると2つの拡張機能が表示されます。
「C/C++」と「PlatformIO」です。
PlatformIOはC/C++を必要する(依存関係)ので、自動的にインストールされます。
【3.Lチカ】
動作チェックのLチカです。
動作確認の為に、今回はSeeeedのArduino UNO R3互換ボードであるSeeeduino V4.2を接続してLチカを行います。
日本だとスイッチサイエンスさんから購入できます。> スイッチサイエンス Seeeduino V4.2
Lチカ・アプリの作成
新しいプロジェクトを作成します。
+ New Project
Project Wizardの入力項目3を行い「Finish」ボタンをクリックします。
Name: プロジェクト名 Lchika
Bard: 今回は「Arduino Uno」を選択 (800を超えるボードが登録済みですが検索出来るので「UNO」と入力して絞り込み選択します。
Framework: Bardを選択した時点で自動的に入るようです。
最後に「Finish」ボタンをクリックします。
ファイルブラウザ?の「EXPORER」が開き「Lchika」プロジェクトが表示されます。
今回はインストールされているライブラリのアップデートがあるようなので「はい」を選択しインスールします。
「再読み込み」をクリックして更新します。
画面が更新されます。
念のためVSCodeを再起動します。
テストコードの画面に戻ります。
Lチカのコードを入力します。
Arduinoの作法とは異なり「main.cpp」にコードを書きます。
とりあえず動作テストの為に
PlatformIOのページからLチカのコードをコピー&ペーストします。
> Lチカのコードはプロジェクト作成時にデフォルトで入るようである。
> 以前は入らなかったか。2020-07-07 現在。
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
【アイコンをいろいろと追加】
プラグイン「vscode-icons-team」を検索してインストールします。
「有効化」
カラフルなアイコンが表示されるようになります。
記憶では、1年以上前(2年?)からの懸案のArduinoの新しい開発環境の構築が出来ました。
これから使い方を色々と模索しつつ開発をしていきます。