【M5stack Core2】マルチタッチをやってみた

とりあえず、M5Stack Core2の新しい機能のタッチセンサで遊んでみた。

まず、ボタン。M5Stackでは、3ボタン在りましたがCore2では、3ボタンがなくなり画面外に〇 〇 〇がありますが、3ボタンの代わりになりません。たとえるならば、1つのプッシュスライダーがある感じ。つまり、同時押しができません

マルチタッチに挑戦
I2Cからの情報から、プロットしてみた。

(1)タッチペンで横ライン(USBライン有) f:id:chiyoh:20200906012749p:plain

上側も下側も端も問題なく反応している。

(2)タッチペンで縦ライン(USBライン有)
f:id:chiyoh:20200906012952p:plain

これも、両端と上下まで反応している。

(3)人差し指と中指で横ライン(USBライン有) f:id:chiyoh:20200906013124p:plain

まあ、反応している。(赤1ポイント認識と青2ポイント認識)

(4)人差し指と中指で縦ライン(USBライン有)
f:id:chiyoh:20200906013213p:plain

これは、残念な結果になってます。2本のラインの中間地点を座標値と認識してます。

(5)人差し指と中指で円をなぞる(USBライン有)
f:id:chiyoh:20200906013602p:plain

指が、横ライン側は、なんとか反応するが、縦ライン方向になると反応しなくなり 赤の1ポイント目と青の2ポイント目が入れ替わる感じに動作しています。

(6)1ポイント目固定(黄色部)、2ポイント目画面全体をツンツンしてみる(USBライン有) f:id:chiyoh:20200906013849p:plain

横方向に関しては、青ポイントが発生していない。誤動作の赤ポイントのみ。
上側と下側は、反応するポイントがある。これは、横ラインに供給する電荷が一定でマルチタッチすると取り込み容量が分散されて。閾値を超えないので認識できてないような。縦側は、供給する電荷が別なので容量の閾値を超えて取り込めた感じでしょうか。指等を3本以上置くと、横ライン並びでは認識しないでしょうし、縦ラインにしても仕様で2ラインまでしか内部MCUは座標計算しないのでなんともいえないかんじですね。

USBケーブル電圧供給無しの場合 なんか、反応が悪かったので実験してみました。

(7)タッチペンで横ライン(USBライン無) f:id:chiyoh:20200906015037p:plain

反応が良くありません。

(8)タッチペンで縦ライン(USBライン無)
f:id:chiyoh:20200906015130p:plain

反応が良くありません。横ラインより良い?

(9)人差し指と中指で横ライン(USBライン無) f:id:chiyoh:20200906015228p:plain

反応しません。マルチタッチにすると、容量値が下がるのかもしれません。

(10)人差し指と中指で縦ライン(USBライン無)
f:id:chiyoh:20200906015416p:plain

反応良く。1本線が引けました! 2本のラインの中間地点を座標値と認識してます。2ポイントの縦軸が同じところにあったので 指2本分の容量が加算されて、閾値が上がったためと思われます。

私が行った実験ではこんな感じになりました。 内部FWの修正やらなんやらは、仕様なしでは厳しすぎますが。USB接続と取り外しは識別できるので、キャリブレーション閾値やら、フィルタ係数なんかを調整したものが公開されるといいなぁ。

いまのところ、ライブラリにあるように、シングルなタッチセンサの運用ですかね。o o oは横並びなので同時押しは2つはできないし。3つは、仕様上NG? まあ、1日あれこれ実験した結果がこのような感じになりました。