Steuerung / Hauptschleifen

wiederhole fortlaufend

wiederholeFortlaufend-Block

Block

Der wiederhole fortlaufend Block ist die Hauptschleife des Arduino-Programms. 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, wirden die Blöcke (Befehle) die in diesen Block sind, unendlich oft abgearbeitet. Daher spricht man auch von einer (Endlos-) Schleife.

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. 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.

Achtung: Nur Blöcke innerhalb von mache werden ausgeführt.
Sollen Blöcke testweise nicht ausgeführt werden, reicht es, diese aus dem wiederhole fortlaufend Block zu nehmen und auf "die Seite" zu legen.

Beispiel

Ein anschauliches und einfaches Beispiel ist ein "Bink" Programm. Hier wird eine LED 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 );
}