Ampelschaltung mit Millis

Das IDE-Beispiel blink without delay ist ein schlechtes Beispiel wenn man die Funktionsweise von nicht-blockierendem Timing verstehen will.

Aus folgenden Gründen:

  1. KEIN Hinweis: Es gibt KEINEN Hinweis auf den absolut fundamentalen Unterschied zwischen delay und nicht-blockierendem Timing.
    So lange man sich unter "millis() versucht etwas ähnliches vorzustellen wie delay() hat man EXTREME Schwierigkeiten es zu verstehen weil nicht-blockierendes Timing nun mal gaaanz anders arbeitet. Man kann es einfach nicht mit delay zur Deckung bringen!

  2. Die gegebenen Erklärungen sind dann vergleichsweise dürftig

  3. Die gewählte Grundkonstruktion im Code mit verteilten Variablen macht es zusätzlich schwer es zu verstehen

  4. Die gewählten Variablennamen sind nicht besonders gut selbsterklärend

Und all das macht es schwerer als nötig das Grundkonzept zu verstehen.

Das mindestete wäre das Nachwächter-Beispiel zu erwähnen.
Und noch besser verständlich wird es wenn man den Code-Ablauf mit einfach nachvollziehbaren Zahlen beschreibt.

vgs