Menu
CoddyTech

Tastendrücke zählen

Teil des Abschnitts Eingaben der Arduino-Journey von Coddy. Lektion 5 von 22.

Die Flanke aus der letzten Lektion kann alles auslösen, was einmal pro Tastendruck geschehen soll. Hier erhöht sie einen Zähler um eins, mit ++ aus dem Abschnitt „Hochzählen“:

int presses = 0;

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

presses steht oberhalb von setup(), wie lastReading, und behält daher seinen Wert zwischen den Durchläufen von loop().

Die Ausgabe befindet sich innerhalb des if, daher erscheint eine Zahl nur, wenn sich der Zählerstand ändert: 1, 2, 3. Außerhalb des if würde derselbe Zählerstand Tausende Male pro Sekunde ausgegeben.

challenge icon

Aufgabe

Einfach

Der Taster ist an Pin 2 (INPUT_PULLUP) angeschlossen. Zähle die Tastendrücke:

  • Speichere die Anzahl in presses, das oberhalb von setup() deklariert ist
  • wenn der Taster gedrückt wird, erhöhe die Anzahl um eins und gib sie aus

Klicke auf Run, drücke den Taster ein paar Mal und beobachte den Serial-Monitor. Klicke dann auf Check.

Probier es selbst

const int buttonPin = 2;

int lastReading = HIGH;

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

void loop() {
  int reading = digitalRead(buttonPin);
  // Wenn der Taster gedrückt wird, zähle den Tastendruck und gib den Zählerstand aus
  lastReading = reading;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Eingaben

Übe selbstständig: Arduino-Playground