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.