arduino

아두이노 if문 while문 for문 break문

Taesung 2023. 10. 19. 11:32
728x90

if문

아두이노 (Arduino)에서 "if문"은 조건문을 사용하여 프로그램의 실행 흐름을 제어하는 데 사용됩니다. 아두이노 프로그램은 C/C++ 언어를 기반으로 하며, if문은 일반적인 프로그래밍 언어에서와 마찬가지로 사용됩니다. if문을 사용하여 조건을 평가하고, 조건이 참이면 특정 코드 블록을 실행할 수 있습니다.

아두이노

아래는 아두이노에서 if문을 사용하는 기본적인 예제입니다:

int sensorValue = analogRead(A0); // A0 핀에서 아날로그 입력을 읽어옴

if (sensorValue > 500) {
  // 만약 sensorValue가 500보다 크면, 다음 코드 실행
  digitalWrite(13, HIGH); // 13번 디지털 핀을 HIGH로 설정 (LED 켜기)
} else {
  // 만약 sensorValue가 500 이하이면, 다음 코드 실행
  digitalWrite(13, LOW); // 13번 디지털 핀을 LOW로 설정 (LED 끄기)
}

이 예제에서, 아날로그 입력(A0)의 값이 500보다 큰지를 확인하고, 조건을 만족하는 경우 LED를 켜고 그렇지 않으면 LED를 끕니다.

 

if문의 구조는 다음과 같습니다:

if (조건) {
  // 조건이 참일 때 실행할 코드
} else {
  // 조건이 거짓일 때 실행할 코드
}

조건은 불리언 (참 또는 거짓) 값을 반환하는 표현식이어야 합니다. 조건이 참이면 중괄호 내의 코드 블록이 실행되고, 조건이 거짓이면 else 블록의 코드가 실행됩니다.

아두이노에서 if문을 사용하여 센서, 버튼, 논리 연산, 변수 값 등을 기반으로 다양한 작업을 수행할 수 있습니다.

while문

아두이노 (Arduino)에서 while문은 특정 조건이 참인 동안 코드 블록을 반복 실행하는 데 사용됩니다. while문은 조건이 참일 때 코드를 실행하며, 조건이 거짓이 될 때까지 반복됩니다.

다음은 아두이노에서 while문을 사용한 기본적인 예제입니다:

int count = 0;

while (count < 5) {
  // count가 5보다 작을 때까지 아래 코드를 반복 실행
  Serial.println(count);
  count++; // count 변수를 1씩 증가
  delay(1000); // 1초 대기
}

// while 루프를 빠져나온 후 다음 코드 실행
Serial.println("반복이 종료되었습니다.");

이 예제에서 while문은 count 변수가 5 미만인 동안 Serial.println(count)을 통해 count 값을 출력하고 count를 1씩 증가시키며 1초 대기합니다. count가 5 이상이 되면 while 루프를 빠져나와서 "반복이 종료되었습니다."라는 메시지를 출력합니다. while문의 구조는 다음과 같습니다:

while (조건) {
  // 조건이 참일 때 실행할 코드
}

while문을 사용할 때 주의할 점은 조건이 영원히 참이 되지 않도록해야 합니다. 그렇지 않으면 코드가 무한 루프에 빠질 수 있습니다. 예를 들어, while (true)와 같이 항상 참인 조건을 사용하면 무한 루프가 발생할 수 있으므로 조심해야 합니다.

while문은 센서 감지, 버튼 입력, 타이밍 및 반복 작업 등 다양한 상황에서 유용하게 사용됩니다.

for문

아두이노 (Arduino)에서 "for" 루프는 일정한 횟수만큼 반복하는 루프를 생성하는 데 사용됩니다. for 루프는 초기화, 조건 검사 및 반복 후 작업을 수행하기 위한 구조를 가지고 있습니다.

아래는 아두이노에서 "for" 루프를 사용하는 기본적인 예제입니다:

for (int i = 0; i < 5; i++) {
  // 0부터 4까지의 값을 순서대로 i에 할당하며 아래 코드를 실행
  Serial.println(i);
  delay(1000); // 1초 대기
}

// for 루프를 빠져나온 후 다음 코드 실행
Serial.println("반복이 종료되었습니다.");

이 예제에서 "for" 루프는 i라는 변수를 0부터 시작하여 4까지 증가시키면서 Serial.println(i)을 사용해 i의 값을 출력하고, 1초 동안 대기합니다. 이를 5번 반복한 후 "반복이 종료되었습니다." 메시지를 출력합니다.

"for" 루프의 구조는 다음과 같습니다:

for (초기화; 조건; 반복 후 작업) {
  // 조건이 참일 때 실행할 코드
}

초기화: 루프 시작 전에 한 번만 실행되는 코드. 일반적으로 반복 변수를 초기화합니다.

조건: 각 반복에서 조건을 검사하여 참 또는 거짓을 판단. 조건이 참인 동안 루프가 계속됩니다.

반복 후 작업: 각 반복 후에 실행되는 코드. 보통 반복 변수를 업데이트하거나 조건을 변경합니다.

"for" 루프는 반복 횟수가 미리 알려진 상황에서 특히 유용하며, 센서 읽기, LED 제어, 배열 순회 및 타이밍 관련 작업과 같은 여러 작업에 활용됩니다.

break문

아두이노 (Arduino)에서 "break" 문은 반복문 (예: "for" 루프 또는 "while" 루프) 내에서 사용되며, 특정 조건이 충족되면 반복문을 강제로 종료하는 데 사용됩니다. "break" 문은 조건이 참이 되면 가장 가까운 반복문을 종료하고 반복문 이후의 코드를 실행합니다.

다음은 "break" 문을 사용한 예제입니다:

for (int i = 0; i < 10; i++) {
  Serial.println(i);
  if (i == 5) {
    // i가 5일 때 반복문을 강제로 종료
    break;
  }
}

Serial.println("반복이 종료되었습니다.");

이 예제에서 "for" 루프는 0부터 9까지의 숫자를 출력하고, if (i == 5) 조건이 참이 되면 "break" 문을 통해 반복문이 종료됩니다. 따라서 "반복이 종료되었습니다." 메시지가 출력됩니다.

"break" 문은 반복문 내에서 조건에 따라 반복을 일찍 종료하고자 할 때 유용합니다. 이는 특정 조건이 충족되었을 때 반복문을 중단하고 빠져나가야 하는 상황에서 유용합니다.

반응형