Du bist hier: Sketch > Arduino programmieren > wenn-(dann)-sonst

Arduino Referenz: Struktur > if ↗

Arduino Referenz: Struktur > if ↗

wenn-(dann)-sonst

Sketch 1: Die wenn-(dann) Frage ist das wichtigste Element deines Sketches
Sketch 2: Wenn-(dann)-sonst ist eine von mehreren Varianten
Sketch 3: Eine Spielart ist die wenn-(dann)-sonst-wenn Frage

1. Beschreibung

1.1. Wirkung

Die wenn-(dann)-sonst Frage ist eine der wichtigsten Anweisungen für dein Arduino Sketch und sehr simpel. Du kannst damit Verzweigungen, die an eine Bedingung geknüpft sind programmieren.

Bei Erfüllung deiner Bedingung wird das Sketch innerhalb der Klammer ausgeführt. Trifft deine Bedingung nicht zu, wird nichts unternommen, ausser du hast eine sonst-Anweisung definiert. Dann wird diese ausgeführt.

1.2. Zulässige Werte

Wenn-(dann)-sonst gibt "wahr" oder "falsch" zurück. Als Eingaben sind Positive und negative Zahlen möglich oder boolesche Variablen.

Verglichen wird mit logischen- und booleschen Operatoren.

1.3. Verwendung

Wenn du etwas vergleichen willst, kommt die wenn-(dann)-sonst Anweisung zum Einsatz. Das könnte sein:

  • Wurde ein Sensor berührt und soll darauf eine Reaktion passieren?
  • Soll etwas geschehen, sobald ein Mikrofon lautere Musik "hört" als 60%?
  • Ist eine gewisse Zeit verstrichen und soll dann etwas gemacht werden?

1.4. Darstellung der Logik

Wenn-(dann)-sonst Sketches lassen sich besonders gut mit einem klassischen Flussdiagramm verstehen. Die folgenden Darstellungen zeigen, dass dies zum echten Denksport werden kann. Welches der Flussdiagramme stellt welches Sketch auf den Videos weiter unten dar?

Grafik 1: Flussdiagramm wenn-sonst (Klick für Zoom)
Grafik 2: Flussdiagramm wenn-sonst-wenn (Klick für Zoom)

1.5. Geschichte

Gleich wie die zähle-von-bis-alle Schleife ist die wenn-(dann)-sonst Anweisung der grosse Klassiker in allen Programmiersprachen. Man kann sagen, wenn-(dann)-sonst macht den Computer zu dem, was er ist: Eine Maschine die fähig ist, Entscheidungen zu treffen!

Die Ursprünge der bedingten Anweisung werden in der Geschichte des Wissenschafters Charles Babbage und der Mathematikerin Ada Lovelace um das Jahr 1837 in Grossbritannien erzählt. Ada gilt als die erste Programmiererin der Welt und hat zusammen mit Babbage den Maschinen das Entscheiden beigebracht.

Ein sehenswertes Video von SRF zeigt eindrücklich, die dramatischen Ereignisse rund um diese beiden innovativen aber auch exzentrischen Persönlichkeiten.

Ada Lovelace - die erste Programmiererin
Bild 1: Ada Lovelace 1836 - Sie kann als die erste Programmiererin bezeichnet werden (Quelle: Wikipedia)

2. Ausprobieren

2.1. Eine Reihe LEDs mit Poti steuern

Diese zwei Sketches zeigen den logischen Unterschied zwischen wenn-(dann)-sonst und wenn-(dann)-sonst-wenn anschaulich. Versuche die Unterschiede nachzuvollziehen. Als Vereinfachung kannst du dein Sketch auch nur für zwei LEDs schreiben.

Sketch 4: LEDs leuchten mit der Position des Potentiometers
Sketch 5: Immer nur eine LED leuchtet

3. PGLU-Sketches mit wenn-(dann)-sonst