
가변저항 이용하여 LED조명 밝기조절
가변저항이란 저항 값이 고정되지 않는 것을 의미한다. 즉, 사용자의 편의에 따라 저항값을 줄이고 늘리면서 소리의 크기나 밝기 조절 등을 할 수 있는 것을 가변저항이라 한다.
가변저항은 크게 드라이버를 사용하여 바꿔주거나 손으로 직접 돌려서 바꿀 수 있는 가변저항이 있다. 드라이버를 사용하는 가변저항은 저항값을 자주 바꿀일이 없을 때 많이 사용하며(내부적인 부품 등..) 손으로 직접 제어하는 가변 저항은 저항 값을 자주 바꿀 때 사용한다( 라디오나 밝기를 조절하는 전등같은 경우)
analogWrite(), analogRead()
analog값은 digital값과 다르게 HIGH, LOW가 아니라 조금 더 상세한 값을 지정할 수 있다. digital값은 5V(HIGH), oV(LOW)값 밖에 표현을 할 수 없기 때문에 0V와 5V 사이의 값은 analog값으로 표현을 해 주어야 한다.
anslogWrite()값은 0~255로 표현이 가능하고 analogRead()값은 0~1023까지 표현할 수 있다. 그러므로 analogRead()를 통해 입력받은 값을 1/4하면 analogWrite()로 출력하여 0~5V까지 표현을 할 수 있다.
digital값의 LOW(0V)는 analog 값으로 0, digital값의 HIGH(5V)는 analog값으로 255로 변환할 수 있다. 즉, 2.5V를 표현하고자 한다면 analog값으로 255/2를 하면 대락 127로 표현할 수 있다.
analogWrite()함수를 사용하려면 PWM으로 지정된 핀에서만 가능하다.(3,5,6,9,10,11)
예제 1
int led = 11;
void setup() {
}
void loop() {
for(int i=0; i<256; i++)
{
analogWrite(led, i);
delay(50);
}
}
예제 2
int led = 11;
void setup() {
}
void loop() {
int a = analogRead(A1);
analogWrite(led, a/4);
}