Arduino 중첩 if 문

Ammar Ali 2023년10월12일
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 문이 실행되는 이유입니다.

작가: 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