0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ESP32とLCDがくっ付いた、ESP32-2432S024Cを使って見る

Posted at

目的

 特にこれを作ると言う意思も無かったが、ESP32-2432S024Cを購入した。
 黄色いボード色を特徴としたESP32ボードシリーズの比較的最新作。
 液晶とタッチパネルがビルトインなので、後で配線を忘れると言う事も無い。
 タッチパネルは容量式で触り心地が良いのではと思っている。
 バッテリー接続端子も付いており、モバイルも可。※バッテリーは別売りだよ。
 最大の特徴はCPUがESP32-WROOMだと言う事、之なら技適警察の目に触れないだろう。
 ◆◆◆ よし、携帯型のファミコン擬きでも作ってみるか ◆◆◆
 ゲームパットはどうしようかな。タッチパネルによる操作で満足できるだろうか。

Image00.jpg

経緯

 AliEXのセールを見ていたら、黄色いボードが目についた。
 ESP32-2432S024Cを含むシリーズは、7~1.28インチの表示器が存在するようだ
 24Cは比較的新しい様で資料が少ない、ESP32-2432S028の方が有名なのだろう。
 しかしシリーズなのだろうが回路が同一でも無い様で、多少の変更が必要のようだ。
 ESP32-2432S024には24N(タッチ無し)、24R(抵抗タッチ)、24C(容量タッチ)の3種類が有る。
 多少高めだがタッチの操作性の良いと考え24Cを購入した。
  ※抵抗式は指先で強く押さないと、反応が鈍いような。
 24Cの資料は製造元が「ESP32-2432S024.ZIP」の名称で公開している。
  ※登録が必要なサイトも有るが、登録無しで利用できるサイトも存在していた。
   「jingcai ESP32 module」で見つけたが、正式かどうかが不明なのでURLは割愛。
 見た限りでは2432S028と2432S024Cの違いは、
  バックライトの制御信号ピン  28:21  24C:27
  タッチパネル  28:XPT2046(抵抗式)  24C:CST820(容量式)
 又、28,24C共にバックライトの店頭処理が必要で、Adafruitの例等は追加処理が必要。
  ※モバイル利用を想定して居るのと思う。

 タッチパネルに使用しているCST820のライブラリは2種類見つかった。
  bb_captouchとしてライブラリとして公開されているもの。
  24Cのデモプログラムに含まれているもの、cst820.cpp。
 何れもシングルポイントには対応しているが、それ以外の動作は挙動が良く判らない。
 bb_captouchでは2点タッチに対応して居るが、タッチ後約100ms程度で一旦停止する。
  ※何らかの初期化が必要なのだろうが、cst820.cppに書かれている方法では動作せず。
  ※cst820.cppにはゼスチャーについての記載が有るが、これも動作せず。
  ※肝心な部分は契約しないと開示しないのだろう。しょうがないか。

 参考プログラムのMovingIcons,BallMazeを動作させるにはLovyanGFXライブラリの導入が必要だが、之は2432S028迄にしか対応して居ない。
 24Cで使用する場合は先ずLovyanGFXライブラリを導入後、下記ファイルを該当位置のファイルと交換が必要。
 ※LovyanGFXの1.1.12をベースにしており、それ以外ではこのファイルを使用しない事。
  ※簡単な変更なのでファイルの差し替えでは無く、ライブラリの該当位置の書き換えの方が望ましい。
  「LovyanGFX一時的更新ファイル
   LGFX_AUTODETECT.hpp
   LGFX_AutoDetect_ESP32_all.hpp
 この状態で放置するとライブラリ更新が発生した場合、更新点が抹消されるので、
 ライブラリ名称を「LovyanGFX+24C」に変更し、library.propertiesを差し替えておく事により更新されなくなる。

 なお資料のZIPが見つかれば必要無いだろうが、参考として回路図を下記に上げておく。
  「ESP32-2432S024C回路図

開発環境設定

 arduino環境は、ググれば一杯出て来るだろう。
 参考プログラムのincludeに記載が有れば、別途ライブラリの導入を行ってください。
 ライブラリを書き換える場合、通常は、ドキュメント\Arduino\libraries下に格納されている筈。

参考プログラム

 動作下記人したプログラムをgithubに上げておく。
 元のデモプログラムを24C用にアレンジしただけだが、プログラム理解の一助になれば幸いである。
 「ESP32-2432S024C 参考プログラム
 動作画面
Image01.jpg

 参考プログラムの簡単な動作説明を下記に示す。

1.LED
 基板動作確認用、3色LEDが点滅する。

2.graphicstest
 LCD確認用、AdafruitのILI9341サンプルに24Cのピンを割り当てた。
  ※動作が遅いのは汎用になって居る為だろう。

3.touch1
 タッチパネルに使用しているCST820の動作確認。bb_captouchに2点タッチ時の表示を追加。
 タッチ情報はシリアルに出力するので、シリアルモニタを表示しておくこと。

4.touch2
 同上、タッチ結果をLCDに表示している。
  ※2点タッチで画面をクリアする。※2点目の位置が間違って居る気がする。

5.Keypad_240x320
 タッチパルから数字の入力を行う。
 タッチパルとLCDの、入力と表示エリアの協調動作確認用。
  ※キャリブレを取って無いので、位置ズレしてる場合はプログラムによる補正が必要。

6.MovingIcons
 LovyanGFXによる動作例。ピンを合わせただけ。
 ライブラリの一時的更新をしていれば、ESP32-2432S024Cをdefineするだけで動作する筈。
  ※よく出来たライブラリ、描画の早い事にちょっと驚き。

7.BallMaze
 画面を左右に回転させ迷路内のボールを下に落し、迷路から脱出するゲームらしい。
 之も同様にESP32-2432S024Cで動作するように、デモソフトに改造を施したもの。
 24Cには物理ボタンが無いので、釦の機能をパネルに作り込んだ。
 回転は画面中央付近の左右タッチで、右回転・左回転を始める。※之は元々の仕様。
 上部でチョロチョロして居るのは拡大率調整、左右スライドで変更可。
 下部でチョロチョロして居るのは回転速度調整、左右スライドで変更可。
  ※チラチラするのは希望する動作では無く、描画のタイミングが不味い為だが良く判らない。

8.Factory_samples_Capacitive_touch
 元々書き込まれていたサンプルソフト。
 このプログラムをコンパイルするには、下記の変更が必要。
  User_Setup.h,lv_conf.hをTFT_eSPIライブラリの所定位置にコピー。
  ライブラリのlvgl\src\demosフォルダを、lvglフォルダ直下にコピー。

感想

 単にESP32とLCDをドッキングしただけの代物だが、使い勝手は良い。
 何より安い。日本でも買えるがAliEXで買えば部品代よりも安いのでは。
 1~2週間で届くものも有る。※郵送費が多少(0.5K程度)増えるが。
 なお支払いは念の為にpaypal経由で行っている。※之がどれ程信用出来るかは不明だけど。
 なお、上記記載内容は全て無保証であり、各自の責任においてご利用願います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?