안녕하세요. analogWrite함수와 PWM에 대해 알아보겠습니다.
2강에서 digitalWrite를 통해 LED를 on/off했는데 이제 단순히 on/off말고
LED의 밝기를 조절해보고, 하기위해 알아야 할 개념인 PWM에 대해 설명하겠습니다.
- 0. 알아야하는개념
PWM이란 pulse width modulation이고 구글번역기쓰면 펄스 폭 변조라고 나오네요
듀티비란 HIGH와 LOW의 비율입니다
위의 그림을보면 0.5초간격으로 0V 5V가 변하는걸 볼수있습니다
듀티비50%입니다. 만약 LED를 킨다고했을때, 듀티비가50%면 HIGH와 LOW가 반반들어가서 LED의 밝기도 최대치의 반이 됩니다
그럼 digitalWrite는 듀티비가 항상100%다 라고 말할 수 있습니다
위의 개념이 PWM입니다.
- 1. 최종목표
- 2. 실제모습(사진)
PWM을 사용할수 있는 핀에만 analogWrite가 동작하며, 핀 이름에 ~가 붙어있습니다.
※ UNO기준 3,5,6,9,10,11
- 3. 프로그램 흐름
LED밝기설정-> 딜레이->반복
- 4. 사용하는 함수설명
analogWrite(pin,value)
pin : 핀
value : 듀티비
- 5. 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | void setup() { pinMode(3,OUTPUT); } void loop() { analogWrite(3,50); delay(1000); analogWrite(3,100); delay(1000); analogWrite(3,150); delay(1000); analogWrite(3,255); delay(1000); } |
- 6. 코드설명
7.듀티비 20% (LED 밝기 20%)
9.듀티비 40% (LED 밝기 40%)
11. 듀티비 60% (LED 밝기 60%)
13. 듀티비 100% (LED 밝기 100%)
'아두이노 > 이론' 카테고리의 다른 글
I2C통신 아두이노와 오실로스코프로 확인해보기 1편 (6) | 2021.10.03 |
---|---|
아두이노 정전식 터치센서 사용하기 TTP223B (0) | 2018.12.19 |
1강. 아두이노 pinMode,digitalWrite알아보기입니다.(LED키기) (0) | 2018.10.20 |
아두이노 시계(RTC) DS1302사용하기 (4) | 2017.08.22 |
아두이노 블루투스모듈 설정하기(HC-06) (0) | 2017.05.25 |