if ... else

Lese­zeit: 3 Minu­ten

if … else trifft je nach der vor­lie­gen­den Bedin­gung eine Ent­schei­dung, wie das Pro­gramm wei­ter­ge­hen soll. Das kann der Zustand eines Tas­ters (HIGH oder LOW) oder der Wert einer Varia­ble sein.

// wenn die Bedin­gung erfüllt ist ...
if (Bedin­gung == Zustand)
{
  // Befehl aus­füh­ren
}
// sonst
else
{
  // alter­na­ti­ven Befehl aus­füh­ren
}

if .. else wird mit ➨Ver­gleichs­ope­ra­to­ren ver­wen­det

Bei­spiel Abfra­ge eines Tas­ters

int TASTER = 13;
int TasterLesen;
int LED = 7;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(TASTER, INPUT_PULLUP);
}

void loop()
{
  // Tasterstatus lesen
  TasterLesen = digitalRead(TASTER);

  // Taster gedrückt
  if (TasterLesen == LOW) 
  {
    digitalWrite(LED, HIGH);
  }
  
  // sonst 
  else
  {
    digitalWrite(LED, LOW);
  }
}

Im Pro­gramm­ab­lauf sieht das so aus:

Bei­spiel Abfra­ge einer int-Variablen (Wür­fel)

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

  // Zufallsgenerator starten
  randomSeed(analogRead(0));
 }

void loop()
{
  int Minimum = 1;
  int Maximum = 7;
   
  // würfeln
  int Zahl = random(Minimum, Maximum);
  
  if (Zahl == 1)
  {
    Serial.println();
    Serial.println("  ●  ");
    Serial.println();
  }

  if (Zahl == 2)
  {
    Serial.println("●");
    Serial.println();
    Serial.println("    ● ");
  }

  if (Zahl == 3)
  {
    Serial.println("    ● ");
    Serial.println("  ● ");
    Serial.println("●");
  }

  if (Zahl == 4)
  {
    Serial.println("●   ●");
    Serial.println();
    Serial.println("●   ●");
  }

  if (Zahl == 5)
  {
    Serial.println("●   ●");
    Serial.println("  ●  ");
    Serial.println("●   ●");
  }

  if (Zahl == 6)
  {
    Serial.println("●   ●");
    Serial.println("●   ● ");
    Serial.println("●   ●");
  }

  Serial.println("---------------");
  delay(1000);
}

switch ... case Varia­ble Ope­ra­to­ren

Letzte Aktualisierung: 21. Jun 2020 @ 21:19