Du bist hier: Sketch > Arduino programmieren >
Arduino Referenz: Struktur > if ↗
Arduino Referenz: Struktur > if ↗
wenn-(dann)-sonst
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.
- Wikipedia: Boolesche Variable ↗
- Wikipedia: Logischer Operator ↗
- Wikipedia: Boolescher Operator ↗
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?
- Tipp: erstelle dein eigenes Flussdiagramm online hier ↗
- Lade die Flussdiagramme hier herunter
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.
- SRF Video: Ada Lovelace - die erste Programmiererin ↗
- Wikipedia: Analytical Engine von Charles Babbage ↗
- Wikipedia: Ada Lovelace ↗
- Wikipedia: Bedingte Anweisung und Verzweigung ↗
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.
3. PGLU-Sketches mit wenn-(dann)-sonst
- Roboter Auto alle Aufgaben und Varianten ↗
- LED Plexiglaslampe Aufgaben 8-10 ↗
- Lasergraph Varianten 3-4 ↗
- Kaugummiautomat Variante 1 ↗
- workshop.pglu.ch Sketch zeit-in-ms
- workshop.pglu.ch Sensor Schalter
- workshop.pglu.ch Aktor LED
- workshop.pglu.ch Aktor Motor