試作3号機でかなり仕上がりましたが
M5camera が在庫限りということで,
後継機と思われる
Timer Camera X に変更しました(これも在庫が怪しいですが^^;).
カメラのピン配置が M5camera とは違いますが,記載の通りに合わせれば問題なく動きます(下記の表を参照).
ボード設定は M5camera のときは
[ESP32 Wrover Module]でしたが,
Timer Camera X は
[M5Stack-Timer-CAM]でないと書き込みできません.Upload Speed の設定かな?
モデル | 有効にするdefine | ボード |
---|---|---|
M5camera | CAMERA_MODEL_M5STACK_V2_PSRAM | ESP32 Wrover Module |
Timer Camera X | CAMERA_MODEL_M5STACK_PSRAM | M5Stack-Timer-CAM |
付属のブラケットを使えば M5camera と同じ位置に固定できます.
試作3号機の土台をそのまま流用しました.
ようやく見つけました.
Dabble というアプリです.
これに GamePad 機能が付いています.
入口のリンクがよくわからないので こちら
からどうぞ.Explore Other Modules(左ペイン)の Gamepad Module
に詳しく書かれています.ESP32 用のライブラリ(zip直リンクです)をダウンロードし,
Arduino IDE で[zip形式のライブラリをインストール]すれば,すぐに使えます.
スケッチ例の[DabbleESP32]→[03.GamePad]を書き込めば動作確認が可能です.
私物の iPhone8 と学校の古い iPad(MD513J/A iOS 10.3.2)で動作確認できました.
このアプリのおかげで,PCを経由したPython環境が不要になるだけではなく,そもそも物理的なゲームパッドが不要になるので,授業で使う学生人数分のゲームパッドを買う必要がなくなります.
iPhone だけではなく,Android 系でもリリースされているのも良いですね.
ただ,突然ダウンロードできなくなったりする可能性があるので,学校の iPad のある程度の台数にインストールしておこうと思います.
欲を言えばアナログスティックが左右2つほしかったです.まぁやむを得ないですね.
サンプルスケッチを公開します.今回はボタンでも動くようにしています.
M5mario_OV3660_iPad は Timer Camera X に書き込むスケッチです. ZumoMario_iPad は Zumo32U4 に書き込むスケッチです. 試作3号機ではノートPCをアクセスポイントにするよう変更しましたが, 操作性等々を考慮して試作2号機以前のように ESP32 自体がアクセスポイントになるよう,元に戻しました. iPad に[インターネット共有]がないバージョンだったためという理由もあります. M5mario_OV3660_iPad のスケッチで
#define SOFT_AP
が有効か無効かで簡単に切り替えできるように書いています. ほかに DabbleESP32.h が先頭にないと Arduino IDE がハングアップする現象がありましたが, それ以外は特段問題もなくスムーズに操作することができました.
最近の iPad ってスプリットビューというのが使えるんですね.おじさん知りませんでした.
これが使えればPCと同じように 1台の iPad でカメラ画像を表示させながらゲームパッドアプリでコントロール! なんてことが可能になります.
まさに理想的な動作環境です.
残念ながら古い iPad(MD513J/A)ではスプリットビューができないようなので,
新しい iPad を持っている方に協力をお願いし Dabble アプリをインストールしてもらいました.
ですが,ボタン系の入力が全く受け付けないようです.普通に起動(シングル表示に)してもダメっぽい.
たまたま古い iPad で動作しましたが,新しい iPad でうまく動かないのかな?
持ち主の問題?wwww おそらくアプリ側の問題かと思われます.
AppleStoreの最終更新履歴は 2020.04.30 なので,更新されることを願います.
スプリットビューができなくても,たとえば自分のスマホと貸し出すiPadを併用するとか,
学生2人1組にして 2台の iPad でカメラ表示とゲームパッドを分散させる,
など運用でカバーするのも手ですね.
20台程度の一斉動作でスムーズに動作するかがまだ検証できていません. 予算確保と兵隊を確保して検証しないと!