最初のプログラム

まずは簡単なプログラムを作成してみましょう。

ここでは、最初のプログラムとして「シリアル通信」のプログラムを作ることにします。シリアル通信についてのより詳しい説明は「STEP04 シリアル通信」で行いますが、とりあえずは「マイコンからPCに文字列を送るプログラム」と考えておきましょう。

以下は、1秒おきにシリアルモニタに「Hello, world!」と出力するプログラムを作成する例です。

PlatformIOの設定

プロジェクトを新規作成したら、「platformio.ini」に「monitor_speed = 115200」と追記します。この設定が無い場合、シリアルモニタ上で文字化けが起こることがあります。

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
Code language: TOML, also INI (ini)

最小限のプログラム

エクスプローラで「src」→「main.cpp」を開いてみましょう。これがメインのプログラムファイルです。

プロジェクト作成直後には、main.cppにはプログラムの雛形となるコードが書かれています。以下は初期状態でのmain.cppのコード例です(実際のコードはPlatformIOのバージョン等により異なってくる場合があります)。

#include <Arduino.h>

// put function declarations here:
int myFunction(int, int);

void setup() {
  // put your setup code here, to run once:
  int result = myFunction(2, 3);
}

void loop() {
  // put your main code here, to run repeatedly:
}

// put function definitions here:
int myFunction(int x, int y) {
  return x + y;
}
Code language: Arduino (arduino)

プログラムのコードは、原則として「半角英数字」「半角記号」「半角スペース」「改行」のみが使用可能であり、上記コードもこれらのみで書かれています。

それでは、VSCodeの画面右上の「build」(画面右上のチェックマーク)をクリックし、このプロジェクトのビルド(コンパイルおよび実行ファイルの作成)が行えることを確認しましょう。画面下のターミナルに「SUCCESS」とのメッセージが表示されればビルド成功です。

ビルドボタン(VSCodeの画面右上)

ビルド成功時のメッセージ

なお、上記コードには適正なプログラムとして最小限必要なコードの他に、雛形として便利なコードがいくらか含まれています。最小限必要なコード以外を除去すると、以下のようになります。

#include <Arduino.h>

void setup() {
}

void loop() {
}
Code language: Arduino (arduino)

このコードもビルドできることを確認しておきましょう。

シリアル通信のプログラム

それでは、「1秒おきにシリアルモニタに「Hello, world!」と出力するプログラム」を作ってみましょう。

「main.cpp」を以下のようにコーディングしましょう。詳しい解説は後のSTEPで行いますので、まずはこの通り正確に書いてみましょう。

#include <Arduino.h>

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello, world!");
  delay(1000);
}
Code language: Arduino (arduino)

コーディングには「半角英数字」「半角記号」「半角スペース」「改行」のみを使いましょう。それ以外の文字(全角スペース等)を使うとエラーになる場合があるのでご注意ください。

コーディングが完了したら、VSCodeの画面右上の「Build」(チェックマーク)をクリックし、プロジェクトのビルド(コンパイルおよび実行ファイルの作成)を行います。ターミナルに「SUCCESS」とのメッセージが表示されればビルド成功です。

プログラムのマイコンへの書き込み

プロジェクトのビルドに成功したら、マイコンにプログラムを書き込みましょう。

まずは、PCとマイコンモジュールをUSB Micro-Bケーブルで接続します。

ESP32マイコンへのUSB Micro-Bケーブルの接続

VSCodeの画面右上の「Upload」(矢印マーク)をクリックし、マイコンにプログラムをアップロード(書き込み)します。ターミナルに「SUCCESS」とのメッセージが表示されればアップロード成功です。

アップロードボタン(VSCodeの画面右上)

アップロード成功時のメッセージ

VSCodeの画面右上の「Serial Monitor」(コンセント状のマーク)をクリックし、シリアルモニターを表示します。VSCodeの画面下部の「ターミナル」に1秒おきに「Hello, world!」が出力されることを確認しましょう。

シリアルモニターの表示

シリアルモニターへの出力

マイコンのリセット

以上が確認できたら、マイコンモジュールのENボタンを押してマイコンをリセットしてみましょう。リセット後、ターミナルにまずはマイコンに関する情報が出力され、その後「Hello, world!」が1秒おきに出力されることを確認しましょう。

マイコンモジュールのENボタン

リセット後の出力