Du bist hier: Sketch > Arduino programmieren >
Arduino Referenz: Struktur > for ↗
Arduino Referenz: Struktur > for ↗
zähle-von-bis-alle
1. Beschreibung
1.1. Wirkung
Zählt einen definierten Zahlenbereich in gewissen Abständen hoch. In Worten ausgedrückt: Zähle in der 1er Reihe von 0 bis 10 hoch. Dazu macht dein Sketch eine sog. Schleife, bis der Zielwert 10 erreicht ist. Das Resultat wird bei jedem Durchgang in eine Variable geschrieben, welche für weitere Aktionen verwendet werden kann.
Standardmässig wird die Variable "i" verwendet, was für "Iteration" (Wiederholung) steht. Der Name dieser Variable kann beliebig geändert werden.
1.2. Zulässige Werte
Zulässig sind ganze Zahlen und Dezimalbrüche. Diese können positiv oder negativ sein. Es ist auch möglich, die Schleife rückwärts zählen zu lassen.
1.3. Geschichte
Die die zähle-von-bis-alle Schleife hat eine lange Geschichte, die bis in die Zeit des allerersten Computers von Konrad Zuse zurückreicht. Computer waren in dieser Zeit eine grosse Ansammlung von automatischen Schaltern (Relais). Es lohnt sich, den Wikipedia Artikel über Zuse zu lesen. Der Schweizer Heinz Rutishauser entwicklete 1949 an der ETH Zürich auf der ERMETH in dieser Zeit die "für-Schleife" und liess damit ein erstes mal eine Zahl hochzählen, die etwas anderes steuern sollte. Die zähle-von-bis-alle Schleife ist eine Schweizer Erfindung.
- Wikipedia: Konrad Zuse ↗
- Wikipedia: for-Schleife ↗
- Wikipedia: ERMETH ↗
2. Ausprobieren
2.1. Die Helligkeit einer LED steuern
Eine LED soll in Schritten von 12% von 0% auf 100% erhellt werden. Zwischen zwei Aufhellvorgängen soll eine Pause von 500ms den Vorgang sichtbar machen.
2.2. Farbmuster mit zähle-von-bis-alle
Auf einem Pixelstreifen soll jeder 6te Pixel blau leuchten. Dies vor einem grünen Hintergrund.
Beachte die Funktion des Zwischenspeichers: Das Bild wird mit der zähle-von-bis-alle Schleife zuerst im Zwischenspeicher aufgebaut und erst wenn es fertig ist, an den LED-Stripe ausgegeben.
2.3. Typisch zähle-von-bis-alle: der Regenbogen Farbverlauf
Der Regenbogen ist die klassische Anwendung einer zähle-von-bis-alle Schleife. Schliesslich soll jeder Pixel, in der Abfolge des Farbkreises in einer anderen Farbe leuchten.
Der Wert Farbe in° soll also bei Pixel 1 = 0° sein und bei Pixel 72 = 359°. Jedem dazwischenliegenden Pixel soll ein Farbwert gegeben werden, der seiner Position entspricht. Du ahnst es vielleicht: Es gilt die Anzahl Farbgrade durch die Anzahl Pixel zu teilen: 360° / 72 Pixel = 5°
Der langen Rede kurzer Sinn: der Farbwert erhöht sich bei jedem Pixel um 5°
- Siehe auch Programmschnipsel 7 ↗
2.3. Alternative Programmierung
Die zähle-von-bis-alle Schleife ist nicht immer die beste Wahl. Gerade, wenn es gilt mehrere Dinge mit unterschiedlichen Zahlenreihen parallel zu steuern, bietet sich folgende Variante an. Sie funktioniert nach dem Prinzip:
- Zahl = Zahl + 1
3. PGLU-Sketches mit zähle-von-bis-alle Schleifen
- Roboter Auto Variante 6 "beschleunigen" ↗
- LED Plexiglaslampe Aufgaben 8-10 "alternative Programmierung" ↗
- LED Plexiglaslampe Variante 3-4 "Farbkreis nach Musik" ↗
- Neopixel Schnipsel 6 "Breath" ↗
- Neopixel Schnipsel 7-8 "Rainbow still und dynamisch" ↗
- Neopixel Schnipsel 11 "Smooth Musikpegel" ↗
- Nepoixel Schnipsel 12 "Knight Rider" ↗
- Neopixel Schnipsel 13 "Sparkle" ↗
- Lasergraph Aufgaben 6-8 "alternative Programmierung" ↗
- Lasergraph Variante 1 "Quadrat gefahren" ↗
- Lasergraph Variante 2 "Blubber" ↗
- Lasergraph Variante 3 "alternative Programmierung" ↗
- Lasergraph Variante 4 "Blubber musikgesteuert" ↗
- Lasergraph Variante 5 "Propeller" ↗