Help us understand the problem. What is going on with this article?

Arduino IDEつらい・・・、Visual Studio Codeでスケッチを書く方法

More than 3 years have passed since last update.

「Arduino IDE」はArduinoでの統合開発環境として、スケッチをプログラミングする時にお世話になっている方も多いと思います。

しかし、まあ、使いにくい・・・
コード量が増えていくと何を書いているのか分からなくなります・・・
できれば普段使っているようなエディターでコードは書きたいところです。

そこで、
Microsoftが作っている拡張機能『Visual Studio Code Extension for Arduino』を使って、
Visual Studio Codeでスケッチを書けるようにしました。

先日、オープンソース化されましたね!
https://blogs.msdn.microsoft.com/iotdev/2017/07/06/visual-studio-code-extension-for-arduino-is-now-open-sourced/
https://github.com/Microsoft/vscode-arduino

インストール

Arduino IDEをインストールする

「Arduino IDEは使わないって言ったじゃないか!」と思うかもしれませんが、
内部的にはArduino IDEの機能が使われています。もし持っていなければダウンロードしてください。

スクリーンショット 2017-07-17 14.48.05.png
https://www.arduino.cc/en/main/software#download

『Visual Studio Code Extension for Arduino』をインストールする

Visual Studio Codeを開き、拡張機能からArduinoと検索しExtensionをインストールします。

スクリーンショット 2017-07-17 16.54.17.png
Microsoftのvscode-arduinoとなっているやつ

簡単な使い方

基本的に command + shift + P でコマンドパレットを開き実行します。

スクリーンショット 2017-07-17 16.57.56.png
Arduinoと検索すると、拡張機能のコマンドが増えているはず

サンプルコードを開いてみる

試しに Arduino: Examples を開いてみると、Arduino IDEに入ってたいつものサンプルコード達が表示されます。
Build-In Examples/01.Basics/Blink を選択

スクリーンショット 2017-07-17 17.03.33.png

開くとこんな感じ、Lチカサンプルです。

スクリーンショット 2017-07-17 17.08.00.png

ボードを選択

右下のステータスバーにある<Select Board Type>と書かれている部分
もしくは command + shift + P => Arduino: Board Config
からマイコンボードの選択画面が開きますので、使用するボードを選択します。

スクリーンショット 2017-07-17 17.11.30.png
今回はArduino Unoを使用

シリアルポートを選択

右下のステータスバーにあるCOM1と書かれている部分
もしくは command + shift + P => Arduino: Select a serial port
から通信に使用するシリアルポートを選択します。

スクリーンショット 2017-07-17 17.18.44.png
今回はUSBポートを使用

Arduinoに書き込む

command + option + U
もしくは command + shift + P => Arduino: Upload
を実行すると、Arduinoへスケッチを書き込むことができます。

スクリーンショット 2017-07-17 17.34.21.png
一瞬Arduino IEDが表示される。

Lチカ画像
当たり前ですが、ちゃんとLチカしました!

シリアル通信でデバッグ

Arduinoのデバッグにはシリアル通信でログを確認するのが一般的だと思います。
VS Codeだけでシリアル通信のやり取りも可能です。

ボーレートを設定

右下のステータスバーに書かれている数字の部分(初期値は9600でした)
もしくは command + shift + P => Arduino: Change Board Rate
でシリアル通信速度(ボーレート)を設定

スクリーンショット 2017-07-17 17.49.31.png

コードの修正

先程のBlinkを少し修正して、シリアル通信のコードを書き加えました。
このコードを command + shift + P => Arduino: Upload で再び書き込みます。

Blink.ino
void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.println(1);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  Serial.println(0);
  delay(1000);
}

Onだったら1、Offだったら0が交互に出力されるはず

シリアルモニターを表示

右下のステータスバーに書かれている電源のプラグみたいなアイコン
もしくは command + shift + P => Arduino: Open Serial Monitor
でシリアルモニターが表示されます。

スクリーンショット 2017-07-17 17.58.08.png
これで結構捗る!

接続中はアイコンが☓になっているので、クリックするとCloseされます。

設定ファイル

.vscode/json:arduino.jsonの中に設定ファイルが出来上がっている。

.vscode/json
{
    "sketch": "Blink.ino",
    "port": "/dev/cu.usbmodem1421",
    "board": "arduino:avr:uno"
}

ここに設定が保存されているので、毎回設定し直す必要がなくて便利!

おわり

VerifySend Text to Serial Port などもあり、Arduino IDEにある機能は一通り揃っているようです。
書き込みがワンクリックで出来ないのがちょっと不便ですが、概ね良い感じです。
Library Manager はこっちの方が見やすい

ちなみにcommand + shift + PF1 でも開けます

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした