Menu
CoddyTech

ボタンの状態を表示する

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

「ボタンを読む」では、digitalRead(pin) は HIGH または LOW を返しました。ボードにとって、これらは単なる数値です。HIGH は 1、LOW は 0 です。したがって、読み取った値を int 変数に保持し、ほかの数値と同じように表示できます。

int state = digitalRead(2);
Serial.println(state);

ここでのボタンの配線は、前に見たとおりです。ボタンを押している間はピン 2 とグラウンド(GND、0 ボルト)がつながり、INPUT_PULLUP によって、それ以外の時間はピンが HIGH に保たれます。そのため、シリアルモニターには、ボタンを押していないときは 1、押しているときは 0 と表示されます。

loop() は 1 秒間に何千回も実行されます。表示後に短い delay(100) を入れると、シリアルモニターが読みやすくなります。1 秒間に何千行もではなく、10 行が表示されます。

challenge icon

チャレンジ

簡単

ボタンはピン2に接続されています。その状態をシリアルモニターに出力します:

  • setup()で、ピン2をINPUT_PULLUPに設定します
  • loop()で、ピンの値をintに読み込み、Serial.println()で出力してから、100 ms待ちます

Runを押し、シリアルモニターを開いてボタンを押したままにしてから、Checkを押します。

自分で試してみよう

const int buttonPin = 2;

void setup() {
  Serial.begin(9600);
  // ボタンのピンをINPUT_PULLUPに設定する
}

void loop() {
  // ボタンの状態を読み取り、読み取った値を出力し、100 ms待つ
}
quiz icon腕試し

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

入力のすべてのレッスン

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