[電子工作]GS-0004:ESP32-S3 4人打ち麻雀ゲーム機(点数計算機能搭載)ESP32-S3 2.8型LCDタッチパネルボード+麻雀ゲームIoT(WiFiやBluetooth)の学習やソフト開発に最適価格:4500円在庫品はメルカリ(匿名で購入できます)で「GS-0004」で検索購入下さい。ESP32-S3評価セット(GS-0004とGS-0005のセット)もございます。受注生産(料金振込後、製作するため多少納期が必要です)で良ければ、 hge00744@nifty.ne.jp にメール下さい。折り返し、納期、金額(割引要相談)、振込先を回答致します。 保証内容はこちら。
GS0004ボードの特徴IoT(WiFiやBluetooth)の学習やソフト開発に最適・ESP32-S3-WROOM-1-N16R8を搭載し、プログラムの書き換えやデバッグが可能。(技適あり、16MBフラッシュメモリ、8MB PSRAM、USBシリアル変換LSIとしてCH340N搭載)・無線LAN、Bluetooth、SPI、PWMなどの機能を評価可能。・アナログジョイスティックと4つのキー(1つはリセット専用)を搭載。・2.8型、感圧式タッチパネル付き、240x320画素、液晶パネル搭載。・SDカード(32GB以下)スロット搭載。(ArduinoIDEのサンプル使用可)・圧電スピーカを1個搭載。PWM制御。可変抵抗により音量調整可能。・単3乾電池4個で動作可能。(電池は付属しません)・サンプルプログラムとして、Bluetoothキーボード、電卓、各種ゲームなどを準備。・秋月電子、共立エレショップなど、信用できる販売店より部材調達。・鉛フリー半田使用。
麻雀ゲームの特徴本格4人打ち麻雀 銀河☆麻雀をGS-0004に移植・本格的4人打ち麻雀。・イカサマ無しの思考ルーチンを持つコンピュータと対戦。(強い/ふつう/弱いの3段階)・一般的な役はほぼ網羅。・チー及びカンに複数の候補がある場合、牌選択可能。・ノーテンでのリーチや上がりは、チェックして禁止。・フリテン、役無しによるチョンボあり。・点数計算機能搭載。(刻子/順子の簡単入力機能あり)注意.液晶パネルには保護シートが貼られていますので、購入後、剥がして下さい。 注意.基板形状、搭載部品(特にスイッチの色など)は、出荷時期によって変更される 場合があります。但し、ソフト互換性は確保し、基本仕様は変更しません。
サンプルソフト一覧(サンプルは予告なく変更します)ーーーー目次ーーーー 1.仕様2.ソフト開発環境(1)Arduino IDEのインストール (2)ライブラリの準備 (3)ボードへのプログラム書き込み方法 3.サンプルプログラム(6)ゲーム:3Dシューティング(私が作成したオリジナルゲーム) (10)WebServer(ArduinoIDEのサンプル) 4.各種資料5.トラブルシューティングーーーーーーーーーー 1.仕様
2.ソフト開発環境(1)Arduino IDEのインストール まず、Arduino IDEをインストールしてください。 その後、ファイルー環境設定ー追加のボードマネージャのURL に https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json を追加し、ツールーボードのボードマネージャで「esp32」を検索し、インストールします。 詳細は、Arduino IDEのESP32開発環境を参考にして下さい。
(2)ライブラリの準備 ライブラリとして、次のものを準備しています。 ・LCDパネルの表示ライブラリ Adafruit_ILI9341:Adafruit社の単純描画ライブラリを改変。(フレームバッファ無し。描画しているのが見える。) ILI9341_game:フレーム単位表示切り替えライブラリ(フレームバッファあり。アニメーションできる。) ・グラフィックライブラリ Adafruit_GFX_Library:Adafruit社のライブラリ ・タッチパネルライブラリ XPT2046_Touchscreen:タッチパネルのライブラリ ・BLEライブラリ ESP32_BLE_Arduino:Bluetoothキーボードを実現するためのライブラリ 次のファイルをダウンロードし、 Windowsの場合、「PC\ドキュメント\Arduino\libraries\」の下 Linuxの場合、「~/Arduino/libraries/」の下 にコピーする。 (3)ボードへのプログラム書き込み方法 (1)でインストールしたArduino IDEを起動し、ESP32S3用のプログラムを開きます。 ツールを、 ボード:ESP32S3 Dev Module UploadSpeed:921600 Upload Mode:UART0 FlashSize:16MB PSRAM:OPI PSRAM シリアルポート:ボードが繋がっているポートを選択(分からない時は抜き差しして確認) 書き込み装置:esptool、USBtinyISP に設定します。 ボードのUSRボタンを押したまま、RSTボタンを押して離し、最後にUSRボタンを離します。 これで、ESP32-S3はライト状態になります。 Arduino IDEの→ボタンを押すとコンパイルされ、プログラムの書き込みが開始されます。 終了したら、今度はRSTボタンだけを押して離すか、電源を入れ直すと、プログラムが起動します。 3.サンプルプログラム
説明:タッチパネルによる10進/16進対応関数電卓です。小数点以下も16進表記 できる点がポイント! ・10進/16進の切り替え可能。 ・メモリ機能あり(「M=」でメモリに記憶。「M」でメモリの呼び出し。) ・バックスペースによる修正機能あり。(「<」)
説明:タッチパネルを利用したBluetooth対応のキーボードです。Bluetoothに対応した機器で 「ESP32_keyboard」と接続することで使えるようになります。 ・半角/全角やShift/Ctrl/Altも使用可能。Ctrl+Alt+Delも入力可能。 2024' 6/9PCやタブレットとBluetooth接続して使用
説明:WiFiでPCやスマホと接続し、対戦できるオセロです。 まず、下記ファイルをダウンロードし、Arduino IDEでファイルを開き、 const char* ssid = "yourssid"; const char* password = "yourpasswd"; をご自分のネット環境の、SSID及びパスワードに変更下さい。そして、LCDパネルに、 Connecting to yourssid WiFi connected. IP address: 192.xxx.xxx.xxx のように表示されれば接続OKです。 次にPC/タブレット/スマホ等のブラウザから、「http://192.xxx.xxx.xxx」にアクセスすると、 上の写真の右側のような画面が出ますので、画面に従って、ボタンを押すと、オセロが できます。 思考ルーチンは、昔、PCで作ったものを移植。Computer4は私と互角の強さです!
説明:私が作成したオリジナルゲームです。一番上のバーが消えるまでに全てのフルーツを 取って、ゲートに入れば1面クリア。なお、全てのフルーツを取るまで、ゲートは現れません。 左右で移動し、右ボタン(A)でジャンプします。
説明:私が作成したオリジナルゲームです。30年以上前に、PCで作成したソフトを移植。 迷路の地図は、展開したフォルダーの中の「*.dat」で、SDカードに書き込んで本体に セットする必要があります。 ・左右で回転、上で前に進み、下で後退。 ・行き止まりの黄色のゲートに入ればクリア。 ・途中、同じような景色で迷子になるので、緑や青のゲートを頼りにゴールを目指して下さい。 ・時間制限も無いので、気長にやって下さい。 2024' 6/9「*.dat」をSDカードのトップに書き込み、本体にセット
(6)ゲーム:3Dシューティング(私が作成したオリジナルゲーム)
説明:私が作成したオリジナルゲーム。上記の3D迷路の3D表示ルーチンを使った3Dポリゴンの シューティングゲーム。3Dポリゴンの塗りつぶしは時間がかかりますが、自作のライブラリで 高速化を図っています。 注意.最初に公開したソフトは、端子番号の設定を間違えていました。申し訳ありません。
説明:youtubeを見ながら、気合を入れて作ってみました。結構、再現出来たかな。 右ボタン(A)を押すとゲームがスタートし、後はアナログジョイスティックだけで 操作します。
説明:youtubeを見ながら、気合を入れて作ってみましたが、再現できませんね。 右ボタン(A)を押すとゲームがスタートし、アナログジョイスティック、右ボタン(A) で空中、左ボタン(B)で地上を攻撃できます。 なお、SDカードが必須で、下記ファイルを展開し、dataフォルダーのファイルを SDカードのルートにコピーして、本体にセットして下さい。 注意.SDカードの初期化をミスする場合がありますので、エラー発生時は、 SDカードの抜き差しやリセットを何度か行って下さい。 2024' 10/20dataフォルダーのファイルをSDカードのトップにコピーし、本体にセット
(9)ゲーム:本格4人打ち麻雀(銀河☆麻雀を移植)
説明:自作のWindows用ソフト銀河☆麻雀を移植 ・イカサマ無しの思考ルーチンを持つコンピュータと対戦します。 (強い/ふつう/弱いの3段階) ・一般的な役はほぼ網羅しています。 ・チーの牌選択対応。 ・ノーテンでのリーチや上がりは、チェックして禁止。 ・フリテン、役無しによるチョンボあり。 ・点数計算機能搭載。(刻子/順子の簡単入力機能あり) 詳細はこちらをご覧ください。
(10)WebServer(ArduinoIDEのサンプル) 説明:ESP32はOSを搭載しなくてもWebサーバーを立ち上げることができます。本ボードでは ArduinoIDEのサンプルプログラムそのままで、MicroSDカードにアクセス可能です。 トップページを「index.htm」という名前にして、HTMLファイルや各種画像ファイルなどの データをMicroSDカードにコピーしセットします。 次に スケッチ例−WebServer−SDWebServer を選びます。この中の、 const char* ssid = "**********"; const char* password = "**********"; をご自分のネット環境のSSID及びパスワードに変更し、ボードに書き込んでください。 http://esp32sd.local にアクセスすればOKです。
説明:ESP32S3でPythonを使うことができます。 MicroPythonのESP32-S3から、Firmware(Support for Octal-SPIRAM)の[.bin]を選んで、 ダウンロードします。その後、ボードのUSRボタンを押しながら、RSTボタンを押して離して、 最後にUSRボタンを離します。そして、次のコマンドで書き込みます。 >>esptool.py --chip esp32s3 --port /dev/ttyUSB0 erase_flash >>esptool.py --chip esp32s3 --port /dev/ttyUSB0 write_flash -z 0 ???.bin ボードをUSBケーブルで接続し、uPyCraft、gtkterm、TeraTermなどのシリアルモニタを 115200bps、8bit、NoParityで起動すれば、MicroPythonが使えます。 SDカードにもアクセスできます。 4.各種資料
(2)回路図 PDF
5.トラブルシューティング
その他、ESP32-S3の標準のサンプルや、MicroPythonなども使えます。詳細は、次のページをご覧下さい。 「ESP32-S3-WROOMの使い方」はこちら。 |