センサの動作は確実なTTP223の基板がいいのだけど、配線がみっともないので、できればGROVE接続のほうを使いたい。

反応問題は、運用でカバーできるかな? それともスケッチ側で反応を調整するか。
とりあえず、スケッチのほうにカウンターを入れて、50msのスレッショルドをはさんで、確実なタッチで反応するようにしてみた。
#include <M5Atom.h>
const int touchPin = 32;
const int ledPin = 22;
unsigned long touchStartTime = 0;
const unsigned long touchThreshold = 50;
void setup() {
M5.begin(true, false, true);
pinMode(touchPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop() {
int touchState = digitalRead(touchPin);
if (touchState == LOW) {
if (touchStartTime == 0) {
touchStartTime = millis();
}
if (millis() - touchStartTime > touchThreshold) {
digitalWrite(ledPin, HIGH);
M5.dis.drawpix(0, CRGB::Red);
}
} else {
touchStartTime = 0;
digitalWrite(ledPin, LOW);
M5.dis.drawpix(0, CRGB::Black);
}
delay(10);
}
50mmではイマイチ変化がなかったので、100msに変更する。
const unsigned long touchThreshold = 100;
これで、ほぼタッチしないと反応しないようになった。
これで、先日のBTキーボードのキーがわりに使えるだろうか。
オリジナル投稿:
ATOM Liteにタッチセンサつける -4-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/8903300

