해당 게시물에서는 VS Code PlatformIO를 사용합니다. 참고바랍니다.
안녕하세요 데브구일입니다!
이번에는 가변저항 혹은 Potentiometer라고 불리는 녀석을 사용해보려고합니다!
가변저항은 말그대로 저항 수치를 변경할 수 있는 저항입니다!
주변에서 흔하게 볼 수 있는데요!
자동차나, 스피커에 있는 볼륨 조절 다이얼을 생각하시면 편하실겁니다!
저는 요 작은 가변저항을 사용하도록 하겠습니다.
가변 저항은 다양하게 있으니 어떤 걸 쓰셔도 크게 문제가 되진 않아요!
그럼 회로부터 만들어 보겠습니다!
가변 저항은 대부분 비슷하게 생겼는데요.
아래 회로를 참고 하셔서 연결을 하시고, 코드를 작성해보도록 하겠습니다.
#include <Arduino.h> // PlatformIO를 사용하시는게 아니라면 이 라인은 지워주세요!
#define POTENTIOMETER_PIN A0
void setup() {
Serial.begin(9600);
pinMode(POTENTIOMETER_PIN, INPUT); // pinMode INPUT 설정
}
void loop() {
int value = analogRead(POTENTIOMETER_PIN); // 0~1023 값으로 입력받기
Serial.println(value);
delay(100);
}
자! 코드를 보시면 우선 입력값을 받아야 하기때문에, pinMode()를 INPUT으로 설정합니다.
그리고 analogRead()는 0~1023값으로 받게되는데요.
이 값의 경우 보드의 ADC 분해능에 따라 다르게 정해지는데요.
아두이노 우노의 경우 10bit의 ADC 분해능을 가지고 있기 때문에 2^10 = 1024의 값을 가지게 됩니다!
참고)
좀 더 성능이 높은 듀에 보드의 경우 12bit의 분해능을 가지고 있기때문에
2^12 = 4096가지의 값을 가지게 됩니다.
이제 업로드를 하고서 결과를 확인해보겠습니다.
업로드 하시고나서 가변저항을 이리저리 돌려보시면,
값이 변화하는 것을 확인하실 수 있습니다.
이번 포스팅은 여기서 마치고,
다음에는 analogWrite()를 배우고, 두 가지를 섞어서 사용해보도록 하겠습니다.
감사합니다 :D
'Arduino' 카테고리의 다른 글
[PlatformIO] 아두이노 가변저항으로 LED 밝기 조절하기 (0) | 2022.05.19 |
---|---|
[PlatformIO] 아두이노 PWM 사용하기 analogWrite() (0) | 2022.05.17 |
[PlatformIO] 아두이노 시리얼 입력받기 Serial.available(), serialEvent() (0) | 2022.05.15 |
[PlatformIO] 아두이노 Serial print()와 write() (0) | 2022.05.11 |
[PlatformIO] 아두이노 Serial 출력하기 (0) | 2022.05.03 |