LoginSignup
16
17

More than 5 years have passed since last update.

ESP32でゲームを作ってみた

Last updated at Posted at 2017-04-24

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の移植です。素晴らしいコードです。

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17