Steuerung / Hauptschleifen

wiederhole fortlaufend

wiederholeFortlaufend-Block

Block

Der wiederhole fortlaufend Block ist ein wichtiger Bestandteil eines Arduinoprogramms. Alle Programme müssen eine Hauptschleife besitzen, um auf den Arduino hochgeladen werden zu können. Der wiederhole fortlaufend Block ist einer von zwei möglichen Hauptschleifen. Wie der Name bereits aussagt, wird jede Operation die in diesen Block eingefügt wird unendlich oft abgearbeitet. Man spricht auch von einer Schleife. Hier handelt es sich speziell um eine Endlosschleife, da sie keine Abbruchbedingung besitzt, welche die endlose Ausführung unterbrechen würde.

mache

Dem Block können im mache Feld verschiedene beliegig viele weitere Blöcke zugeordnet werden. In der Reihenfolge, in welcher diese in angeordnet sind, werden sie auch vom Arduino ausgeführt. Dabei kann es sich um Bausteine handeln, welche eine bestimmte Zeit verzögern, einen Ausgang setzen, einen Eingang auslesen oder sogar um weitere Schleifen. Um einen Block hinzuzufügen muss dieser mit der Maus an die entsprechende Stelle gezogen werden. Wenn der Block dann erkannt wird ist ein klicken zu hören und der neue Block rastet an dem Vorherigen ein und verbindet sich mit diesem. So können mehrere Blöcke untereinander platziert werden.

Beispiel

Ein anschauliches und einfaches Beispiel wäre ein "Bink" Programm. Hier wird eine LED über einen Vorwiderstand an einen digitalen Pin des Arduinos angeschlossen. In diesem Beispiel an Pin 2. Dieser wird dann jeweils eine Sekunde auf 5 Volt und anschließend eine Sekunde auf 0 Volt geschaltet. Dadurch leuchtet die LED eine Sekunde und erlischt danach für eine Sekunde. Diese Operationen werden dann unendlich oft wiederholt.

Dazu benötigt man einen wiederhole fortlaufend Block, zwei digitalWrite Blöcke und zwei warte Millisekunden Blöcke. Im ersten digitalWrite Block wird der Pin 2 auf HIGH gesetzt, dann wird die Wartezeit des ersten warte Millisekunden Blocks auf 1000 Millisekunden gesetzt was einer Sekunde entspricht.
Im zweiten digitalWrite Block wird der Pin 2 auf LOW gesetzt und im folgenden warte Millisekunden Block wieder 1000 Millisekunden gewartet.
Dann fängt das Programm wieder von Vorn an. So könnte das Beispiel in ArduBlock aussehen.

loop_beispiel

Code

Im Code für den Arduino wird der Baustein mit der Funktion void loop(){mache} umgesetzt. Die auszuführenden Operationen werden dann zwischen die beiden geschweiften Klammern {} geschrieben.

Im Code würde das Beispiel dann folgendermaßen aussehen:

void loop() {
  digitalWrite( 2 , HIGH );
  delay( 1000 );
  digitalWrite( 2 , LOW );
  delay( 1000 );
}