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 情報は、以下のドキュメントをご参照ください: