# 事前準備

M5StickC Plus <https://www.switch-science.com/catalog/6470> に、プログラムを書き込むためには、 開発環境（Arduino IDE）のインストールと、設定が必要になります。

注釈

M5StickC Plusは、2017年に発売されたM5StickC の後継版です。ディスプレイサイズと解像度、バッテリ容量が向上しています。また、ブザーも追加されているため、簡単な音を本体のみで鳴らすことができます。

注釈

UIFlowという、Webベースのブロックプログラミング環境もありますが、本実験では柔軟性と拡張性を重視し、Arduinoを使用します。ArduinoではC言語でプログラムを記述します。

## 開発環境（Arduino IDE）のインストール

Arduino IDEは、Arduinoというマイコンボード用に開発され、長年使われている開発環境です。IDEとは、Integrated Development Environment の略で、日本語では統合開発環境と呼びます。有名なIDEには、Microsoft Visual Studio [1] や Eclipse [2] があります。

[1] | おもにWindows向けの開発環境です。ちなみに、Visual Studio Code は、最近利用者が増加しているコードエディタです。

[2] | おもにJava向けの開発環境です。「イクリプス」と発音します。

注釈

初心者向けM5Stackの始め方（ArduinoIDE編） も参考になります。ただし、M5Stackではなく、M5StickC/CPlus特有の注意点があります。

### Windowsの場合

1. Microsoft Store で、Arduino IDE を検索してインストールする。
2. M5StickCPlusをUSB接続するために、FTDI Virtual COM Port (VCP) Driver Setup File をダウンロードしてインストールする。ちなみに、他のOS用のドライバやバージョンはこちら：<https://www.ftdichip.com/Drivers/VCP.htm>

### MacOS、Linuxの場合

1. Arduino IDEのダウンロードサイト <https://www.arduino.cc/en/Main/Software> から、自分のOSに適合したファイルをダウンロードする。
2. インストールする。

Arduino IDEと、USB接続用のドライバ（Windowsのみ）をインストールしたら、次のステップ（Arduino IDEの設定）にすすみます。次のステップでは、Arduino IDEで、ESP32用のプログラムをコンパイルしたり、M5StickCPlusのサンプルプログラムを利用したりするために、ボードとライブラリをインストールします。

## Arduino IDEの設定

### 追加のボードマネージャーのURLを設定する

1. Arduino IDEを起動する。

2. 「ファイル」→「環境設定」→「追加のボードマネージャーのURL」に、 `https://dl.espressif.com/dl/package_esp32_index.json` を設定する。以下のテキストエリアの右上の四角アイコンを押すと、URLをコピーできます。:

       https://dl.espressif.com/dl/package_esp32_index.json

### esp32のボードを追加する

「ツール」→「ボード…」→「ボードマネージャ…」をひらき、右上のテキスト入力フィールドに、`esp32` と入力して絞り込み、「インストール」を押す（図 1 ）。

図 1 ボードマネージャにて``esp32``で絞り込んでいる画面

### M5StickCPlusライブラリをインストールする

「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理…」で、ライブラリマネージャをひらく。

右上のテキスト入力フィールドに、`m5stickcplus` と入力して絞り込み、M5StickCPlus の 「インストール」を押す（図 2）。

図 2 ライブラリマネージャにて``m5stickcplus``で絞り込んでいる画面

### M5StickCPlusライブラリの確認と、サンプルソースコードの表示

図 3 に示すように、「ファイル」→「スケッチ例」→「互換性なし」→「M5StickCPlus」→「FactoryTest」をえらぶ。

### ボードの選択

図 4 に示すように、「ツール」→「ボード: Arduino Uno」→「ESP32 Arduino」→「M5Stick-C」をえらぶ。

### ビルド

図 5 に示すように、✔️表記された丸ボタン（一番左）をおして、ビルド（ソースコードのコンパイルとリンク）をする。

図 5 ビルド

注釈

デフォルト（インストールしただけの初期状態）では、コンパイルに非常に時間がかかります。すこし手間はかかりますが、 Arduino IDEのビルドを速くする｜オブジェクトファイルの出力先を固定する をやっておくと、ビルド時間が短縮できます。

警告

M5StickCPlus本体がない事前準備の段階で、できるのは、ここまでです。 以降は、本体をUSB接続したあとで、行う作業になります。Windows環境でビルドできない場合は、いちどArduino IDEをすべて終了し、Arduino IDEを管理者権限で起動しなおしてください。管理者権限で起動するには、アイコンを右クリックして、メニューから選択します。

### シリアルポートの選択

本体をUSB接続したあと で、 図 6 に示すように、「ツール」→「シリアルポート」で、書き込むデバイスが接続されているシリアルポートを選択する。Windowsの場合は、COM3のように、`COM + 数字` で表記される。Macの場合は、`/dev/cu.usbserial-XXXXXXXXXX` のように表記される。

図 6 シリアルポートの選択

注釈

Windowsを使っていて、シリアルポートが表示されないときは、Windowsの場合 で指示した、FTDI Virtual COM Port Driver がインストールされているか、確認してみてください。本体を挿したときに、PCの「デバイスマネージャ」 （スタートメニューのdevice managerで検索）で、「ポート（COMとLPT）」に表示されていれば、ドライバはインストールされていますので、Arduino IDEを再起動してください。

### プログラムの書き込み

「→」のアイコンボタンをおすと、プログラムの書き込みを開始します。

警告

書き込みに失敗するときは、環境設定で、「より詳細な情報を表示する」にチェックをいれてみてください。原因がすこしわかりやすくなります。

## バージョン情報

- Arduino IDEのバージョン： 1.8.13 (Windows Store 1.8.42.0)
- ESP32 for Arduino のバージョン：1.0.5
- M5StickCPlus ライブラリのバージョン: 0.0.1