Auf Befehl blinken
Teil des Abschnitts Eingaben der Arduino-Journey von Coddy. Lektion 18 von 22.
Gib 3 ein, und die LED sollte dreimal blinken und dann stoppen. loop() wiederholt sich bereits, also lass die Funktion zählen: Speichere in einer Variablen die Anzahl der noch ausstehenden Blinksignale. Wenn loop() ausgeführt wird und noch Blinksignale ausstehen, blinkt die LED einmal und die Anzahl wird um eins verringert.
int blinksLeft = 0;
void loop() {
// Eine Zahl aus dem Serial-Monitor legt blinksLeft fest
if (blinksLeft > 0) {
// einmal blinken
blinksLeft = blinksLeft - 1;
}
}Wenn blinksLeft 0 erreicht, ist die Bedingung if falsch und die LED bleibt dunkel, bis die nächste Zahl eingegeben wird.
Der Zeilenumbruch nach der Zahl sorgt weiterhin dafür, dass parseInt() eine Sekunde später ein zweites Mal 0 zurückgibt. Ignoriere die 0 wie zuvor, sonst würde sie die noch ausstehenden Blinksignale löschen.
Aufgabe
MittelLass die LED an Pin 13 so oft blinken, wie die im seriellen Monitor eingegebene Zahl angibt:
- Wenn Zeichen warten, lies mit
parseInt()eine Zahl ein und speichere sie inblinksLeft, wenn sie größer als 0 ist. - Wenn
blinksLeftgrößer als 0 ist, blinke einmal (200 ms an, 200 ms aus) und ziehe 1 ab.
Drücke Run, sende 3 über den seriellen Monitor und klicke dann auf Check.
Probier es selbst
const int ledPin = 13;
int blinksLeft = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Eine Zahl aus dem Serial-Monitor legt blinksLeft fest
// Solange blinksLeft größer als 0 ist, einmal blinken und 1 abziehen
}
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