Arduino verschachtelte if-Anweisung

Ammar Ali 12 Oktober 2023
Arduino verschachtelte if-Anweisung

In diesem Tutorial wird das Hinzufügen einer if-Anweisung in einer anderen mithilfe der verschachtelten if-Anweisung in Arduino erläutert.

Arduino verschachtelte if-Anweisung

Die if-Anweisung in Arduino definiert Bedingungen wie das Erledigen einer Aufgabe, wenn bestimmte Bedingungen erfüllt sind. Wenn wir eine prüfen wollen und sie wahr ist, wollen wir eine andere Bedingung prüfen,

Wir können die zweite if-Anweisung innerhalb des Geltungsbereichs der ersten if-Anweisung definieren.

Syntax:

if (condition1) {
  if (condition2) {
    // do something
  } else {
    // do something
  }
}

Wenn im obigen Code die erste Bedingung wahr ist, prüft das Programm die zweite Bedingung, und wenn sie ebenfalls wahr ist, wird der Code in der zweiten Bedingung ausgeführt.

Wir können auch eine if-Anweisung in die zweite if-Anweisung im obigen Code einfügen.

Lassen Sie uns zum Beispiel eine verschachtelte if-Anweisung erstellen, die angegebene Zahl überprüfen und einen Text gemäß den Bedingungen ausgeben.

Code:

long t1 = 11;
long t2 = 600;
long t3 = 600;
void setup() { Serial.begin(9600); }
void loop() {
  if (t1 > 10) {
    if (t2 < 500) {
      Serial.println("Hello");
    } else {
      Serial.println("World");
    }
  } else if (t3 > 500) {
    Serial.println("Something else");
  }
  delay(500);
}

Ausgang:

World

Die Ausgabe zeigt, dass der Text Welt auf dem seriellen Monitor gedruckt wird, was bedeutet, dass die erste Bedingung wahr und die zweite falsch ist. Wir haben die Funktion delay() verwendet, um dem Code eine gewisse Verzögerung hinzuzufügen.

Wenn wir mehrere Bedingungen überprüfen möchten, bevor wir eine Aufgabe ausführen, können wir auch die Zeichen && und || verwenden. Betreiber. Das Symbol &&, auch bekannt als AND-Operator, wird nur verwendet, wenn alle gegebenen Bedingungen erfüllt sind, wenn wir eine Aufgabe ausführen.

Das || Symbol, auch als ODER-Operator bekannt, wird verwendet, wenn wir eine Aufgabe ausführen möchten, auch wenn eine Bedingung von allen gegebenen Bedingungen wahr ist.

Lassen Sie uns beispielsweise zwei Bedingungen definieren, um den Bereich einer Zahl zu prüfen und einen bestimmten Text auszugeben.

Siehe Code unten.

long t1 = 15;
void setup() { Serial.begin(9600); }
void loop() {
  if (t1 > 10 && t1 < 15) {
    Serial.println("Hello");
  }
  if (t1 > 10 || t1 < 15) {
    Serial.println("World");
  }
  delay(500);
}

Ausgang:

World

Im obigen Code haben wir zwei if-Anweisungen definiert, und jede hat zwei Bedingungen, aber unterschiedliche Operatoren. Einer hat einen &&-Operator und der andere hat ein || Operator.

Wie in der obigen Ausgabe gezeigt, wird die zweite if-Anweisung ausgeführt, da eine der beiden Aussagen wahr ist und der Operator der OR-Operator ist. Wir können auch mehr als zwei Bedingungen definieren und beide Operatoren innerhalb einer einzigen if-Anweisung verwenden.

Wir können auch die Anweisung switch anwenden, um Bedingungen in Arduino zu überprüfen.

Syntax:

switch (variable) {
  case A:
    // do something when variable equals A
    break;
  case B:
    // do something when variable equals B
    break;
  default:
    // do the default and its optional
    break;
}

Die variable enthält den Wert, den wir verwenden möchten, um Bedingungen in der obigen Syntax zu definieren. Wenn die erste Bedingung erfüllt ist, wird der folgende Code ausgeführt, und das Programm prüft die anderen Fälle wegen der Anweisung break nicht.

Beachten Sie, dass die Anweisung switch() nur verwendet werden kann, um die Gleichheitsbedingung zu prüfen. Wenn wir die Kleiner-als- und Größer-als-Bedingungen verwenden wollen, müssen wir die if-else-Anweisung verwenden.

Nehmen wir zum Beispiel eine Zahl, definieren drei Fälle und drucken jeweils einen Text. Wenn keine der angegebenen Bedingungen zutrifft, wird die Standardanweisung ausgeführt.

Code:

long t1 = 16;
void setup() { Serial.begin(9600); }
void loop() {
  switch (t1) {
    case 15:
      Serial.println("t1 = 15");
      break;
    case 10:
      Serial.println("t1 < 15");
      break;
    case 20:
      Serial.println("t1 > 15");
      break;
    default:
      Serial.println("One of the cases is true");
      break;
  }
  delay(500);
}

Ausgang:

None of the cases is true

Wie wir in der obigen Ausgabe sehen können, ist keiner der Fälle im obigen Code wahr. Deshalb wird die default-Anweisung ausgeführt.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook