★★ 준비물 ★★
◎ 저항 330 옴
◎ LED 1개
※아두이노의 PWM 핀

◎ 아두이노의 DigitalPin 중, 앞에 물결모양(~)이 있는 핀을 통해 PWM 을 사용할 수있습니다.
◎ PWM은 디지털핀을 0(LOW), 1(HIGH)가 아닌 아날로그 효과를 낼 수 있도록 제공하는 핀입니다.
※ 쉽게 이야기하자면, 디지털핀을 HIGH, LOW 값이 아닌 0~255 값으로 사용이 가능합니다.
( 좀 더 깊게 알고 싶다면 PWM 을 검색 )
★★ 회로 ★★

◎ 이전 시간 2번핀을 사용하였으나, PWM을 위해 3번 핀을 사용합니다.
1. 기초학습 11에서 사용된 코드를 다음과 같이 수정합니다

◎ analogWrite(핀번호, 값); - 아날로그 값을 전달할 수 있습니다.
◎ 0~255 값을 시리얼 모니터에 입력하여 LED의 밝기 변화를 확인합니다.
◎ protocol.toInt(); - toInt()함수는 해당 문자열을 정수로 변경하는 것입니다. 기존 정수를 문자열로 변경할때는 String(정수) 를 이용하여 변경하였지만, 문자열을 정수로 변경하기 위해서는 toInt()를 사용해야됩니다.
2. 기초학습 4에서 배운 millis()를 이용하여 다음과 같이 코드를 수정합니다

◎ (라인5) byte index = 0 : 바이트형 변수( index )를 선언하고 0으로 초기화한다. ( 아두이노 자료형 검색 )
◎ (라인14) 기초학습 4 millis() 참고. ( 20 <- 값을 변경하여 LED 빛이 어떻게 변화하는지 확인한다 )
◎ (라인16) analogWrite(핀, index) : 아날로그핀에 index 변수를 넣는다. ( 값을 변화시키기 위해 변수를 사용 )
◎ (라인17) index++ : index는 0으로 초기화 되었으며, 0부터 1씩 증가한다. ( 20 millis 시간 마다 )
◎ (라인18) if( index >= 255 ) : 만약 index 변수의 값이 255와 같거나 크면
◎ (라인19) index = 0 : index 변수에 0 값을 넣는다.
※ 본 코드에서는 시리얼모니터를 통해 값을 입력하지 않습니다.
※ 라인5은 index 변수에 255 값으로 초기화, 라인17은 ++을 --로 변경, 라인18은 index <= 0 , 라인19는 index=255 로 변경하여 실행하여 불빛이 어떻게되는지 확인합니다.
★★ 실행 영상은 패스합니다 ★★
★ 다음 시간에는 IOT코아, IOT리아 앱을 사용하여 PWM 값을 변경해보겠습니다.
★★★ 이번 시간에 숙지해야될 내용 ★★★
1. 문자열변수.toInt() : 문자열 변수의 값을 정수로 변경하여 반환할 수 있다
2. analogWrite() : pwm 핀을 아날로그 효과를 주기위해 analogWrite() 함수를 이용하여 0~255 값을 통해 전압을 조절할 수 있다.
'아두이노 기초 학습' 카테고리의 다른 글
14. 아두이노 RGB LED ( 1 ) (0) | 2022.12.30 |
---|---|
13. 아두이노 시리얼통신 LED 밝기조절( PWM ) 2 (0) | 2022.12.22 |
11.아두이노 사물인터넷(IOT) LED ON/OFF(2) (0) | 2022.12.17 |
10. 아두이노 시리얼통신을 이용한 LED ON/OFF ( 1 ) (2) | 2022.12.17 |
9. 아두이노 시리얼통신 네번째( 채팅 ) (0) | 2022.12.15 |
댓글