[電子工作]GS-0001:ESP32 2.8型LCDタッチパネルボード

IoT(WiFiやBluetooth)の学習やソフト開発に最適

価格:4000円

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

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

4人打ち麻雀ソフトを書き込んだ「GS-0001M」もあります。

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

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

保証内容はこちら

 

特徴

 IoT(WiFiやBluetooth)の学習やソフト開発に最適

 ・ESP32のプログラムの書き換えやデバッグが可能。(技適あり、

  4MBフラッシュメモリ、USBシリアル変換LSIとしてCH340N搭載)

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

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

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

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

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

  ESP32内蔵のPWM、又はDAC(8bit)を接続。(PCM再生も可能ですが、

  音質は悪いです。)

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

 ・サンプルプログラムとして、Bluetoothキーボード、Bluetoothゲームパッド、

  電卓、メモ書き、SDカードの画像ファイル表示、各種ゲームなどを準備。

 ・秋月電子、共立エレショップなど、信用できる販売店より部材調達。

 ・鉛フリー半田使用

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

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

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

 

サンプルソフト一覧(サンプルは予告なく変更します)

ーーーー目次ーーーー

1.仕様

2.ソフト開発環境

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

 (2)ライブラリの準備

 (3)GS0001へのプログラム書き込み方法

3.サンプルプログラム

 (1)タッチパネルによる10進/16進対応関数電卓

 (2)Bluetooth対応液晶キーボード

 (3)WiFiオセロ(私のオリジナルの思考ルーチン)

 (4)電子メモ

 (5)ゲーム:テトリス

 (6)ゲーム:フルーツ(私が作成したオリジナルゲーム)

 (7)ゲーム:3D迷路(私が作成したオリジナルゲーム)

 (8)ゲーム:3Dシューティング(私が作成したオリジナルゲーム)

 (9)SDカードプレイヤー(BMP、SND、PCM)

 (10)マルチタスクによるPCM再生ソフト(PCM、22.05kHz)

 (11)ゲーム:パクパク

 (12)ゲーム:YEVIOUS

 (13)ゲーム:本格4人打ち麻雀(銀河☆麻雀を移植)

4.各種資料

 (1)ピンアサイン

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

ーーーーーーーーーー

1.仕様

項目

仕様

プロセッサ

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と接続するためのケーブルが別途必要

2.ソフト開発環境

 (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ボタンだけを押して離すか、電源を入れ直すと、プログラムが起動します。

 

3.サンプルプログラム

 (1)タッチパネルによる10進/16進対応関数電卓

  

   説明:タッチパネルによる10進/16進対応関数電卓です。小数点以下も16進表記

     できる点がポイント!

     ・10進/16進の切り替え可能。

     ・メモリ機能あり(「M=」でメモリに記憶。「M」でメモリの呼び出し。)

     ・バックスペースによる修正機能あり。(「<」)

   2020'3/20

 

 (2)Bluetooth対応液晶キーボード

  

   説明:タッチパネルを利用したBluetooth対応のキーボードです。Bluetoothに対応した機器で

     「ESP32_keyboard」と接続することで使えるようになります。

     ・半角/全角やShift/Ctrl/Altも使用可能。Ctrl+Alt+Delも入力可能。

   2022'7/8PCやタブレットとBluetooth接続して使用

 

 (3)WiFiオセロ(私のオリジナルの思考ルーチン)

   

   説明: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は私と互角の強さです!

   2020'3/23WiFi接続要

 

 (4)電子メモ

  

   説明:タッチパネルで絵を描いたり、SDカードに画像をロード/セーブ(BMP)することが

     できます。

     右端の「Color」をタッチすると、ドットサイズ、ファイル操作、クリアなどメニューを

     切り替えることが出来ます。

   2020'3/20SDカードにセーブ/ロード可能

 

 (5)ゲーム:テトリス

  

   説明:私が作成したテトリス風のゲームです。2つのボタンで回転(回転する向きが異なります)

     下矢印で落下。

   2020'3/20

 

 (6)ゲーム:フルーツ(私が作成したオリジナルゲーム)

  

   説明:私が作成したオリジナルゲームです。一番上のバーが消えるまでに全てのフルーツを

     取って、ゲートに入れば1面クリア。なお、全てのフルーツを取るまで、ゲートは現れません。

     左右で移動し、右ボタン(A)でジャンプします。

  2020'3/22

 

 (7)ゲーム:3D迷路(私が作成したオリジナルゲーム)

  

   説明:私が作成したオリジナルゲームです。30年以上前に、PCで作成したソフトを移植。

     迷路の地図は、展開したフォルダーの中の「*.dat」で、SDカードに書き込んで本体に

     セットする必要があります。

     ・左右で回転、上で前に進み、下で後退。

     ・行き止まりの黄色のゲートに入ればクリア。

     ・途中、同じような景色で迷子になるので、緑や青のゲートを頼りにゴールを目指して下さい。

     ・時間制限も無いので、気長にやって下さい。

  2020'3/20「*.dat」は、SDカードに書き込み、本体にセット

 

 (8)ゲーム:3Dシューティング(私が作成したオリジナルゲーム)

  

   説明:私が作成したオリジナルゲーム。上記の3D迷路の3D表示ルーチンを使った3Dポリゴンの

     シューティングゲーム。3Dポリゴンの塗りつぶしは時間がかかりますが、自作のライブラリで

     高速化を図っています。

  2020'3/20

 

 (9)SDカードプレイヤー(BMP、SND、PCM,11.025kHz)

  

   説明:SDカードに格納したBMPファイル、音階データ(SND)、PCM音楽データ(PCM,11.025kHz)

     を再生するソフト。下記のファイルのdataフォルダーにサンプルデータを入れて

     いますので、SDカードにコピーしてお使い下さい。

     ・*.BMPは通常の画像データです。(表示できるのは、左上の240x320)

     ・*.SNDは独自フォーマットです。(サンプル参照)

     ・*.PCMはraw,unsigned 8bit,mono,11.025kHzで、Audacityなどのソフトで生成下さい。

      但し、圧電スピーカーですので、音は無茶苦茶悪いです。

      Audacityの場合、次の方法で生成下さい。

       (1)ファイルー開く でMP3ファイルなどを読み込む。

       (2)トラックーミックスーステレオからモノラルへ でモノラルに変更。

       (3)左下の プロジェクトのサンプリング周波数(Hz) を11025に設定。

       (4)書き出しーWAVとして書き出し で次の設定で保存。

         ファイルの種類:その他の非圧縮ファイル

         ヘッダ:RAW(header-less)

         エンコーディング:Unsigned 8-bit PCM

       (5)ファイル名の拡張子を *.raw→*.pcm に変更。

  2020'3/29dataフォルダーのサンプルデータをSDカードにコピー

 

 (10)マルチタスクによるPCM再生ソフト(PCM、22.05kHz)

  

   説明:SDカードに格納したPCM音楽データ(PCM、22.05kHz)だけを再生するソフトです。

     右ボタン(A)で再生、左ボタン(B)で停止、左右で音量変更です。

     (9)のSDカードプレイヤーとの違いは、FreeRTOSの機能を使ってマルチタスクしている

     点です。つまり、音楽などを再生しながら、裏でSDカードからの読み込みやキースキャン

     を行っているため、22kHzで音楽を再生しながら音量を変えたり停止したりできます。

     なお、*.PCMはraw,unsigned 8bit,mono,22.05kHzで、Audacityなどのソフトで生成下さい。

     上記(9)と同じ方法で、サンプリング周波数(Hz)だけ22050にして下さい。

     但し、圧電スピーカーですので、音は無茶苦茶悪いです。

  2020'4/5SDカードにPCMファイルをコピー

 

 (11)ゲーム:パクパク

  

   説明:youtubeを見ながら、気合を入れて作ってみました。結構、再現出来たかな。

     右ボタン(A)を押すとゲームがスタートし、後はアナログジョイスティックだけで

     操作します。

  2022'7/15

 (12)ゲーム:YEVIOUS

  

   説明:youtubeを見ながら、気合を入れて作ってみましたが、再現できませんね。

     右ボタン(A)を押すとゲームがスタートし、アナログジョイスティック、右ボタン(A)

     で空中、左ボタン(B)で地上を攻撃できます。

     なお、SDカードが必須で、下記ファイルを展開し、dataフォルダーのファイルを

     SDカードのルートにコピーして、本体にセットして下さい。

  2022'7/18dataフォルダーのファイルをSDカードにコピー

 

 (13)ゲーム:本格4人打ち麻雀(銀河☆麻雀を移植)

  

   説明:自作のWindows用ソフト銀河☆麻雀を移植

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

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

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

     ・チーの牌選択対応。

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

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

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

   詳細はこちらをご覧ください。

  2023'4/4

 

 その他、ESP32の標準のサンプルや、MicroPythonなども使えます。詳細は、次のページをご覧下さい。

 「ESP32の使い方」はこちら

 

4.各種資料

 (1)ピンアサイン

GPIO

専用端子

SD

LCD

TOUCH

BUTTON/STICK/BUZZER

VDD3V

+3.3V

+3.3V

#EN

Reset (EN)

Reset

SVP

IO36 (Input only)

SENSOR_VP

(UltraLowNoiseAnalog)

SVN

IO39 (Input only)

SENSOR_VN

(UltraLowNoiseAnalog)

IO34

IO34 (Input only)

STICK_X

IO35

IO35 (Input only)

STICK_Y

IO32

IO32

XTAL_32K_P

BUTTON_A

IO33

IO33

XTAL_32K_N

BUTTON_B

IO25

IO25

DAC_1

BUZZER

IO26

IO26

DAC_2

IO27

IO27

IO14

IO14

HSPICLK

IO12

IO12

HSPIQ

GND

GND

GND

IO13

IO13

HSPID

SD2

IO9 (for SPI Flash)

SPIHD

SD3

IO10 (for SPI Flash)

SPIWP

CMD

IO11 (for SPI Flash)

SPICS0

VDD5V

+5V

+5V

GND

GND

GND

IO23

IO23

VSPID

SD_MOSI

SDI

T_DIN

IO22

IO22

VSPIWP

U0TX

IO1

UART_TXD

U0RX

IO3

UART_RXD

IO21

IO21

VSPIHD

GND

GND

GND

IO19

IO19

VSPIQ

SD_MISO

T_DO

IO18

IO18

VSPICLK

SD_SCK

SCK

T_CLK

IO5

IO5

VSPICS0

SD_CS

IO17

IO17

T_CS

IO16

IO16

T_IRQ

IO4

IO4

HSPIHD

RESET

IO0

IO0 (BOOT)

Boot

IO2

IO2

HSPIWP

DC

IO15

IO15

HSPICS0

CS

SD1

IO8 (for SPI Flash)

SPID

SD0

IO7 (for SPI Flash)

SPIQ

CLK

IO6 (for SPI Flash)

SPICLK

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