Menu
CoddyTech

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ürzer

Fü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.

challenge icon

Aufgabe

Einfach

Lass die LED an Pin 13 immer schneller blinken:

  • lege ganz oben int waitTime = 1000; an
  • lass sie in loop() mit delay(waitTime) bei beiden Wartezeiten blinken
  • verringere am Ende von loop() waitTime um 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
}
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 Erste Schaltungen

Übe selbstständig: Arduino-Playground