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

 前回の続き。

 11/11着。黒い集合袋入りだったので、2種類とも入っているのかと思ったら、1種類だけだった。

 そして、なかには本来の梱包が。

 小さい基板が入っているよくみるパッケージになっている。

 本体はこれ。TTP223のほうだった。これで22円か...

 裏。基板のエッジはヤスってない。

 端子は、SIG(NAL?), VCC, GND。TTP223というのは、右にある静電容量式タッチスイッチ用のチップの名前らしい。刻印読めないけど。パチモンだろうねぇw

 回路図はこんな感じ。

データシートはaitendoが公開しているのがある。
https://aitendo3.sakura.ne.jp/aitendo_data/product_img/sensor/touch/TTP223/TTP223.pdf

 VCCは、2.0V~5.5Vに対応しているようだ。9V電池を直接つなげている人もいるようだけど、普通にマイコン周辺の5V, 3.3Vでいける感じ。

 電源を入れてタッチしているときにはSIGピンがHIGH(0.8V)に、離しているときはLOW(0.3V)になる。

 赤い基板のやつは、論理を操作するジャンパがあるようだけど、これにはない感じ。同様にコンデンサをはさんで感度を調整するような端子もない。

 GROVEから生やすのがいいんだろうけど、めんどくさいのでピンで生やしてテスト。5VとGNDに隣り合っているGPIO25を使うことにする。オスメスのジャンパ線で接続。

 給電すると基板上のLEDが点灯する。

 配線はこんな感じ。

 スケッチはこれで。タッチするとATOMのカラーLED(22)を赤にして点灯する感じに仕上げる。

 #include <M5Atom.h>

 const int touchPin = 25;

 const int ledPin = 22;

 void setup() {

 M5.begin(true, false, true);

 pinMode(touchPin, INPUT);

 pinMode(ledPin, OUTPUT);

 digitalWrite(ledPin, LOW);

 }

 void loop() {

 int touchState = digitalRead(touchPin);

 if (touchState == HIGH) {

 digitalWrite(ledPin, HIGH);

 M5.dis.drawpix(0, CRGB::Red);

 } else {

 digitalWrite(ledPin, LOW);

 M5.dis.drawpix(0, CRGB::Black);

 }

 delay(10);

 }

スケッチを書き込んでテスト。
https://youtube.com/watch?v=E7R2-r-tamM&feature=shared

 静電容量なのに、空中ではほぼ反応しない。短時間のタッチでも反応する。感度調整は、デフォルトのままでなかなかいい感じだ。

 養生テープを貼ったり、薄い紙をはさんだり、ビニールをはさんだり、伝導性の樹脂袋はさんだりしたのだけど、ちゃんと反応するので、ケースに入れても大丈夫そう。2mmの3Dプリントした樹脂板は反応しない。


オリジナル投稿:
ATOM Liteにタッチセンサつける -2-|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/8902578