Arduino 중첩 if 문
이 튜토리얼에서는 Arduino에서 중첩된 if
문을 사용하여 다른 if
문을 추가하는 방법에 대해 설명합니다.
Arduino 중첩 if
문
Arduino의 if
문은 특정 조건이 충족되면 작업을 수행하는 것과 같은 조건을 정의합니다. 하나를 확인하고 그것이 참이면 다른 조건을 확인하고 싶습니다.
첫 번째 if
문의 범위 내에서 두 번째 if
문을 정의할 수 있습니다.
통사론:
if (condition1) {
if (condition2) {
// do something
} else {
// do something
}
}
위의 코드에서 첫 번째 조건이 참이면 프로그램은 두 번째 조건을 확인하고, 역시 참이면 두 번째 조건 안의 코드가 실행됩니다.
위 코드에서 두 번째 if
문 안에 if
문을 추가할 수도 있습니다.
예를 들어 중첩된 if
문을 만들고 주어진 숫자를 확인하고 조건에 따라 텍스트를 출력해 봅시다.
암호:
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);
}
출력:
World
출력은 World
텍스트가 직렬 모니터에 인쇄되었음을 보여줍니다. 이는 첫 번째 조건이 참이고 두 번째 조건이 거짓임을 의미합니다. 코드에 약간의 지연을 추가하기 위해 delay()
함수를 사용했습니다.
작업을 수행하기 전에 여러 조건을 확인하려는 경우 &&
및 ||
연산자를 사용할 수도 있습니다. AND
연산자라고도 하는 &&
기호는 작업을 실행할 때 주어진 조건이 모두 참인 경우에만 사용됩니다.
OR
연산자라고도 하는 ||
기호는 주어진 모든 조건에서 하나의 조건이 참인 경우에도 작업을 실행하고자 할 때 사용됩니다.
예를 들어 숫자의 범위를 확인하고 특정 텍스트를 출력하는 두 가지 조건을 정의해 봅시다.
아래 코드를 참조하십시오.
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);
}
출력:
World
위의 코드에서 두 개의 if
문을 정의했으며 각각 두 개의 조건을 갖지만 연산자는 다릅니다. 하나에는 &&
연산자가 있고 다른 하나에는 ||
연산자가 있습니다. 운영자.
위 출력에서 보듯이 두 번째 if
문은 두 문 중 하나가 참이고 연산자가 OR
연산자이기 때문에 실행됩니다. 또한 두 개 이상의 조건을 정의하고 단일 if
문 내에서 두 연산자를 모두 사용할 수 있습니다.
Arduino에서 조건을 확인하기 위해 switch
문을 적용할 수도 있습니다.
통사론:
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;
}
variable
에는 위 구문에서 조건을 정의하는 데 사용하려는 값이 포함되어 있습니다. 첫 번째 조건이 만족되면 아래 코드가 실행되고 나머지 경우는 break
문으로 인해 프로그램이 검사하지 않습니다.
switch()
문은 동일한 조건을 확인하는 데만 사용할 수 있습니다. 미만 및 초과 조건을 사용하려면 if-else
문을 사용해야 합니다.
예를 들어 숫자를 사용하고 세 가지 경우를 정의하고 각 경우에 텍스트를 인쇄해 보겠습니다. 주어진 조건 중 어느 것도 참이 아닌 경우 기본 명령문이 실행됩니다.
암호:
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);
}
출력:
None of the cases is true
위 출력에서 볼 수 있듯이 위 코드의 어떤 경우도 참이 아닙니다. 이것이 default 문이 실행되는 이유입니다.