★★ 준비물 ★★
◎ 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' 입력에 따라 색상을 변경해보겠습니다.
'아두이노 기초 학습' 카테고리의 다른 글
16. 아두이노 RGB LED(3) - 코아&리아 (0) | 2023.01.01 |
---|---|
15. 아두이노 RGB LED ( 2 ) 시리얼 (0) | 2022.12.31 |
13. 아두이노 시리얼통신 LED 밝기조절( PWM ) 2 (0) | 2022.12.22 |
12. 아두이노 시리얼통신 LED 밝기 조절( PWM ) (0) | 2022.12.19 |
11.아두이노 사물인터넷(IOT) LED ON/OFF(2) (0) | 2022.12.17 |
댓글