링크모음 링크세상
링크세상 링크모음 링크 애니 웹툰 링크 드라마 영화 링크 세상의모든링크

Arduino 프로그래밍에서 조건문을 사용하는 방법

조건문은 Arduino 프로그래밍에서 가장 유용한 도구 중 하나입니다. 이를 통해 코드에서 정의할 수 있는 특정 조건을 기반으로 프로그램의 흐름을 제어할 수 있습니다.

조건문은 테스트와 같습니다. 조건이 참인지 아닌지 확인합니다. 조건이 true이면 조건문 내부의 코드가 실행됩니다. 조건이 false이면 코드가 실행되지 않습니다. 가장 일반적으로 사용되는 조건문은 if 문입니다.

여기에서 이 튜토리얼의 비디오를 시청하세요:

SunFounder의 3-in-1 스마트 자동차 및 IOT 학습 키트에는 Arduino를 마스터하는 방법을 배우는 데 필요한 모든 것이 포함되어 있습니다. 여기에는 구축하기 매우 재미있는 58가지 로봇 및 사물 인터넷 프로젝트에 대한 모든 부품, 배선 다이어그램, 코드 및 단계별 지침이 포함되어 있습니다!

If 문

If 문은 일반적으로 loop() 루프를 통해 각 사이클마다 한 번씩 평가되는 섹션입니다.

if 문의 코드는 다음과 같습니다.

if (condition) {
   body; 
}

조건은 본문의 코드가 실행되는지 여부를 결정하는 것입니다. 일반적으로 조건은 변수가 특정 숫자보다 작거나 크거나 같은지 확인하기 위해 작성됩니다. 어떤 조건을 사용하든 참 또는 거짓 값으로 평가되어야 합니다.

조건이 true이면 프로그램은 중괄호를 입력하고 본문 내부의 코드를 실행합니다. 조건이 false인 경우 프로그램은 코드를 건너뛰고 닫는 중괄호 뒤의 코드 줄로 계속 진행됩니다.

예를 들어, x가 y보다 작을 때 직렬 모니터에 “x가 y보다 작습니다”를 인쇄하는 if 문을 살펴보세요.

if (x < y) {
   Serial.println("x is less than y");
}

이 if 문의 조건은 다음과 같습니다. x < y. x가 2이고 y가 4라고 가정해 보겠습니다. 2 < 4는 참이므로 프로그램은 중괄호를 입력하고 본문의 코드를 실행합니다. 본문 코드는 "x가 y보다 작습니다"를 직렬 모니터에 직렬 인쇄합니다.

x가 10이고 y가 4이면 10 < 4는 거짓이므로 프로그램은 중괄호 안의 코드를 건너뛰고 직렬 모니터에는 아무 것도 인쇄되지 않습니다.

관계 연산자

관계 연산자는 조건문을 작성하는 데 매우 유용합니다. 관계 연산자는 둘 이상의 숫자나 변수를 비교하는 데 사용됩니다. 예를 들어 같음, 보다 큼, 보다 작음은 일부 일반적인 관계 연산자입니다. if 문에서 조건을 설정하는 가장 일반적인 방법입니다.

다음은 조건문에 사용할 수 있는 모든 관계 연산자 목록입니다.

  • x > y: x가 y보다 크다
  • x < y: x는 y보다 작습니다.
  • x >= y: x는 y보다 크거나 같습니다.
  • x <= y: x는 y보다 작거나 같습니다.
  • x == y: x는 y와 같음
  • x != y: x는 y와 같지 않습니다.

비교 결과가 true인 경우 조건문의 본문이 실행됩니다.

if else 문

또 다른 유용한 조건문은 if else 문입니다. if else 문을 작성하는 방법은 다음과 같습니다.

if (condition) {
   body; // executed if the condition is true
}
else{
   body; // executed if the condition is false
}

if 문과 마찬가지로 if else 문은 먼저 조건을 평가합니다. 조건이 true이면 if 블록 본문 내부의 코드가 실행됩니다. 조건이 거짓이면 else 블록의 코드가 실행됩니다.

If else if 문

if else if 문을 사용하면 두 가지 조건을 테스트할 수 있습니다. if else if 문의 코드는 다음과 같습니다.

if (condition 1) {
   // code executed if condition 1 is true
} 
else if (condition 2) {
   // execute code only if condition 1 is false and condition 2 is true
}

프로그램은 먼저 if 문의 조건 1을 확인합니다. true인 경우 if 문의 본문에 있는 코드가 실행되고 프로그램은 if else if 블록 전체를 종료합니다.

조건 1이 거짓이면 프로그램은 else if 블록에서 조건 2를 확인합니다. 조건 2가 true이면 else if 섹션 본문 내부의 코드가 실행되고 프로그램은 if else if 블록을 종료합니다.

if else if 문은 두 개의 if 문을 사용하는 것과 유사하지만 미묘한 차이가 있습니다. If else if는 하나의 블록(if 블록 또는 else if 블록)만 실행합니다. 조건이 참인 첫 번째 블록이 실행됩니다. 두 개의 if 문을 사용하면 두 조건이 모두 true인 경우 둘 다 실행됩니다.

중첩된 if 문

If 문은 다음과 같습니다. 중첩된또는 서로의 내부에 배치됩니다. 중첩된 if 문을 사용하면 여러 조건을 테스트하고 그 중 하나가 true인 경우 다양한 작업을 수행할 수 있습니다. 중첩된 if 문은 “x가 true이면 이 작업을 수행하고, y와 z가 true이면 이 다른 작업을 수행합니다”라고 말하는 것과 같습니다.

중첩된 if 문은 센서 작업 시 자주 사용됩니다. 예를 들어, 중첩된 if 문은 센서에서 데이터를 읽기 전에 센서가 데이터를 전송하고 있는지 확인할 수 있습니다. 아래 코드는 중첩된 if 문을 사용하여 온도가 임계값보다 높거나 낮은지 확인하기 전에 온도 센서가 Arduino에 데이터를 보내는지 확인합니다.

int input = digitalRead(sensorPin);

if (input == HIGH) {
   digitalWrite(ledPin, HIGH)
   if(temp < 20) {
      Serial.print("Low Temperature!");
   }	
   if(temp > 20){
      Serial.print("High Temperature!");
   }
}

전압 상태 sensorPin 로 읽힌다 digitalRead() 함수와 값은 input 변하기 쉬운. 센서가 Arduino에 데이터를 보낼 때, sensorPin 높을 테니까 input 그 안에는 높은 가치가 저장되어 있을 것입니다.

첫 번째 if 문은 다음에 저장된 값을 확인합니다. input. 만약에 input 값이 높으면 Arduino는 if 문을 입력하고 다음을 실행합니다. digitalWrite() 높은 신호를 보내는 기능 ledPin.

다음 두 if 문은 첫 번째 if 문 안에 중첩됩니다. 온도가 20도 미만인 경우 첫 번째 중첩 if 문의 코드가 실행되고 “Low temp!” 시리얼 모니터에 출력됩니다.

온도가 20도보다 높으면 두 번째 중첩 if 문이 실행되고 “High thermo!” 시리얼 모니터에 출력됩니다. 이 예에서 중첩된 if 문은 센서가 Arduino에 데이터를 보낼 때만 평가됩니다.

이 기사가 Arduino에서 조건문을 사용하는 데 도움이 되기를 바랍니다. 궁금한 점이 있으면 아래에 댓글을 남겨주세요!

Leave A Reply

Your email address will not be published.