Edited at

ESP32でゲームを作ってみた

More than 1 year has passed since last update.

DSC_0036.JPG

倉庫番

DSC_0009.JPG

テトリス

DSC_0011 1.JPG

15パズル

DSC_0008 2.JPG

パックマン

表示はAitendoの液晶モジュールを使用しました。操作はAndroidケータイからWiFiを通じて無線で行う、またはUSBからSerial Portを通じて行います。esp32については自分の動画 【ゆっくり解説】 WiFiの使い方2 【電子工作】で紹介しています。


準備

以下のものを用意します。


配線

ESP32と液晶を以下のように配線します。液晶基板裏面の電源設定用ジャンパーパッドJ1/J2は、J2をショートさせることによって5V電源の設定にします。

キャプチャ.PNG

DSC_0010.JPG


プログラム

開発環境はArduino-esp32を使います。プログラムは以下になります。

esp32_ILI9328_Sokoban

esp32_ILI9328_Tetris

esp32_ILI9328_15Puzzle

esp32_ILI9328_Pacman

以下の自分の動画と、DrNCXCortexさんのコードを参考にしました。

【ゆっくり解説】 倉庫番の作り方 【ゲームプログラミング】

【ゆっくり解説】 テトリスの作り方 【ゲームプログラミング】

【ゆっくり解説】 15パズルの作り方 【Androidプログラミング】

GitHub - Pacman Game for Arduino Due


コントローラの設定

Serial Portを使うときはテンキーの8(↑ボタン), 6(→ボタン), 2(↓ボタン), 4(←ボタン) と zキー(Aボタン), xキー(Bボタン)を使います。

AndroidケータイではWiFi TCP/UDP ControllerでボタンにSerial Portのときと同じASCIIコードを充てます。TCP/UDPはUDP、IPは192.168.4.1、Portは10000に設定します。これらの設定は手動でも行えますが、プログラムのフォルダにあるWiFi_UDP_Controller_config.txtをAndroidのフォルダマネジャーでホームフォルダ/Controller Backup に置き、WiFi TCP/UDP Controllerでロードすることでも行えます。

2ffbd2b4-76d9-7c82-12b6-974a678a7f3a.jpeg


ゲームについて

倉庫番: ミクダヨーが主人公です。アニメーション作成にはMMDを使いました。全10面

テトリス: シンプルなテトリスです。プログラミングの学習にもベスト。

15パズル: picture.hの240×320ピクセルの16ビット画像データを変えれば絵を変えれます。

パックマン: Pacman Game for Arduino Dueの移植です。素晴らしいコードです。