ゼロからはじめる：Arduinoを補完の効くVSCodeでプログラムを書けるようになるまで

# ゼロからはじめる：Arduinoを補完の効くVSCodeでプログラムを書けるようになるまで

![Arduino Uno Rev3](https://store-cdn.arduino.cc/usa/catalog/product/cache/1/image/520x330/604a3538c15e081937dbfbd20aa60aad/a/0/a000066_featured_1_2.jpg)


> ARDUINO UNO ([公式サイトより](https://store.arduino.cc/usa/arduino-uno-rev3))

ARDUINOは電子工作の定番のマイコンの１つで、公式からもArduino IDEと呼ばれる開発環境が提供されています。

![image-20200816140934010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/8ae43f1c-3b2f-bde4-5f68-224d4168c1cf.png)

> Arduino IDE ([公式サイトより](https://www.arduino.cc/en/main/software#download))

しかしこのIDEはコードの補完なく、普段VSCodeで補完機能に依存している身としてはとても困りました。



そこで今回の記事ではArduinoのコードをVSCodeを使って補完をバンバン効かせながら、快適に開発できるようになるまでの手順を紹介します。

![2020-08-16 14-21-18_Trim-arduino-vscode.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/754bf3ef-f1ee-899d-b21b-9d5b885aa6a9.gif)


> VSCodeの補完が効くので初心者でも簡単にコードが書きやすい！



## 用意するもの

ARDUINO UNO ([公式サイト](https://store.arduino.cc/usa/arduino-uno-rev3))とパソコンだけです。



## 手順

### ダウンロードするもの

- VSCodeをダウンロードします。([VSCode公式サイト](https://code.visualstudio.com/download))

![image-20200816142816095.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/388bcad0-f3b7-31e8-560c-7ec508fb39aa.png)




- Arduino IDE ([公式サイト](https://www.arduino.cc/en/main/software#download))をダウンロードします。

コードを書くためというよりは、ちゃんと接続できているかの確認やコンパイルに使います。VSCodeでコードを書く場合でもインストールされている必要があります。

### ダウンロードが終わったら

- VSCode, Arduino IDEを起動します。

![image-20200816143343766.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/0826dff6-d8b3-b804-a158-09756dd87a95.png)


> Arduino IDE起動後の画面


![image-20200816143422314.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/7f38fd4a-51c2-d0b6-b104-cda84b179a6f.png)

> VSCode起動後の画面



- ArduinoボードをUSBケーブルでパソコンとつなげます

![arduino_usb_connection.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/32c5f0b2-5353-28c2-73be-ec90d1833b1b.jpeg)

> 公式のArudionoUNOはUSBtypeAケーブルでした。



- 接続できているかArduino IDEで確認しましょう。

`Arduino IDE > Tools > Port` にArduino Unoと表示されていればOKです。

![image-20200816144054990.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/acfea71d-03bc-5f59-0ea5-10713e5f2341.png)



- VSCode EXTENSION (拡張機能) からPlatformIO IDEをインストールします。

![image-20200816144444071.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/a1a6285d-5fa0-8038-c2a3-54b20a667b27.png)

> [PlatformIO IDE](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide)

インストールは上のリンクをブラウザで開いて緑のインストールのボタンを押してもできますし、VSCodeのエディタから直接インストールすることもできます。

![2020-08-16 14-46-36_Trim-vscode-extension-platform.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/42c95fe4-eff5-aa29-a297-4e5b4522ec76.gif)

> VSCodeからEXTENSIONを検索しPlatform IO IDEをインストールすることもできます



インストールが完了したらVSCodeを再起動します。するとPIO Homeウインドウが自動的に起動すると思います。PIO HomeはVSCodeエディタ左下の🏠アイコンをクリックしても開くことができます。

![image-20200816145613444.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/f617af45-f9a2-6e7e-87c2-239e15856601.png)

> PIO Home



この画面からプロジェクトを作ったり、ライブラリをダウンロードしたりできます。これについては後に別の記事を書きたいと思っています。

今回はとりあえずテストプロジェクトを作成して、Arduino本体の基盤についているLEDを光らせることができるか試します。



- `PIO HOme > Quick Access > New Project` より新規プロジェクトを作成

![image-20200816150001385.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/289de5e0-c6a1-938f-c5db-8b1f87fa16db.png)


> 右下のFinishボタンを押すとプロジェクトが作成されます。



- 作成されたプロジェクトの src > main.cpp ファイルを編集し、基盤のLEDを光らせる

プロジェクトが作成されるとあたらしいVSCodeのウインドウが開きます。`include, lib src`などのファイルが作成されていると思いますが、基本的には`src`フォルダ内にある`main.cpp`ファイルにコードを書いていきます。

![image-20200816150402041.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/6651ec9f-9b02-3171-8cea-cdce7f08dfc8.png)



今回はArduino基盤本体のLEDを光らせて、ちゃんとVSCodeでArduinoを制御するプログラムが書けているか確認します。

main.cpp ファイルを以下のように編集しましょう。

```cpp
#include <Arduino.h>

void setup()
{
  // put your setup code here, to run once:
  pinMode(LED_BUILTIN, OUTPUT); // 基盤のLEDを使用することを宣言
}

void loop()
{
  // put your main code here, to run repeatedly:
  digitalWrite(LED_BUILTIN, HIGH); // 基盤LEDの電圧をあげる(LEDが光る)
  delay(500);                      // 500ms光らせた状態を維持
  digitalWrite(LED_BUILTIN, LOW);  // LED電圧を下げる(LEDが消える)
  delay(500);                      // 消えた状態を維持
}
```

コードがかけたらVSCodeウインドウの左下にある☑アイコンをクリックしてでBuild, そのとなりの→アイコンで基盤にアップロードします。

![image-20200816151454505.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/b0b68920-0b8c-5a35-0209-aab6dc68a379.png)


> アイコンの場所



ちなみにこのアイコンたちはArduino IDEのVerfy, Uploadアイコンと対応しています。

![image-20200816152524329.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/f08de83a-e3cb-0233-831b-f1a62c61e966.png)




Buildアイコンを押し、コードに問題がなければBuild SUCCESSと表示されると思います。

![image-20200816151623102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/f1032da2-6e36-9504-b75c-e489b2769c08.png)


> SUCCESSと表示されればコードは正しくコンパイルできたということです。



Uploadアイコンを押すとArudiono基板にコードがアップロードされます。

![image-20200816151749002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/9c07b1c9-0ab8-9760-190f-06b24dbff6cd.png)


> こちらもSUCCESSと表示されればOKです。



正しくアップロードができていれば、Arduinoの基盤のLEDが0.5秒間隔で点滅しているはずです。

![arduino_usb_connection.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/8c19ad15-b027-30ff-d36f-a00f77070edb.jpeg)


> 基盤の13番ピンの近くにあるLEDが点滅していれば成功です



## まとめ

ArduinoのプログラムをVSCode上で補完を効かせながら書く環境を作りました。

コードを書く以外にもVSCode上からライブラリをダウンロードしたり、使用基盤の設定なども可能なので時間があればそれらについても今後記事にしていく予定です。

Arduinoは今まで電子工作したことがない方でも学習コストが低く、教材も豊富なので是非挑戦してみて下さい。

![image-20200816153256643.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/472945/bd093269-abef-f3b8-82d8-70dee58cb64f.png)


> [PROJECT HUB](https://create.arduino.cc/projecthub) にはさまざまなArduinoを用いたプロジェクトが公開されています。