## Unit 10 – For-Loop and the LED calculator

A great thing in programming are loops like the for-loop. It repeats tasks like blinking an LED a specific number.

The for-loop is repeated for a specific number. It looks like that:

```for (StartValue; Test; FollowUp){

}```

We can simply put the commands which should be repeated into the curly brackets. This should be the blinking of our LED:

```for (StartValue; Test; FollowUp){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}```

### StartValue

For the start value, we create a new variable. Fortunately, we can simply do that in the same line:

`for (int counter=1; Test; FollowUp){`

So, it is an integer variable (int) with the name counter which equals 1.

### FollowUp

Every time the for-loop is repeated the variable counter should be increased by 1. So we write as FollowUp:counter = counter +1

`for (int counter=1; Test; counter = counter+1){`

### Test

The LED should blink for three times and we have a variable which counts up every time the LED blinks. Somehow we have to check, if our variable larger then 3 to stop the for-loop. No problem! That is what the Test is for: counter<4

`for (int counter=1; counter<4; counter = counter+1){`

Now we only have to ad a long break after our for-loop. Otherwise the program would directly start over and we wouldn’t see a change. Let’s put in a break of 2 seconds. You already know, how to to this, no? :-)

```int ledPin = 9;

void setup(){
pinMode(ledPin,OUTPUT);
}

void loop(){
for (int counter=1; counter<4; counter = counter+1){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
delay(2000);
}```

Does it work? Perfekt! It blinks three times and than it stops for two seconds. Change the number in the Test-Argument to 10. What happens?

```int ledPin = 9;

void setup(){
pinMode(ledPin,OUTPUT);
}

void loop(){
for (int counter=1; counter<10; counter = counter+1){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
delay(2000);
}```

Hm, it just blinks nine times. It is because less than means 1 to 9, not 1 to 10. Change the less than (<) to less or equal (<=).

```int ledPin = 9;

void setup(){
pinMode(ledPin,OUTPUT);
}

void loop(){
for (int counter=1; counter<=10; counter = counter+1){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
delay(2000);
}```

Now it blinks ten times, no? Let’s build a little calculator with it. At first, we create the variable myResult and send it to the for-loop:

```int ledPin = 9;
int myResult;

void setup(){
pinMode(ledPin,OUTPUT);
}

void loop(){
for (int counter=1; counter<=myResult; counter = counter+1){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
delay(2000);
}```

And now we need the program to do the calculation. I really don’t want to do everything by my own ;-)

```int ledPin = 9;
int myResult;

void setup(){
pinMode(ledPin,OUTPUT);
}

void loop(){
myResult = 2 + 3;
for (int counter=1; counter<=myResult; counter = counter+1){
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
}
delay(2000);
}```

Upload the program to your Arduino and count the numbers of blinks. Now, calculate some other problems like 4 + 7 or 329 + 12. Now you build your own LED calculator. Well done!

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.