아두이노 우노 R4 - 가변저항기
이 튜토리얼은 아두이노 우노 R4와 포텐셔미터를 사용하는 방법을 안내합니다. 자세히 살펴보면 다음을 배울 것입니다:
- 전위차계의 작동 원리.
- 전위차계를 Arduino UNO R4에 연결하는 방법.
- 전위차계로부터 값을 읽어내고 그것을 다른 유용한 값으로 변환하기 위해 Arduino UNO R4를 프로그래밍하는 방법.
Hardware Preparation
1 | × | Arduino UNO R4 WiFi | Amazon | |
1 | × | Arduino UNO R4 Minima (Alternatively) | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Potentiometer | 쿠팡 | Amazon | |
1 | × | (Alternative) Potentiometer Kit | Amazon | |
1 | × | (Alternative) Potentiometer Module with Knob | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino UNO R4 | Amazon | |
1 | × | (Recommended) Power Splitter For Arduino UNO R4 | Amazon |
포텐셔미터에 대하여
회전 위치 센서로도 알려진 회전형 전위차계는 스테레오 볼륨, 램프 밝기 또는 오실로스코프 확대 수준과 같은 설정을 수동으로 변경하는 데 사용됩니다.
핀아웃
포텐시오미터는 일반적으로 세 개의 핀을 가지고 있습니다.
- GND 핀: GND (0V)에 연결
- VCC 핀: VCC (5V 또는 3.3V)에 연결
- 출력 핀: Arduino UNO R4의 입력 핀으로 전압을 보냄.
※ NOTE THAT:
GND 핀과 VCC 핀은 교환할 수 있습니다.
작동 원리
포텐셔미터의 샤프트는 0°(GND에 가장 가까운)에서 최대 각도(VCC 핀에 가장 가까운)까지 회전할 수 있으며, 이를 ANGLE_MAX라고 합니다.
출력 핀의 전압은 GND의 전압에서 VCC의 전압까지 변합니다. 출력 전압은 샤프트가 회전하는 각도에 직접적으로 변화합니다.
- 각도가 0도일 때, 출력 핀의 전압은 0볼트입니다.
- 각도가 ANGLE_MAX와 같을 때, 출력 핀의 전압은 VCC의 전압과 일치합니다.
- 각도가 0°와 ANGLE_MAX 사이일 때, 출력 전압 = 각도 × VCC / ANGLE_MAX
※ NOTE THAT:
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 | |||
---|---|---|---|---|
Angle | rotated by user | 0° | → | ANGLE_MAX |
Voltage | from potentiometer's pin | 0V | → | VCC |
ADC value | read by Arduino UNO R4 | 0 | → | 1023 |
Other value | converted by Arduino UNO R4 | VALUE_MIN | → | VALUE_MAX |
Wiring Diagram
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
포텐셔미터 프로그래밍 방법
- analogRead() 함수를 사용하여 가변저항기의 출력 핀에 연결된 핀으로부터 값을 읽습니다.
- ADC 값을 map() 함수를 사용하여 전위차계의 각도로 변환합니다.
- ADC 값을 전압으로 변환:
- ADC 값을 관리 가능한 수준으로 변환하십시오 (예: 스테레오의 음량, 밝기 또는 DC 모터의 속도).
- 예를 들어, LED의 밝기를 조절하는 것입니다. LED의 밝기는 PWM 값 0(항상 꺼짐)에서 255(항상 켜짐)을 사용하여 제어할 수 있습니다. 따라서, 우리는 ADC 값을 LED 밝기(꺼짐에서 가장 밝음)로 다음과 같이 매핑할 수 있습니다:
※ NOTE THAT:
map() 함수는 아날로그 값을 int 또는 long 타입 값으로 변경하는 데 사용됩니다. float 타입 값으로 작업해야 한다면, 대신 floatMap() 함수를 사용해야 합니다.
floatMap() 함수:
아두이노 UNO R4 코드
Detailed Instructions
다음 지침을 단계별로 따르세요:
- Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우 Arduino IDE에서 Arduino Uno R4 WiFi/Minima를 위한 환경 설정에 관한 튜토리얼을 참조하세요.
- 제공된 다이어그램에 따라 가변 저항기를 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에 코드를 업로드하세요.
- 시리얼 모니터 열기
- 가변 저항기 돌리기
- 시리얼 모니터에서 결과 확인
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.