Du bist hier: Sketch > Arduino programmieren > zähle-von-bis-alle

Arduino Referenz: Struktur > for ↗

Arduino Referenz: Struktur > for ↗

zähle-von-bis-alle

Sketch 1: Zähle-von-bis-alle zählt einen Zahlenbereich in definierten Schritten hoch

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.

Bild 1: Heinz Rutishauser 3.v.l. sitzende Reihe, ist der Erfinder der für-Schleife. Quelle: Bildarchiv ETH-Bibliothek, Zürich. Foto: 1963

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.

Sketch 2: Mit der zähle-von-bis-Schleife eine LED schrittweise heller 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.

Sketch 3: Farbmuster mit Hintergrund auf Neopixel Stripe malen (Klick für zoom)
Bild 2: Neopixel Farbmuster mit zähle-von-bis-alle Schleife: jeder sechste Pixel ist blau

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°

Sketch 4: Regenbogen auf Neopixel Stripe mit 72 Pixeln (Klick für Zoom)
Bild 3: Neopixel mit zähle-von-bis Schleife

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
Sketch 5: Neopixel Regenbogen mit alternativer Programmierung (Klick für Zoom)

3. PGLU-Sketches mit zähle-von-bis-alle Schleifen