Menu
CoddyTech

Liczenie naciśnięć przycisku

Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 5 z 22.

Zbocze z poprzedniej lekcji może uruchamiać dowolną czynność, która powinna nastąpić raz na każde naciśnięcie. Tutaj zwiększa licznik o jeden za pomocą ++ z lekcji Liczenie w górę:

int presses = 0;

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

presses znajduje się przed setup(), tak jak lastReading, więc zachowuje swoją wartość między uruchomieniami loop().

Wypisywanie znajduje się wewnątrz if, więc liczba pojawia się tylko wtedy, gdy licznik się zmienia: 1, 2, 3. Poza if ta sama wartość licznika byłaby wypisywana tysiące razy na sekundę.

challenge icon

Wyzwanie

Łatwy

Przycisk jest podłączony do pinu 2 (INPUT_PULLUP). Zliczaj jego naciśnięcia:

  • przechowuj liczbę naciśnięć w presses, zadeklarowanym przed setup()
  • gdy przycisk zostanie wciśnięty, zwiększ liczbę o jeden i wyświetl ją

Naciśnij Run, naciśnij przycisk kilka razy i obserwuj monitor portu szeregowego, a następnie naciśnij Check.

Spróbuj swoich sił

const int buttonPin = 2;

int lastReading = HIGH;

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

void loop() {
  int reading = digitalRead(buttonPin);
  // gdy przycisk zostanie wciśnięty, zlicz naciśnięcie i wypisz ich liczbę
  lastReading = reading;
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino