Menu
CoddyTech

버튼 두 개 동시에 사용하기

Coddy Arduino 여정의 입력 섹션에 포함된 레슨. 22개 중 7번째.

각 버튼에는 고유한 핀과 고유한 digitalRead()가 있습니다. 보드는 버튼을 하나씩 읽지만, 너무 빠르게 읽기 때문에 여러분에게는 동시에 읽는 것처럼 보입니다.

공장 기계에는 서로 멀리 떨어진 두 개의 버튼이 있는 경우가 많으며, 두 버튼을 모두 누르고 있는 동안에만 작동합니다. 양손이 버튼 위에 있으므로 어느 손도 칼날 가까이에 있을 수 없습니다. 이 규칙은 조건 결합에서 사용하는 &&입니다:

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를 켜고, 그렇지 않으면 끕니다

실행을 누르고, 버튼 하나를 누른 다음 두 버튼을 모두 누른 뒤 확인을 누르세요.

직접 해보기

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 플레이그라운드