Arduino For-Schleife

In diesem Beitrag möchte ich dir die For-Schleife vorstellen und zeigen wie du diese in deine Arduino Programme / Sketche einbindest.

Programm für die Fibonacci-Folge in der Arduino IDE
Programm für die Fibonacci-Folge in der Arduino IDE

Mit einer For-Schleife kannst du wiederkehrende Operationen in einem Programm wiederholen.

Die verschiedenen Schleifen für die Programmierung in der Arduino IDE habe ich dir bereits im Beitrag Arduino Programmierung: Schleifen vorgestellt. Hier soll es lediglich speziell um die For-Schleife gehen.

formeller Aufbau einer For-Schleife

Eine For-Schleife ist formell in die 3 Bereiche Aufgeteilt:

  • Initialisierung,
  • Bedingung, sowie
  • Increment

Die 3 Bereiche sind jeweils durch ein Semikolon “;” getrennt.

for(Initialisierung;Bedingung;Increment){}

Initialisierung

Wird am Anfang der Schleife ausgeführt. Hier wird zumeist der Datentyp der Variable für den Zähler definiert zbsp. Byte, Short, Integer, Long, Float, Double.

int i = 0;
//oder
long i = 1L;
//oder
double i= 1.1d;

Bedingung

Die Bedingung wird bei jedem Durchlauf der Schleife ausgeführt. D.h. der Zähler startet beim Initialen Wert wird durch das Increment erhöht oder verringert und in der Bedingung geprüft.

for(int i=0;i<10;i++){}

Wenn die Bedingung TRUE ist dann wird der Code in der Schleife ausgeführt. Wenn der Wert FALSE ist wird die Schleife abgebrochen.

Die initialisierte Variable steht nach der For-Schleife nicht mehr zur Verfügung!

Increment

Im dritten Bereich der For-Schleife wird die Initiale Variable manipuliert. Wir können diese Variable incrementieren (um einen Wert erhöhen) oder auch decrementieren (um einen Wert verringern).

For-Schleife mit Incrementierter Variable

Das Incrementieren einer Variable bewirkt das diese um einen Wert x erhöht wird. Im normalfall wird dieses mit <<Variablenname>>++ gemacht. Dieses Bewirkt das die Variable um genau den Wert 1 erhöht wird.

for(int i=0;i<10;i++){}

Du kannst die Variable aber auch um einen anderen Wert erhöhen zbsp. um 5.

for(int i=0;i<100;i+5){}

For-Schleife mit Decrementierter Variable

Das Decrementieren einer Variable bewirkt das diese um den Wert x verringert wird. Normalerweise wird die Variable um 1 verringert, dazu schreibt man <<Variablenname>>– im Code.

for(int i=10;i>0;i--){}

Wie beim Incrementieren gezeigt, kannst du auch beim Decrementieren die Schritte um welche die Variable manipuliert werden soll, selber festlegen.

for(int i=100;i>0;i-5){}

Beispiel – Ausgabe von Daten auf der seriellen Schnittstelle

Als Beispiel zur For-Schleife wollen wir Daten auf der seriellen Schnittstelle ausgeben.

Die Daten sind die Fibonacci-Folge also: 1, 2, 3, 5, 8, 13 ….

Ein Wert in der Fibonacci-Folge berechnet sich vereinfacht gesagt, aus der Addition der zwei vorraus gegangen Werte. zbsp. 2 + 3 = 5, 3 + 5 = 8 usw.
Ausgenommen von der Regel ist die Zahl 1 da diese keine vorraus stehenden Werte besitzt.

void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println("Fibonacci-Folge");
  unsigned long zahl1 = 1;
  unsigned long zahl2 = 2;
  for(unsigned long i=1;i<=25;i++){
    unsigned long temp = zahl1 + zahl2;
    Serial.println("["+String(i,DEC)+"] "+String(temp, DEC));
    zahl1 = zahl2;
    zahl2 = temp;
  }
  delay(2500);
}

Quellen

Eine noch ausführlichere Erläuterung zur For-Schleife für die Arduino IDE findest du in der Arduino-Referenz.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.