Ein Blinksignal, das schneller wird
Teil des Abschnitts Erste Schaltungen der Arduino-Journey von Coddy. Lektion 17 von 22.
delay(waitTime) wartet so lange, wie der Wert von waitTime in diesem Moment ist. Ändere die Variable, während das Sketch läuft, und das Blinken passt sich daran an.
waitTime = waitTime - 100; // Das nächste Blinken ist 100 ms kürzerFüge das am Ende von loop() ein, und jedes Blinken ist kürzer als das vorherige.
Beobachte, was passiert, wenn es eine Weile läuft. Die Wartezeit schrumpft auf 0 und dann unter 0. delay() kann nicht eine negative Zeit warten: Es interpretiert -200 als eine enorme Zahl, etwa 49 Tage, sodass die LED eingefroren wirkt. Ein Sketch muss selbst entscheiden, wann er aufhört, die Wartezeit zu verkürzen. Darum geht es in der nächsten Lektion.
Aufgabe
EinfachLass die LED an Pin 13 immer schneller blinken:
- lege ganz oben
int waitTime = 1000;an - lass sie in
loop()mitdelay(waitTime)bei beiden Wartezeiten blinken - verringere am Ende von
loop()waitTimeum 200
Drücke auf Run und beobachte, bis es einfriert, dann auf Check.
Probier es selbst
// Erstelle waitTime hier
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
// Verkleinere waitTime
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Erste Schaltungen
2Mit deinem Computer kommunizieren
Hallo, Serial MonitorPrint oder PrintlnZahlen ausgebenDeine erste VariableHochzählenWenn ein Int an seine Grenzen stößt3Rechnen an der Tafel
Benannte KonstantenArithmetische OperatorenGanzzahldivisionDezimalzahlen mit floatEin Blinksignal, das schneller wirdÜbe selbstständig: Arduino-Playground