05_Switch

スイッチの状態を読み取る

スイッチが押されているかを読み取り、シリアルモニターに表示します。

スイッチモジュール
1

準備する

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

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

スイッチモジュール

スイッチモジュール

接続先:A

2

サンプルコード

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

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

プログラムを書き込む

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

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

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

4

動作確認

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

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

スイッチを押すと「Pushed」、離すと「Not Pushed」がシリアルモニターに表示されるなら成功です。

5

コードの解説

digitalReadでスイッチの状態を読み取り、結果に応じて表示する文字を切り替えます。

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

const int swPin = 3;コネクタAのスイッチに対応するGPIO3を、定数swPinへ保存します。

void setup() {setup関数は、電源投入時やリセット時に1回だけ実行されます。ここでシリアル通信とスイッチ端子の初期設定を行います。

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

pinMode(swPin, INPUT);スイッチから届く信号を読み取れるように、swPinをINPUT(入力)に設定します。

void loop() {loop関数は繰り返し実行されます。スイッチの状態を読み取り、その結果をシリアルモニターへ表示し続けます。

if (digitalRead(swPin) == HIGH) {digitalReadでswPinの状態を読み取ります。if文は条件によって処理を分ける命令で、読み取った値がHIGH、つまりこのスイッチが押されている状態なら、直後の処理を実行します。

Serial.println("Pushed");スイッチが押されていることを確認できるように、シリアルモニターへ「Pushed」と表示して改行します。

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

} else {elseは、ifの条件を満たさなかった場合に実行する処理です。ここではスイッチが押されておらず、読み取った値がLOWだった場合に進みます。

Serial.println("Not Pushed");スイッチが押されていないことを示すため、シリアルモニターへ「Not Pushed」と表示します。

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