버튼 누름 횟수 세기
Coddy Arduino 여정의 입력 섹션에 포함된 레슨. 22개 중 5번째.
지난 수업의 에지는 버튼을 누를 때마다 한 번 실행되어야 하는 어떤 동작이든 처리할 수 있습니다. 여기서는 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 밖에 있으면 초당 수천 번 같은 카운트를 출력하게 됩니다.
챌린지
쉬움버튼은 핀 2(INPUT_PULLUP)에 연결되어 있습니다. 버튼을 누른 횟수를 세세요:
- 횟수를
presses에 저장하세요.setup()위에 선언합니다. - 버튼을 누르면 횟수를 1 늘리고 출력하세요.
Run을 누르고 버튼을 몇 번 누른 다음 Serial 모니터를 살펴보고, 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;
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
입력의 모든 레슨
직접 연습해 보세요: Arduino 플레이그라운드