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 (Varia­ble == Wert)
{
  // Befehl aus­füh­ren
}
// sonst
else
{
  // alter­na­ti­ven Befehl aus­füh­ren
}

Der Ver­gleich wird mit == ausgeführt!

if .. else wird mit ➨Ver­gleichs­ope­ra­to­ren verwendet

Bei­spiel Abfra­ge eines Tasters

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:

Programmablauf if ... else

Bei­spiel Abfra­ge einer int-Varia­blen (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("  o  ");
    Serial.println();
  }

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

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

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

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

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

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

switch ... case switch ... case Variable Varia­ble Operatoren Operatoren

Letzte Aktualisierung: 12. Okt 2023 @ 22:11