03_Touch

タッチを検出する

タッチセンサーに触れているかどうかを読み取ります。

タッチセンサーモジュール
1

準備する

CherryIoTとモジュールを接続する

CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。

タッチセンサーモジュール

タッチセンサーモジュール

接続先:A

2

サンプルコード

GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。

03_Touch.ino
GitHubで開く
GitHubからコードを読み込んでいます...
3

プログラムを書き込む

上のサンプルコードをコピーし、Arduino IDEに貼りつけます。

ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。

初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。

4

動作確認

Arduino IDEの画面右上にあるアイコンをクリックすると、 画面下にシリアルモニターが表示されます。

Arduino IDEでシリアルモニターを表示する場所

タッチセンサーに触れると、シリアルモニターに「Touch!」と表示されるなら成功です。

5

コードの解説

digitalReadでセンサーの状態を読み取り、触れたときと離したときの表示を切り替えます。

03_Touch.ino
GitHubで開く
GitHubからコードを読み込んでいます...

const int touchPin = 3;コネクタAのタッチセンサーに対応するGPIO3を、定数touchPinへ保存します。

void setup() {setup関数は電源を入れたときやリセットしたときに1回だけ実行されます。ここでシリアル通信とタッチセンサー端子の初期設定を行います。

Serial.begin(115200);タッチセンサーの判定結果をPCへ表示するため、115200bpsでシリアル通信を開始します。

pinMode(touchPin, INPUT);タッチセンサーから届く信号を読み取れるように、touchPinをINPUT(入力)に設定します。

void loop() {loop関数は繰り返し実行されます。タッチセンサーに触れているかを確認し、結果をシリアルモニターへ表示します。

if (digitalRead(touchPin) == HIGH) {digitalReadでtouchPinの状態を読み取ります。値がHIGH、つまりタッチセンサーに触れている場合は、直後の処理を実行します。

Serial.println("Touch!");タッチセンサーに触れていることを示す「Touch!」を表示して改行します。

delay(200);0.2秒待ちます。

} else {センサーに触れておらず、if文の条件を満たさなかった場合はこちらの処理を実行します。

Serial.println("...");触れていないことを示す「...」を表示して改行します。

delay(200);0.2秒待ちます。

delay(500);0.5秒待ちます。