MacでM5StickC HelloWorld


CO2測定器作りたい！！となったので、まずはHelloWorldでおためし。

# まずはArduino IDEでHello World
## インストール
色々書こうと思ったものの、下記のチュートリアルの内容で無事HelloWorldまでいけた。

https://docs.m5stack.com/#/ja/quick_start/m5stickc/m5stickc_quick_start_with_arduino_Windows

Macでやったが、Windowsの画面とほぼ変わらなかったので大丈夫だった。

## 設定
上記のページでインストールした後に設定する項目は以下の項目くらい。

 * メニュー -> ツール -> ボード を **M5StickC** にする
 * メニュー -> ツール -> シリアルポート をM5StickCのものにする
	 * BluetoothやWifiのものも表示されるっぽいので、M5StickCを刺す前と挿した後で増えたやつを指定する。


その後はスケッチ例というsnippet集があるので色々漁ることができる。

 * メニュー -> ファイル -> スケッチ例 -> M5StickC 

とりあえずは **Basic** 以下にあるスケッチを開いて書き込んで色々試してみるのが良い感じ。


# VSCodeで補完を効かせましょう
これで無事M5StackCでの開発はできるようにはなったけど、Arduino IDEのエディタは保管が効かないので効率が上がらないのでVSCodeの拡張で補完を利くようにする。

## 拡張をインストール

VSCodeの拡張のタブで「arduino」で検索、Microsoftのやつをインストール。

## 補完の設定
次に補完を効かせるための設定をsetting.jsonに追記。
inoファイルはC++なのでC++でintellisenceが動くように設定。

```
  "C_Cpp.intelliSenseEngine": "Tag Parser",
```

## ライブラリのパスを通す
ここでパスを通さないと保管が効かなかったり、includeでエラーが出たりします。

散々どうやるか分からなくてハマったんですが、基本的にはVSCodeで動くようにする設定はVSCodeの拡張の中の機能で設定を生成してくれるので、「inoファイルだけ持ってきて、そのほかの設定ファイルはVSCodeの拡張の機能で生成する」のが正しいっぽいです。

まずは `HelloWorld.ino` のみが居る状態にする。

![スクリーンショット 2020-05-12 21.16.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/4d07dfd8-0b52-70f9-5320-7d0928a1de4d.png "スクリーンショット 2020-05-12 21.16.51.png")

F1のクイックメニューから `Arduino: Initialize` を実行する。

![スクリーンショット 2020-05-12 21.17.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/3955ace6-5ed5-e854-220b-33eaed55690a.png "スクリーンショット 2020-05-12 21.17.10.png")

そうするとboardの選択が出て来るので `M5Stick-C` を選択

![スクリーンショット 2020-05-12 21.17.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/9bf9685a-7382-02ed-6205-efdba5c4dc5b.png "スクリーンショット 2020-05-12 21.17.29.png")

その後、下部のメニューバーにある `<Select Board Type>` と `<Select Serial Port>` をArduino IDEで設定したやつと同じものを設定。
（AWSのは気にしないでください）

![スクリーンショット 2020-05-12 21.20.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/e76266da-0306-c2af-8efc-b5f33d893f49.png "スクリーンショット 2020-05-12 21.20.49.png")

設定後はこんな感じ。

![スクリーンショット 2020-05-12 21.21.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/cda68500-e9ed-b17f-3066-81f076dda3fb.png "スクリーンショット 2020-05-12 21.21.55.png")

その後再度クイックメニューから `Arduino: Library Manager` を実行。

![スクリーンショット 2020-05-12 21.26.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/6db09478-dd30-53c0-7c9a-ef5aed012956.png "スクリーンショット 2020-05-12 21.26.11.png")

`m5stick` で検索し、`Include Library` を選択すると、`HelloWorld.ino` にinclude文を、`c_cpp_properties.json` にpath設定を足してくれます。

![スクリーンショット 2020-05-12 21.27.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/8cd168f9-267b-e198-e2d1-83fcb821ef3d.png "スクリーンショット 2020-05-12 21.27.20.png")

![スクリーンショット 2020-05-12 21.29.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/e032630b-8497-3ca9-6f34-079a807e6221.png "スクリーンショット 2020-05-12 21.29.10.png")

ここまでやると補完も効くようになってます

![スクリーンショット 2020-05-12 21.33.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/18969c95-1f51-71cc-1239-19d5ee16da79.png "スクリーンショット 2020-05-12 21.33.19.png")

後はクイックメニューの `Arduino: Upload` で書き込みができるのでレッツ開発！！

![スクリーンショット 2020-05-12 21.38.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53128/19044bfa-62c9-165c-149e-271506b8f31f.png "スクリーンショット 2020-05-12 21.38.14.png")


# まとめ
M5StickCのHelloWorldが思ったより一瞬でできてびっくりした。
過去にArduinoを触ったことはあったんですが、こんなに簡単ではなかった気がした。
オールインワンは便利でよいです。これから色々いじっていきます。