아두이노 우노 R4 가변저항기

이 튜토리얼은 아두이노 우노 R4와 포텐셔미터를 사용하는 방법을 안내합니다. 자세히 살펴보면 다음을 배울 것입니다:

아두이노 우노 R4 가변저항기

준비물

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×(또는) DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×포텐셔미터 쿠팡 | 아마존
1×노브가 있는 포텐셔미터 모듈 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) Sensors/Servo Expansion Shield for Arduino UNO R4 아마존
1×(추천) 아두이노 우노 R4용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 케이스 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 전원 분배기 쿠팡 | 아마존
1×(추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Arduino Uno R4 WiFi Compatible Boards

포텐셔미터에 대하여

회전 위치 센서로도 알려진 회전형 전위차계는 스테레오 볼륨, 램프 밝기 또는 오실로스코프 확대 수준과 같은 설정을 수동으로 변경하는 데 사용됩니다.

포텐셔미터 핀 배치

핀아웃

포텐시오미터는 일반적으로 세 개의 핀을 가지고 있습니다.

  • GND 핀: GND (0V)에 연결
  • VCC 핀: VCC (5V 또는 3.3V)에 연결
  • 출력 핀: Arduino UNO R4의 입력 핀으로 전압을 보냄.
포텐셔미터 핀아웃

※ 주의:

GND 핀과 VCC 핀은 교환할 수 있습니다.

작동 원리

포텐셔미터의 샤프트는 0°(GND에 가장 가까운)에서 최대 각도(VCC 핀에 가장 가까운)까지 회전할 수 있으며, 이를 ANGLE_MAX라고 합니다.

출력 핀의 전압은 GND의 전압에서 VCC의 전압까지 변합니다. 출력 전압은 샤프트가 회전하는 각도에 직접적으로 변화합니다.

  • 각도가 0도일 때, 출력 핀의 전압은 0볼트입니다.
  • 각도가 ANGLE_MAX와 같을 때, 출력 핀의 전압은 VCC의 전압과 일치합니다.
  • 각도가 0°와 ANGLE_MAX 사이일 때, 출력 전압 = 각도 × VCC / ANGLE_MAX

※ 주의:

ANGLE_MAX의 값은 제조업체에 따라 다릅니다. 일반적으로 회전 각도를 계산해야 할 경우(사용 사례 섹션 참조)를 제외하고는 ANGLE_MAX 값에 크게 주의를 기울이지 않습니다.

포텐셔미터의 작동 원리

아두이노 UNO R4 - 회전형 포텐셔미터

Arduino UNO R4의 A0부터 A5 핀은 아날로그 입력으로 설정할 수 있습니다. 이 핀들은 0볼트에서 VCC까지의 전압을 0부터 1023 사이의 정수로 변환합니다. 이러한 숫자는 ADC 값 또는 아날로그 값이라고 합니다.

포텐셔미터의 출력 핀을 Arduino UNO R4의 아날로그 입력 핀에 연결하면, Arduino를 프로그래밍하여 ADC 값을 읽고 이를 유용한 숫자로 변환할 수 있습니다.

Arduino UNO R4가 수신하는 값은 각도나 전압이 아니라 0에서 1023 사이의 정수입니다.

아날로그 입력 핀에서 숫자를 받아 다른 숫자로 변환합니다. 이제 그것이 어떻게 사용되는지 봅시다.

사용 사례

  • ADC 값을 각도로 변환하기.
  • ADC 값을 전압으로 변환하기.
  • ADC 값을 제어 가능한 값(스테레오 볼륨, 밝기 또는 모터 속도 등)으로 변환하기. 이것이 가장 자주 사용되는 시나리오입니다.

리스케일 범위

FROM TO
Anglerotated by userANGLE_MAX
Voltagefrom potentiometer's pin 0VVCC
ADC valueread by Arduino UNO R4 01023
Other valueconverted by Arduino UNO R4 VALUE_MINVALUE_MAX

선연결

아두이노 우노 R4 가변저항 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.

포텐셔미터 프로그래밍 방법

  • analogRead() 함수를 사용하여 가변저항기의 출력 핀에 연결된 핀으로부터 값을 읽습니다.
adc_value = analogRead(A0);
  • ADC 값을 map() 함수를 사용하여 전위차계의 각도로 변환합니다.
angle = map(adc_value, 0, 1023, 0, ANGLE_MAX);
  • ADC 값을 전압으로 변환:
voltage = map(adc_value, 0, 1023, 0, VCC);
  • ADC 값을 관리 가능한 수준으로 변환하십시오 (예: 스테레오의 음량, 밝기 또는 DC 모터의 속도).
value = map(adc_value, 0, 1023, VALUE_MIN, VALUE_MAX);
  • 예를 들어, LED의 밝기를 조절하는 것입니다. LED의 밝기는 PWM 값 0(항상 꺼짐)에서 255(항상 켜짐)을 사용하여 제어할 수 있습니다. 따라서, 우리는 ADC 값을 LED 밝기(꺼짐에서 가장 밝음)로 다음과 같이 매핑할 수 있습니다:
brightness = map(adc_value, 0, 1023, 0, 255);

※ 주의:

map() 함수는 아날로그 값을 int 또는 long 타입 값으로 변경하는 데 사용됩니다. float 타입 값으로 작업해야 한다면, 대신 floatMap() 함수를 사용해야 합니다.

floatMap() 함수:

float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }

아두이노 UNO R4 코드

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-potentiometer */ float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { // 실수 값을 한 범위에서 다른 범위로 매핑합니다. return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void setup() { // 9600의 보율로 직렬 통신을 시작합니다: Serial.begin(9600); } void loop() { // 핀 A0에서 아날로그 값을 가져옵니다: int adc_value = analogRead(A0); // 아날로그 값을 전압(0-5V 범위)으로 변환합니다: float voltage = floatMap(adc_value, 0, 1023, 0, 5); // 아날로그 값과 해당 전압 값을 시리얼 모니터로 출력합니다: Serial.print("Analog: "); Serial.print(adc_value); Serial.print(", Voltage: "); Serial.println(voltage); // 루프를 반복하기 전에 1초 대기합니다: delay(1000); }

자세한 사용 방법

다음 지침을 단계별로 따르세요:

  • Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우 아두이노 우노 R4 - 소프트웨어 설치에 관한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 가변 저항기를 Arduino Uno R4에 연결하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • 위의 코드를 복사하여 Arduino IDE로 여세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 Arduino UNO R4에 코드를 업로드하세요.
아두이노 ide 코드 업로드
  • 시리얼 모니터 열기
  • 가변 저항기 돌리기
  • 시리얼 모니터에서 결과 확인
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Analog: 0, Voltage: 0.00 Analog: 0, Voltage: 0.00 Analog: 126, Voltage: 0.62 Analog: 281, Voltage: 1.37 Analog: 517, Voltage: 2.53 Analog: 754, Voltage: 3.69 Analog: 906, Voltage: 4.43 Analog: 1023, Voltage: 5.00 Analog: 1023, Voltage: 5.00
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

함수 참조