본문 바로가기
아두이노 기초 학습

14. 아두이노 RGB LED ( 1 )

by 에이치엘 2022. 12. 30.

★★ 준비물 ★★

◎ RGB LED

 

※ 배선

◎ R : ~9

◎ G : ~10

◎ B : ~11

◎ GND : GND

 

1. 2초마다 LED 색상을 변경해봅니다. 소스코드는 다음과 같습니다

◎ 9~11 : R,G,B 핀 모드를 설정합니다

◎ 15 : loop 시작 마다 현재의 millis 시간을 가져옵니다 ( 기초학습 millis 참고 )

◎ 16 : 만약 2초가 지났다면,

◎ 18~20 : R, G, B 핀에 LOW 값을 주어 전기를 차단한다.

◎ 21~31 : switch 문 - 특정한 case 와 일치한다면, case 내부의 동작을 실행하고, break를 만나면 switch문을 탈출한다.

   ○ 21 : mode 의 값이

   ○ 22 : 0 이라면

   ○ 23 : R 핀에 HIGH 값을 주어 전기를 흐르게 한다 ( 붉은색 )

   ○ 24 : switch 문을 탈출 한다.

   ○ 25 : 1 이라면

   ○ 26 : G 핀에 HIGH 값을 주어 전기를 흐르게 한다 ( 녹색 )

   ○ 27 : switch 문을 탈출 한다

   ○ 28 : 2 라면

   ○ 29 : B 핀에 HIGH 값을 주어 전기를 흐르게 한다 ( 파란색 )

   ○ 30 : switch 문을 탈출 한다.

 ex ) if( mode == 0 ){ }else if(mode == 1){ }else if(mode == 2){ } 와 동일.

◎ 32 : mode 의 값을 1 증가한다.

◎ 33 : 만약 mode의 값이 3보다 크거나 같다면

◎ 34 : mode 값에 0으로 초기화한다.

 

☆ 본 학습의 동작은 사진으로 대체합니다.

★★★ 이번 시간 숙지 내용 ★★★

1. switch 문 : 변수의 값을 case 별로 구분하여 동작을 실행할 수 있다.( case에 해당 사항이 없을 경우 " default : "를 추가하여 동작을 실행할 수 있다. " default : "는 if(){}else{} 문의 else{}와 동일한 효과를 지닌다. ( else if(){} 아님 )

 

★ 다음 시간에는 시리얼 모니터 'R', 'G', 'B' 입력에 따라 색상을 변경해보겠습니다.

댓글