Arduino入門
PaperS3 のタッチスクリーンに関連する API とサンプルプログラムです。
#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点マルチタッチ機能を開発することもできます。
PaperS3 のタッチスクリーンは M5Unified
ライブラリの Touch_Class
を使用しています。さらに詳しい API 情報は、以下のドキュメントをご参照ください: