M5Stackにサンプルゲーム「FlappyBird」を書き込む手順とエラーの対処法

M5Stackは、液晶画面やボタンがあらかじめ備わっており、手軽に扱いやすいマイコンモジュールです。

今回は、M5Stackのライブラリに同梱されているスケッチ例(サンプルプログラム)の中から、「FlappyBird」をM5Stack Basicに書き込む手順を紹介します。また、現在の開発環境において遭遇しやすいコンパイルエラーや書き込みエラーの対処法についても触れておきます。

1. スケッチ例から「FlappyBird」を開く

Arduino IDEでは、ライブラリのインストール時にサンプルプログラムが同梱されていることがあり、これを「スケッチ例」と呼びます。M5Stackのライブラリにもいくつかのスケッチ例が用意されています。

メニューから以下の順に選択することで、プログラムを呼び出すことができます。

  • [ファイル] → [スケッチ例] → [M5Stack] → [Games] → [FlappyBird]

選択すると新しいウィンドウが開き、対象のプログラムが自動的に読み込まれます。

2. 発生しやすいエラーと対処法

そのまま「検証」や「書き込み」を実行した際、環境によってはエラーで停止してしまうことがあります。もし進行が止まってしまった場合は、以下の原因と対処法を参考にしてみてください。

エラー①:コンパイル時のエラー

検証時に rom/miniz.h: No such file or directory と表示されるケースです。

  • 原因: ESP32ボードパッケージの新しいバージョン(V3.x系)と、M5Stackライブラリの仕様に不一致が生じていることで発生します。
  • 対処法(バージョンの変更):
    1. Arduino IDEのメニューから [ツール] → [ボード] → [ボードマネージャ…] を開きます。
    2. 左側の検索窓に esp32 と入力し、「esp32 by Espressif Systems」を探します。
    3. バージョンを 2.0.17 などの2.0.x系に変更し、インストールします。
    4. ※M5Stack公式のパッケージを使用している場合は、同様にボードマネージャで m5stack を検索し、こちらも 2.0.9 などの2.0.x系に下げることで解消されることが多いです。

エラー②:書き込み時のエラー

コンパイルは成功しても、書き込みの途中で Failed uploading: uploading error: exit status 2 (Unable to verify flash chip connection) と表示されるケースです。

  • 原因: パソコンとM5Stack間の通信速度が環境に合っておらず、データ転送が不安定になっている可能性があります。
  • 対処法(通信速度の変更):
    1. メニューの [ツール] を開きます。
    2. [Upload Speed](通信速度)の項目を確認します。
    3. デフォルトで 921600 などの高速な数値になっている場合、より安定しやすい 115200 に下げてみます。
    4. 設定変更後、再度書き込みを試します。 ※速度を下げても解消しない場合は、USBハブを使わずに直接接続する、または別のUSBケーブルへの交換を試してみてください。

3. M5Stackへの書き込みと実行

設定を調整し、書き込みが始まると、画面下の出力エリアに進捗のパーセンテージが表示されます。最後に「Leaving… Hard resetting via RTS pin…」といったメッセージが出れば、書き込みは完了です。

自動的にM5Stack Basicが再起動し、画面にゲームが表示されます。本体のボタンを使って操作の確認ができます。

おわりに

M5Stackのライブラリには、今回紹介したもの以外にも、いくつかのスケッチ例が用意されています。

開発時に上手く動作しない時は、ボードのバージョンを2.x系に下げてみたり、Upload Speedを落としてみたりすることで解決する場合があります。

コメント