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.
Aufgabe
EinfachDer Taster ist an Pin 2 (INPUT_PULLUP) angeschlossen. Zähle die Tastendrücke:
- Speichere die Anzahl in
presses, das oberhalb vonsetup()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;
}
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