[ESP32]ESP32-2432S028 LovyanGFX で画面表示とタッチ制御 with Arduino IDE

ESP32
スポンサーリンク

ESP32-2432S028 LovyanGFX で画面表示とタッチ制御

はじめに

Cheap Yellow Display とも言われている ESP32-2432S028 でまず画面表示とタッチ制御してみます。

1番簡単かつ扱いやすい「LovyanGFX」というライブラリを使用します。

私が購入した時点では、1500円台というかなり安価に販売されていますので、使い勝手が良さそうです。
各センサー収集した情報の表示部として活用しても良いと思います。

開発環境

OS : Windows 11 Pro
ESP32:ESP32-2432S028
統合開発環境 : Arduino IDE 2.3.2
Arduino core for the ESP32:2.0.17
使用ライブラリ:LovyanGFX(1.1.16)

使用パーツ

ESP32-2432S028

作業内容

配線図

なし。

ライブラリインストール

LovyanGFX

TFT(IPS)液晶ディスプレイ と タッチスクリーンを 制御するライブラリをインストールします。

スケッチ作成

#define LGFX_AUTODETECT
#include <LovyanGFX.hpp>

static LGFX lcd;

void setup(void)
{
  Serial.begin(115200);

  lcd.init();                   // 最初に初期化関数を呼び出します。
  lcd.setRotation(0);           // 回転方向を 0~3 の4方向から設定します。
                                // (4~7を使用すると上下反転になります。)
  lcd.setBrightness(128);       // バックライトの輝度を 0~255 の範囲で設定します。
  lcd.setColorDepth(24);        // RGB888の24ビットに設定
  lcd.fillScreen(TFT_DARKGRAY); // 画面全体の塗り潰し
}

void loop(void)
{
  uint16_t tX, tY;
  bool touched = lcd.getTouch(&tX, &tY);
  if( touched ) {
    Serial.println("touched (" + String(tX) + "," + String(tY) + ")");
    lcd.setColor(TFT_YELLOW);
    lcd.drawCircle (tX, tY, 20);
  }
}
コード説明

必要なライブラリをインクルードします。
この時自動的に接続設定を検出してくれる「LGFX_AUTODETECT」を定義しておきます。

#define LGFX_AUTODETECT
#include <LovyanGFX.hpp>

初期化処理をして、ダークグレイで塗りつぶしています。

  lcd.init();                   // 最初に初期化関数を呼び出します。
  lcd.setRotation(0);           // 回転方向を 0~3 の4方向から設定します。
                                // (4~7を使用すると上下反転になります。)
  lcd.setBrightness(128);       // バックライトの輝度を 0~255 の範囲で設定します。
  lcd.setColorDepth(24);        // RGB888の24ビットに設定
  lcd.fillScreen(TFT_DARKGRAY); // 画面全体の塗り潰し

画面タッチを検出しています。

bool touched = lcd.getTouch(&tX, &tY);

画面タッチを検出すると、シリアルモニタに座標を出力し、タッチした座標を中心に黄色の円を描画しています。

    Serial.println("touched (" + String(tX) + "," + String(tY) + ")");
    lcd.setColor(TFT_YELLOW);
    lcd.drawCircle (tX, tY, 20);
動作確認

起動するとダークグレイの画面になります。(写真では青色が強めですが。)
画面をタッチすると黄色の円が描画されます。

タッチの検出と描画が早いため、ちょっとタッチしただけで複数の円が描画されています。

おわりに

配線せずに2.8インチのディスプレイを使用でき、2000円以内で手に入れることができるので、かなり好印象です。

コメント

タイトルとURLをコピーしました