ATOM Liteにタッチセンサつける -4-

 センサの動作は確実な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