PlatformIO IDEでLチカ2 【古い-転載記事】 概要 PlatformIO IDEでLチカ2 『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を必要とします。 動作環境 インストール Lチカ デバッガ 日本語化 その他   【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 ( P latform IO ) また、左のサイドバー? に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 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」プロジェクトが表示されます。 今回はインストールされているライブラリのアップデートがあるようなので「はい」を選択しインスールします。 「再読み込み」をクリックして更新します。 画面が更新されます。 念のため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と接続されていますか? (^^; ERMINAL枠内にアップロード情報が表示されます。 補足: 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の新しい開発環境の構築が出来ました。 これから使い方を色々と模索しつつ開発をしていきます。