[電子工作]GS-0001M:4人打ち麻雀ゲーム機(点数計算機能搭載)

 ESP32 2.8型LCDタッチパネルボード

 IoT(WiFiやBluetooth)の学習やソフト開発も可能

価格:4000円

(2023'3/25 半導体不足、円安のため在庫なくなり次第、価格見直し予定。) 

在庫品はメルカリで「GS-0001M」で検索購入下さい。

受注生産(料金振込後、製作するため多少納期が必要です)で良ければ、 hge00744@nifty.ne.jp 

にメール下さい。折り返し、納期、金額(割引要相談)、振込先を回答致します。

保証内容はこちら

 

特徴

 本格4人打ち麻雀 銀河☆麻雀GS-0001に移植

 ・本格的4人打ち麻雀です。

 ・イカサマ無しの思考ルーチンを持つコンピュータと対戦します。

  (強い/ふつう/弱いの3段階)

 ・一般的な役はほぼ網羅しています。

 ・チー及びカンに複数の候補がある場合、牌選択可能。

 ・ノーテンでのリーチや上がりは、チェックして禁止。

 ・フリテン、役無しによるチョンボあり。

 ・点数計算機能搭載。(刻子/順子の簡単入力機能あり)

 ・2.8型、240x320画素、液晶パネル搭載。

 ・単3乾電池4個で動作可能。(電池は付属しません)

 

 本体の基本機能

 ・ESP32、4MBフラッシュメモリ、USBシリアル変換LSI搭載。

 ・無線LAN、Bluetooth、SPI、PWM、DACなどの機能を評価可能。

 ・アナログジョイスティックと4つのキー(1つはリセット専用)を搭載。

 ・2.8型、感圧式タッチパネル付き、240x320画素、液晶パネル搭載。

 ・SDカード(32GB以下)スロット搭載。

 ・圧電スピーカを1個搭載。可変抵抗により音量調整可能。

 ・鉛フリー半田使用

注意.液晶パネルには保護シートが貼られていますので、購入後、剥がして下さい。

注意.基板形状、搭載部品は、出荷時期によって変更される場合があります。

    但し、ソフト互換性は確保し、基本仕様は変更しません

ーーーーーーーーーー

1.起動画面

  ・ゲームスタート : ゲーム開始

  ・設定 : 各種設定

  ・点数計算 : 点数計算

 

2.ゲーム開始

 2.1 相手の強さ

  ・強い : 私が作成した思考ルーチンの中で特に強かった3つを選択。

        27000〜30000点の実力を持ち、流局は少なく積極的に上がります。

        正直、トップになるのは難しい。

  ・ふつう : そこそこ強かった思考ルーチン3つを選択。

        25000〜27000点の実力を持ちます。

  ・弱い : リーチをせず、ポンやチーも少ないです。

        20000〜25000点の実力で、流局は多いです。

        ダマで待っているので、高い点で上がることがあります。

 

 2.2 席ぎめ

   親の順番を決めるだけなので、1回、牌を引くだけです。

 

 2.3 ゲーム

   ・左右キー : 牌の選択

   ・上下キー : 右下の実行内容を選択(リーチ、ポン、チー、カン、ツモ、ロン)

   ・右ボタン : 右下の内容を実行

   ・左ボタン : リーチの取り消し(ノーテンリーチは、牌を捨てた後に自動的にキャンセル)

 

   チーに複数の候補がある場合は、牌に赤枠が表示されるので左右キーで選んで右ボタンで完了。

   ノーテンでツモ、ロンはできません。フリテンや役無しで上がることはできますが、チョンボになります。

 

 2.4 あがり

   ・右ボタン又は左ボタンで点数計算の画面に切り替わります。

   ・再度、右ボタン又は左ボタンを押すと次の対戦が始まります。

 

3.設定

  ・オープンモード : 対戦相手のコンピュータの牌が見えます

  ・食い断 : ポンやチーをしていてもタンヤオの役を認めるか?

  ・十三不塔 : 十三不塔の役を認めるか?

  ・裏ドラ : 裏ドラを認めるか?

  ・カン裏ドラ : カンで増えたドラの裏ドラを認めるか?

  ・2飜縛り : 点棒5本以上で2飜以上でないと上がれないようにするか?

  ・テンパイ連荘 : テンパイ連荘か、あがり連荘か?

  ・南場ノーテン連荘 : 南場をノーテン連荘か、テンパイ/あがり連荘か?

 

4.点数計算

  ・左右キー : カーソル/赤枠の移動

  ・上下キー : 牌の種類の選択、モードの選択

  ・右ボタン : 1回目はカーソル位置の牌の刻子、2回目は順子を入力

  ・左ボタン : 点数の詳細表示

           その後、右ボタンでメインメニュー、左ボタンで牌や設定画面に戻る

 

  左上のマスにあがり牌を設定すること。途中に隙間ができてもOK。

  アンカンは上から2段目の大きなマスに設定。

  ポン、チー、ミンカンは「なき」の下のマスに設定。

 

 

5.仕様

項目

仕様

プロセッサ

ESP32-WROOM:Xtensa 32bit LX6(最大240MHz、デュアル)

  フラッシュメモリ:4MB以上(出荷時期によって、変動)

  RAM:520KB

無線通信

ESP32-WROOM:802.11b/g/n(2.4GHz、Max.150Mbps)

  Bluetooth v4.2 BR/EDR/BLE

インタフェース

USB Micro-B:シリアルポートとして認識(CH340N)

SDカードスロット:32GB以下

表示機能

2.8型液晶パネル:解像度240x320、65536色、SPI接続

  感圧式タッチパネル付き

  SDカードスロット

キー入力

アナログジョイスティック

ボタン:2個+2個(リセットスイッチを含む)

入力機能

感圧式タッチパネル(1点)

サウンド

圧電スピーカー:1個

  発振周波数は、4KHz前後

  可変抵抗により音量調節可能

電源

USB Micro-B

単3乾電池×4本(電池は付属しません)

付属品

タッチペン

サイズ

99mm×99mm、厚さ約25mm

その他

Arduino IDEが動作する環境が別途必要(Windowsマシン、MacOS、Linux、RaspberryPiなど)

USB Micro-Bと接続するためのケーブルが別途必要

6.ソフト開発環境

 (1)Arduino IDEのインストール

   まず、Arduino IDEをインストールしてください。

   その後、ファイルー環境設定ー追加のボードマネージャのURL に

     https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

   を追加し、ツールーボードのボードマネージャで「esp32」を検索し、インストールします。

   (注意.私のサンプルを実行する場合、バージョン1.0.6を選んで下さい。)

   詳細は、Arduino IDEのESP32開発環境Installation instructions using Arduino IDE Boards Manager

   を参考にして下さい。

 

 (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)GS0001ボードへのプログラム書き込み方法

   (1)でインストールしたArduino IDEを起動し、ESP32用のプログラムを開きます。

   ツールを、

     ボード:NodeMCU-32S(他のものでもOKですが、設定が簡単なので)

     UploadSpeed:921600

     FlashFrequency:80MHz

     シリアルポート:GS0001が繋がっているポートを選択(分からない時は抜き差しして確認)

     書き込み装置:USBtinyISP(選べない場合は、esptool)

   に設定します。

   GS0001ボードのUSRボタンを押したまま、RSTボタンを押して離し、最後にUSRボタンを離します。

   これで、ESP32はライト状態になります。

   Arduino IDEの→ボタンを押すとコンパイルされ、プログラムの書き込みが開始されます。

   終了したら、今度はRSTボタンだけを押して離すか、電源を入れ直すと、プログラムが起動します。

 

  麻雀ソフトのソースコードは次の通り。GS0001ボードに書き込むことも可能。

  Ver.1.10 2023'4/4 ・カンに複数の候補があった場合に選択できるようにしました。

              ・ポン又はチーを行った後、カンを行えるようにしました。

  2023'4/4

 

7.トラブルシューティング

 

 「GS-0001:ESP32 2.8型LCDタッチパネルボード」はこちら

 「ESP32の使い方」はこちら