pdf-icon

Arduino入門

2. デバイス&サンプル

PaperS3 Touch タッチスクリーン

PaperS3 のタッチスクリーンに関連する API とサンプルプログラムです。

サンプルプログラム

コンパイル要件

  • M5Stack ボードマネージャのバージョン >= 2.1.4
  • 使用ボード = M5PaperS3
  • M5Unified ライブラリのバージョン >= 0.2.5
  • M5GFX ライブラリのバージョン >= 0.2.7
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#include <M5Unified.h>
#include <M5GFX.h>

m5::touch_detail_t touchDetail;
uint16_t color;

void setup() {
  M5.begin();
  M5.Display.setRotation(0);
  M5.Display.setFont(&fonts::DejaVu40);

  color = random(65535);

  Serial.begin(115200);
  Serial.println("Start drawing!");
  M5.Display.print("Start drawing!");
}

void loop() {
  M5.update();
  touchDetail = M5.Touch.getDetail();

  if (touchDetail.isPressed()) {
    Serial.printf("x:%d, y:%d\r\n", touchDetail.x, touchDetail.y);
    color = (color + 5) % 65536;
    M5.Display.fillCircle(touchDetail.x, touchDetail.y, 15, color);
  }
}

このプログラムの主な機能は、指で画面に触れると、タッチポイントの座標をシリアル経由でパソコンに出力し、その位置に異なるグレースケールの円を描画することです。プログラムではタッチポイントを1つだけ読み取りますが、以下の API を使用して PaperS3 の2点マルチタッチ機能を開発することもできます。

API

PaperS3 のタッチスクリーンは M5Unified ライブラリの Touch_Class を使用しています。さらに詳しい API 情報は、以下のドキュメントをご参照ください:

On This Page