概要
GR-COTTONの星型タッチセンサーを利用してみます。
準備
GR-COTTON、USBケーブル(マイクロBタイプ)の2つを準備します。
GR-COTTONの裏面にある白いジャンパーが3V3、USB側にします。BATT側にある場合は引き抜いて、USB側に差し込んでください。
タッチセンサーでLEDを光らせる
GR-COTTONのタッチセンサーを押すとLEDが点灯するサンプルです。
補足:A6, A7を10MΩの大きい抵抗でプルアップしていますが、片方をタッチしたときに他方のタッチも反応してしまうことがあります。このため以下はA6, A7それぞれのタッチを別々に見ていますが、例えばA6をタッチするとA7も反応し、LED赤、青が同時に点灯することがあります。
#include <arduino.h>
void setup() {
pinMode(22, OUTPUT); //red led
pinMode(24, OUTPUT); //blue led
digitalWrite(22, HIGH);
digitalWrite(24, HIGH);
}
void loop() {
if(analogRead(A6) < 800){
digitalWrite(22, LOW);
} else {
digitalWrite(22, HIGH);
}
if(analogRead(A7) < 800){
digitalWrite(24, LOW);
} else {
digitalWrite(24, HIGH);
}
}
タッチするまで省電力にする。
前述のサンプルではタッチされるまでマイコンは動き続けていましたが、このサンプルはSNOOZEモードというものを利用してタッチされまで省電力にするサンプルです。
見た目の変化はあまりありませんが、電池などの持ち時間が違ってきます。A6のタッチセンサーだけ反応します。
この機能はGR-COTTONや、GR-KURUMIの特有の機能です。
#include <arduino.h>
void setup() {
setPowerManagementMode(PM_SNOOZE_MODE, 0, 800);
pinMode(23, OUTPUT); //green led
digitalWrite(23, HIGH);
}
void loop() {
analogRead(A6); // into snooze until touch
digitalWrite(23, LOW);
delay(100);
digitalWrite(23, HIGH);
}