Block
Der sonst
Block kann als Ergänzung des falls
Blocks gesehen werden. Er kann nur direkt im Anschluss an einen zuvor gesetzten falls
oder sonst falls
Block gesetzt werden. Die Positionierung unter anderen Blöcken ist in ArduBlock zwar grundsätzlich möglich, jedoch wird der Compiler der Arduino IDE hier einen Fehler melden
und den Code nicht auf den Microcontroller laden können.
Der sonst
Block ist mit den falls
und sonst falls
Blöcken verwandt. Auch mit ihm lässt sich eine Verzweigung erstellen.
Allerdings ist diese Verzweigung nicht an eine teste
Bedingung geknüpft.
Für den folgenden Abschnitt wird davon ausgegangen, dass der falls
bzw. sonst falls
Block verstanden wurde.
Diese Blöcke prüfen Bedingungen darauf ob sie wahr oder falsch sind und führen dann bei einer wahren Bedingung ein vorgegebenes Stück Code aus.
Falls die Bedingungen eines falls
Blocks und eventuell noch darauffolgenden sonst falls
Blöcken alle nicht erfüllt, also FALSE
sind, wird keine der
unter dann
eingegebenden Codeabschnitte ausgeführt.
Hier kommt nun der sonst
Block ins Spiel.
Dieser kann zum Absichern von Verzweigungen verwendet werden, so dass das Programm gezwungen ist einen Zweig zu gehen auch wenn alle anderen Bedingungen nicht erfüllt sind.
Darum besitzt der sonst
Block auch keine teste
Bedingung, denn seine Bedingung ist, dass die Bedingungen der falls
und sonst falls
Blöcke an die er angehängt ist alle nicht erfüllt sind. Im Beispiel wird dies klarer.
dann
In den dann
Abschnitt kann eine Folge von weiteren Blöcken zu Anweisung von Befehlen eingefügt werden.
Dies kann zum Beispiel ein digitalWrite
Block sein, der einen Pin HIGH
oder LOW
schält oder eine Variable, die auf einen bestimmten Wert gesetzt werden soll und so weiter.
Beispiel
Nun soll das Beispiel aus der falls
Block-Referenz wieder herangezogen werden. Wir gehen davon aus, dass eine Variable namens temperatur
angelegt wurde, die die
aktuelle Temperatur in °C angibt. Der Ausgang des Pin 2 kontrolliert einen Ventilator.
Wenn die Temperatur größer als 28°C ist soll der Ventilator eingeschaltet werden. Andernfalls soll er ausgeschaltet werden, indem der Pin 2 auf LOW
geschaltet wird.
Für die zweite Bedingung soll ein sonst
Block verwendet werden.
So könnte das Beispiel in ArduBlock aussehen:
Code
Im Code für den Arduino wird der Baustein mit der Funktion else{dann}
umgesetzt. ("else" ist Englisch und heißt übersetzt "sonst" oder "andernfalls")
Der auszuführende Code wird in die geschweiften Klammern {} geschrieben.
Im Code würde das Beispiel dann folgendermaßen aussehen:
if (( temperatur > 28 )) {
digitalWrite( 2 , HIGH );
}
else {
digitalWrite( 2 , LOW );
}