안녕하세요? 오늘은 가변저항(potentiometer)의 원리에대하여 간단히 알아보고 아두이노에 활용해보도록 하겠습니다.

가변저항은 이름에서 알수 있듯이 저항값을 변화시킬 수 있습니다.

일상에서 볼 수 있는 대표적인 가변저항은 오디오 볼륨조절기 입니다.

볼륨조절은 가변저항의 저항을 조절하는 원리입니다.

그러면 가변저항의 내부와 원리를 간단히 알아보겠습니다.


1. 가변저항의 원리

2. 아두이노와 가변저항

1. 가변저항의 원리

가변저항은 보통 이렇게 생겼습니다. 다리가 세개인데 둘은 5V, GND에 연결하고 나머지는 입력 받고자하는 핀에 연결해주시면 됩니다.

가변저항의 내부는 다음과 같습니다.

중간의 원이 가변저항을 조절할 수 있는 축입니다.

가변저항의 원리는 저항성을 가진 물질의 길이를 조절하는 원리입니다.

A와 B는 고정저항입니다. 그러면 이제 와이퍼를 A와 가깝게 돌린다면 

저항물체의 길이가 짧아지고 A와 W사이 저항은 감소합니다.

이제 W를 B와 가깝게 돌린다면 저항은 증가하게 됩니다.

그래서 W를 아두이노의 아날로그 입력핀(A0)에 연결하여 그 값을 받게 됩니다.

-

가변저항의 저항변화는 선형에 가깝습니다. 즉, 아날로그의 형상입니다.

그래서 아두이노에 연결할 때 데이터를 입력 받을핀을 디지털에 연결해서는 안됩니다.

그래서 A0~A5의 핀을 사용합니다.

아두이노에서 아날로그 입력기능은 핀에 외부에서 전기가 흐르게 연결하고 전압의 변화를 읽는 방식으로 사용합니다.

그래서 가변저항을 사용하여 전압값을 변화시키면 변화되는 데이터값을 볼 수 있습니다.


2. 아두이노와 가변저항

가변저항을 이용하여 입력되는 데이터값을 출력하는 간단한 예제를 보겠습니다.

그림에서 보이는 것과 같이 회로를 연결해주시면 됩니다.

int value = analogRead(A0); 

정수형 변수를 하나 선언해서 입력되는 값을 받습니다.

그후 시리얼통신창에 출력하는 코드입니다.

축을 돌려보시면 값이 변하시는걸 볼 수 있습니다.

이번에는 가변저항을 이용해서 led의 밝기를 조절해보는 예제를 해보겠습니다.

회로는 다음과 같이 구성해주시면 됩니다.

여기서 중요한 점이 있습니다. 아두이노 보드에서는 아날로그 출력 기능이 없습니다.

아날로그는 선형적 변화로 나타낼 수 있지만 디지털은 0,1의 on과 off로만 입력, 출력할 수 있습니다.

그래서 디지털 출력으로 아날로그 출력을 구현해내기 위해서 PMW(펄스 폭 변조)의 제어 방법을 사용합니다.

ON, OFF를 아주 빠르게 반복하여 5V에 가까울 때는 on의 횟수가 많게 제어하는 방식입니다.

아두이노에서는 펄스 폭 변조가 되는 디지털핀은 3,5,6,7,10,11 입니다.

아날로그 출력은 0~255의 값만 허용됩니다.

아날로그 입력 값은 0~1024였으므로 4를 나누어줍니다.

(map 함수를 사용하여 대체할 수 있습니다.)

다음과 같이 밝기가 조절이 됩니다.

감사합니다.

+ Recent posts