🤖

【電子工作】VSCode で Arduino 開発環境構築

2024/06/21に公開

はじめに

本記事では、VSCode で Arduino の開発環境構築手順をまとめます。

事前準備として、 Arduino CLI か Arduino IDE のインストールが必要になります。この記事は以下の Arduino IDE 導入の記事の続きですが、Arduino CLI でも同様に設定可能です。

https://zenn.dev/nyazuki/articles/ebe56234d81e95

【事前準備】Arduino CLI のインストール(Arduino IDE を導入していない人のみ)

ドキュメントを参考にインストールを完了してください。
https://arduino.github.io/arduino-cli/1.0/installation/

Arduino 拡張機能のインストール

Arduino の拡張機能のインストールします。

C/C++ 拡張機能のインストール

C/C++ の拡張機能のインストールします。

拡張機能の設定

上メニューの「Code」 -> 「基本設定」 -> 「設定」の「拡張機能」 -> 「Arduino configuration」から設定するか、settings.jsonから設定を行います。
settings.jsonは設定ファイルを開いたときの右上のアイコンで開けます。)

Arduino の拡張機能のドキュメントの Options を参考に値を設定します。

Arduino 拡張機能 のドキュメントの Options の日本語訳

以下は Arduino 拡張機能の設定項目の説明です。簡単な日本語訳なので参考にしてください。(間違っていたらコメントにて指摘お願いします 🙇‍♀️)

オプション 説明 default 値
arduino.useArduinoCli Arduino CLI (true) を使用するか、Arduino IDE (false) を使用するか false
arduino.path Arduino インストールパス(カスタムバージョンを使用する場合に設定する) 自動的に検出される
arduino.commandPath 実行ファイルパス Windows: arduino_debug.exe、Mac: Contents/MacOS/Arduino、Linux: arduino
arduino.additionalUrls 追加のボードマネージャ URL 空(未設定)
arduino.logLevel CLI 出力のログレベル(info または verbose) info
arduino.clearOutputOnBuild アップロードや検証の前に出力ログをクリアする false
arduino.allowPDEFiletype 古いバージョンの Arduino の.pde ファイルを開くことを許可 false
arduino.enableUSBDetection USB 検出を有効にする true
arduino.disableTestingOpen シリアルポートのオープン状態を確認するテストメッセージの自動送信を無効にする false
arduino.skipHeaderProvider ヘッダーファイルの補完アイテムの提供を無効にする false
arduino.disableIntelliSenseAutoGen IntelliSense 構成の自動生成を無効にする false
arduino.analyzeOnOpen プロジェクトを開いたときに自動的に解析を実行する false
arduino.analyzeOnSettingChange ボード、設定、スケッチ設定が変更されたときに自動的に解析を実行する true

基本的に default 値のままで良いですが、"arduino.additionalUrls"には使用するボードマネージャの URL を記入します。
今回は、M5Stack Fire を使用するので esp32 の URL を記述しました。

また、C/C++ 拡張機能の設定もします。

settings.json
{
  ...
  "arduino.additionalUrls": [
    "https://dl.espressif.com/dl/package_esp32_index.json" // ボードマネージャの URL
  ],
  "arduino.disableIntelliSenseAutoGen": true,  // .vscode/c_cpp_properties.json ファイルが自動生成されないようにする
  "C_Cpp.intelliSenseEngine": "Tag Parser",
}

サンプルコードで動作確認

まずは、VSCode 右下の<Select Board Types>を押すとタブが開くので使用するボードを選択します。もし選択したいボードがないときは、前章のarduino.additionalUrlsを見直してみてください。

書き込みを行う方は<Select Serial Port>も選択しておいてください。

それでは、サンプルコードを使って動作確認を行います。左下のARDUINO EXAMPLESから使用したいものを選択します。

右上の画像の青で囲われているボタンから書き込み、緑で囲われているボタンからコンパイルのみをすることができます。

画面に小さな文字で"Hello World"が表示されました 🎉

[Warning] Output path is not specified. Unable to reuse previously compiled files. Build will be slower. 解決法

以下の警告が出ることがあります。

[Warning] Output path is not specified. Unable to reuse previously compiled files. Build will be slower. See README.

出力パスが指定されていません。以前にコンパイルしたファイルを再利用できない。ビルドが遅くなります。README を参照してください。

とのことなので、出力を記録するディレクトリを作成しボード選択時に自動生成される.vscode/arduino.jsonに指定します。

{
  "sketch": "HelloWorld.ino",
...
  "output": "./build"
}

参考文献

https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino
https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html

Discussion