Menu
CoddyTech

2つのボタンを同時に使う

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

各ボタンにはそれぞれ専用のピンと専用のdigitalRead()があります。ボードは順番に読み取りますが、とても速いので、あなたには同時に読み取っているように感じられます。

工場の機械では、離れた場所に2つのボタンがあり、両方が押されている間だけ動作することがよくあります。両手がボタンにあるので、どちらの手も刃の近くにありません。このルールには「条件の結合」で学んだ&&を使います。

bool left = digitalRead(2) == LOW;
bool right = digitalRead(3) == LOW;

if (left && right) {
  // 両方のボタンが押されている
}

両方のピンにINPUT_PULLUPが必要です。片方を忘れると、そのピンは浮いた状態になり、この場合はLOWとして読み取られ、ボタンが常に押されているかのようになります。

challenge icon

チャレンジ

簡単

ボタンはピン2と3に接続され、どちらもGNDにつながっており、LEDはピン13にあります。両方のボタンが押されている間だけLEDを点灯させます。

  • ピン2と3をINPUT_PULLUPに設定します
  • 各ボタンの状態をboolに読み込みます
  • 両方が押されているときにLEDを点灯させ、それ以外の場合は消灯します

Runを押し、片方のボタンを押してから、両方のボタンを押し、次にCheckを押します。

自分で試してみよう

const int leftPin = 2;
const int rightPin = 3;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  // 両方のボタンのピンをINPUT_PULLUPに設定する
}

void loop() {
  // 両方のボタンの状態を読み取り、両方が押されている間だけLEDを点灯させる
}
quiz icon腕試し

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

入力のすべてのレッスン

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