if 조건문


컴퓨터는 사람처럼 자율적으로 진행 방향을 선택하는 것이 불가능합니다. 
따라서 컴퓨터에게 무엇을 선택하게 하려면 조건을 주고 결과에 따라 선택을 할 수 있도록 만들어야 합니다. 
여기서 필요한 것이 바로 조건문입니다.


조건문을 활용하면 아두이노로 할 수 있는 것들이 더 많아집니다. 
조건문의 종류는 여러가지가 있으니 하나씩 살펴볼게요~!



우선 if문 실습을 위해서 초음파센서와 서보모터를 아래와 같이 준비해주세요~!




if 조건문은 아래와 같이 사용할 수 있습니다.
*if 조건문 구조에서 중괄호는 코드를 묶어주는 역할을 합니다. 
→ if (조건) {명령문}; 명령 문장이 한 개일 때 중괄호를 
사용하지 않아도 되지만 여러 줄의 코드를 묶어줄 때 필요합니다. 

위 코드를 간단한 순서도로 표현하면 아래와 같습니다.
조건문을 사용해서 '변수 값이 10보다 작다면 모터를 180도 위치한다.' 라는 명령을 내린 것입니다.
만약 변수 값이 10보다 크다면? 조건을 만족하지 않았으니 아무것도 실행하지 않겠죠?

참고로 if문의 괄호 안에 ( 조건 )이 들어가는데, 이 때 조건을 계산하는 '연산자'가 있습니다.
대표적으로 많이 사용되는 연산자로 관계연산자가 있습니다.



📇 실습 코드 작성

다음과 같이 코드를 작성하고 초음파센서와 서보모터의 결과를 살펴보세요! 
초음파센서 측정 값이 10보다 작으면 서보모터가 180도 회전하나요?

⬇ 복사 붙여 넣기 가능한 코드


   if ~ else 조건문


위에서 배운 if 조건문은 하나의 조건을 만족했을 때 
한 개의 명령을 실행하고 만족하지 않다면 아무것도 실행하지 않았습니다.
이번에는 조건이 참일 경우 [명령1]을 실행하고 거짓일 경우 [명령2]를 실행하도록 해보겠습니다.

위 코드를 순서도로 바꿔보면 조건 결과가 '참' 또는 '거짓'에 따라 실행되는 명령이 다르죠




📇 실습 코드 작성

아래의 if ~ else 조건문을 실습 해보고 결과를 확인하세요! 
손을 초음파센서에 가져가면 모터가 자동으로 180도 회전하고 다시 원점으로 돌아오죠?

⬇ 복사 붙여 넣기 가능한 코드


   else if 조건문 (조건이 여러 개일 때)


만약 조건이 여러 개라면? 아래와 같이 사용할 수 있습니다.


위 코드의 뜻은
변수 값이 30보다 크면 → 모터 180에 위치
변수 값이 30보다 작고 20보다 크면 → 모터 90에 위치
그 외의 경우(20보다 작으면) → 모터 0에 위치
가 됩니다.


이 부분이 조금 헷갈리실 수 있는데, 맨 처음 if문에서 (value > 30)이라는 조건이 거짓이기 때문에
다음 else if문에서 value는 이미 30보다 작은 조건으로 실행 되는 것입니다.




📇 실습 코드 작성

마지막으로 아래의 코드를 입력해서 결과를 확인해보세요!

⬇ 복사 붙여 넣기 가능한 코드