Menu
CoddyTech

ボタンの押下回数を数える

CoddyのArduinoジャーニー「入力」セクションの一部。レッスン 5/22。

前のレッスンのエッジを使うと、ボタンを押すたびに1回だけ実行したい処理を動かせます。ここでは、Counting Upで使った++を使って、カウンターに1を加えます。

int presses = 0;

void loop() {
  int reading = digitalRead(2);
  if (reading == LOW && lastReading == HIGH) {
    presses++;
    Serial.println(presses);
  }
  lastReading = reading;
}

pressesはlastReadingと同じようにsetup()より上にあるため、loop()が実行されても値が保持されます。

出力処理はifの中にあるため、カウントが変わったときだけ数値が表示されます。1、2、3のように表示されます。ifの外に置くと、1秒間に何千回も同じカウントが表示されてしまいます。

challenge icon

チャレンジ

簡単

ボタンはピン2(INPUT_PULLUP)に接続されています。ボタンが押された回数を数えましょう。

  • setup()より前に宣言したpressesに回数を保持します
  • ボタンが押されたら、1を加えて回数を出力します

Runを押し、ボタンを数回押してシリアルモニターを確認してから、Checkを押します。

自分で試してみよう

const int buttonPin = 2;

int lastReading = HIGH;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int reading = digitalRead(buttonPin);
  // ボタンが押されたら回数を数え、その回数を出力する
  lastReading = reading;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

入力のすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド