Arduino / / 2022. 5. 16. 21:05

[PlatformIO] 아두이노 가변저항 사용해보기 analogRead()

728x90

해당 게시물에서는 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

 

 
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유