Steuerung / Verzweigung

falls

wiederholeFortlaufend-Block

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.

if_beispiel

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 );
}