2016. 2. 8. 22:42
기본 1개짜리 아날로그 출력 아두이노/출력2016. 2. 8. 22:42
문제:
LED를 점점 밝아졌다가 어두워졌다 하도록 만들고 싶어요.
회로:
코드1:
12345678910111213141516171819 const int led = 3;int brightness = 0 , i;void setup(){}void loop(){if(brightness < 1)i = 1;else if(brightness > 254)i = -1;//light LED as brightnessanalogWrite(led, brightness);delay(10);brightness = brightness + i;}
코드 설명:
loop()함수에서 맨 처음 brightness값은 0이지요?
그래서 if문에 의해서 i=0이 됩니다.
brightness = brightness + i에 의해서 brightness값이 점점 증가하다가,
brightness값이 255가 되면 i=-1이 되어,
brightness값이 점점 감소하게 됨니다.
그리고 다시 brightness값이 0이되면 i=1이되어,
brightness값이 점점 증가하게 됩니다.
코드2:
12345678910111213141516 const int led = 3 ;void setup(){}void loop(){for(int i=0; i<255; i++){analogWrite( led, i);delay(10);}for(int i= 255; i>0; i--){analogWrite( led, i);delay(10);}}
코드2 설명:
첫번째 for문에서 i값이 점점 증가합니다.
i가 255가 되면 첫번째 for문은 끝나고
두번째 for문이 시작됩니다.
두번째 for문에서 i값이 점점 감소합니다.
i가 0이 되면 두번째 for문은 끝나고
첫번째 for문이 시작됩니다.
[출처] [아날로그 출력] - 기본|작성자 DEW
'아두이노 > 출력' 카테고리의 다른 글
LED 11개를 이용해서, 빛이 중심에서 갈라졌다 모였다 하기 (0) | 2016.02.08 |
---|---|
LED 6를 사용해서, 빛이 좌우로 움직이게 하기 (0) | 2016.02.08 |
RGB (0) | 2016.02.08 |
아날로그 출력 밝기 이동시키기 (0) | 2016.02.08 |
기본 출력 digitalWrite() (0) | 2016.02.08 |