Block
Der falls
Block hat eine wichtige Funktion, wenn es darum geht komplexere Programme zu erstellen. Häufig reicht ein fest programmierten Ablauf nicht aus.
Durch den falls
Block lassen sich Verzweigungen erstellen, sodass der Programmablauf bei geänderten Verhältnissen variieren kann.
Es geht darum eine vorgegebene Bedingung zu überprüfen und daraufhin zu entscheiden, ob der darin eingefügte Code ausgeführt oder übersprungen werden soll.
Dieses Verfahren wird nahezu überall in der Programmentwicklung eingesetzt.
teste
In den teste
Parameter wird eine Bedingung eingesetzt. Diese kann nur zwei mögliche Zustände haben. Entweder die Bedingung ist wahr (true
) oder falsch (false
).
Es kann ein digitaler Eingang eingesetzt werden, an dem entweder ein Signal anliegt, dann ist dieser wahr und der Code wird ausgeführt oder wenn kein Signal anliegt und damit die Bedingung nicht erfüllt ist,
der Code dann nicht ausgeführt wird.
Es können auch zwei Variablen oder eine Variable mit einem festen Wert verglichen werden. Zum Beispiel, dass die Temperatur eines Sensors über 28°C liegen muss um einen Pin umzuschalten, der dann einen
Ventilator aktiviert. Weiter unten wird dies in einem Beispiel erklärt.
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 gesetzt werden soll
oder sogar weitere falls
Blöcke, wobei sich hier auch die Verwendung eines falls-sonst
Blocks anbietet.
Beispiel
Um das Beispiel von oben noch einmal aufzugreifen gehen wir wieder davon aus, dass eine temperatur
Variable angelegt wurde, welche den Wert der Temperatur
in °C annimmt und mit dem Pin 2 ein Ventilator kontrolliert werden kann, der den Benutzer bei einer Temperatur über 28°C kühlen soll.
Wenn der Pin 2 auf HIGH
gesetzt wird, dann wird damit der Ventilator aktiviert.
Code
Im Code für den Arduino wird der Baustein mit der Funktion if(teste){dann}
umgesetzt. ("if" ist Englisch und heißt übersetzt "wenn" oder "falls")
Wo hier teste
eingetragen wurde müsste dann natürlich die zu überprüfende Bedingung eingetragen werden.
Wenn das oben genannte Beispiel wieder herangezogen wird und davon ausgegangen wird, dass eine anloge Variable mit dem Namen temperatur
angelegt wurde, die den
Temperaturwert in °C angibt, dann müsste für teste
hier temperatur > 28
eingesetzt werden.
Die auszuführenden Operationen werden dann zwischen die beiden geschweiften Klammern {} geschrieben, wo hier dann
steht.
Im Code würde das Beispiel dann folgendermaßen aussehen:
if ( temperatur > 28 ) {
digitalWrite( 2 , HIGH );
}