055 slingor while

Slingor kan användas för att upprepa kod flera gånger. Först om while-slingor och sedan om for-slingor.

Kod på GitHub

Idé

Skriv ut:

  1
  2
  3

Enkel kod i setup

  Serial.begin(9600);

  Serial.println(1);
  Serial.println(2);
  Serial.println(3);

Men hur blir det om vi vill skriva ut fler tal? Till exempel 1, 2, 3, ..., 999. Då blir det många rader med kod. Nu finns det en smidigare lösning. Kommer dock att visa lösningen för att skriva ut 1, 2, 3.

Kod med while-slinga i setup

  Serial.begin(9600);

  int i = 1;
  while (i < 4)
  {
      Serial.println(i);
      // öka i med ett
      i = i + 1;
  }

Kod för att skriva ut 3, 5, 7

  Serial.begin(9600);

  int i = 3;
  while (i < 8)
  {
      Serial.println(i);
      // öka i med två
      i = i + 2;
  }

Kod för att räkna ner 10, 7, 4, 1

  Serial.begin(9600);

  // startvärde
  int i = 10;
  // medan större än noll
  while (i > 0)
  {
      Serial.println(i);
      // minska med 3
      i = i - 3;
  }

Utmaning - while

A

Räkna upp 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

B

Räkna ner 10, 8, 6, 4, 2, 0