タッチセンサー¶
概要¶
静電容量式のタッチセンサーを利用する機能です。
利用できるのは2つのPINのみですが、PINアサインが逆になっているので注意してください。IO32に接続しているセンサーの値を取得するには33を指定する必要があります。
PIN | IO26 | IO36 | IO0 | IO32 | IO33 |
---|---|---|---|---|---|
touchRead() | NG | NG | NG | 33 | 32 |
サンプルプログラム¶
#include <M5StickC.h>
int PIN = 32;
boolean touched = false;
int threshold = 16;
void gotTouch() {
touched = true;
}
void setup() {
M5.begin();
pinMode( PIN, INPUT);
touchAttachInterrupt(PIN, gotTouch, threshold);
}
void loop() {
if (touched) {
Serial.println("touch!");
touched = false;
}
Serial.printf("%4d\n", touchRead(PIN) );
delay(500);
}
touchRead()は触ると数値が小さくなるので、触らないときの数字と、触って下がったときの数字の中間か、やや低い値をthresholdに設定してください。