아두이노 나노 ESP32 가변 저항기
이 튜토리얼은 아두이노 나노 ESP32를 포텐쇼미터와 함께 사용하는 방법에 대한 지침을 제공합니다. 자세히, 우리는 배울 것입니다:
- 전위차계가 어떻게 작동하는지
- 아두이노 나노 ESP32를 전위차계와 인터페이스하는 방법
- 전위차계에서 값을 읽기 위해 아두이노 나노 ESP32를 프로그래밍하는 방법
- 전위차계에서 읽은 값을 유용한 값으로 변환하는 방법
준비물
1 | × | 아두이노 나노 ESP32 | 아마존 | |
1 | × | USB 케이블 타입-C | 쿠팡 | 아마존 | |
1 | × | 포텐셔미터 | 쿠팡 | 아마존 | |
1 | × | 노브가 있는 포텐셔미터 모듈 | 쿠팡 | 아마존 | |
1 | × | 브레드보드 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노용 브레이크아웃 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) 아두이노 나노 ESP32용 전원 분배기 | 쿠팡 | 아마존 |
포텐쇼미터에 관하여
포텐쇼미터(회전 각도 센서로도 알려져 있음)는 설정을 변경하는 데 사용됩니다(예: 스피커의 볼륨, 방의 온도, 램프의 밝기...).
![가변저항 사용법 핀아웃](https://newbiely.kr/images/tutorial/potentiometer.jpg)
포텐쇼미터 핀배열
포텐쇼미터는 보통 3개의 핀을 가지고 있습니다:
- VCC 핀: 이 핀을 VCC(5V 또는 3.3v)에 연결하세요.
- GND 핀: 이 핀을 GND(0V)에 연결하세요.
- 출력 핀: 이 핀은 전압을 ESP32의 입력 핀으로 출력합니다.
![가변저항 사용법 핀아웃](https://newbiely.kr/images/tutorial/potentiometer-pinout.jpg)
※ 주의:
GND 핀과 VCC 핀은 교환 가능합니다.
전위차계의 작동 원리
포텐쇼미터의 축은 0°(GND 핀에 가장 가까운)에서부터 VCC 핀에 가장 가까운 각도로, ANGLE_MAX라고 불리는 각도까지 회전할 수 있습니다.
출력 핀의 전압은 0에서 VCC까지 변하며 축의 각도 위치에 직접 비례합니다. 아래 표는 각도와 출력 핀의 전압 사이의 관계를 보여줍니다:
Angle | Voltage |
---|---|
0° | 0v |
ANGLE_MAX° | VCC |
angle° | angle° × VCC / ANGLE_MAX° |
※ 주의:
ANGLE_MAX 값은 제조사에 따라 달라집니다.
![how 가변저항 works](https://newbiely.kr/images/tutorial/how-it-works-rotary-potentiometer.gif)
아두이노 나노 ESP32 - 로터리 포텐시오미터
ESP32의 아날로그 입력 핀은 전압(0V에서 3.3V 사이)을 정수 값(0에서 4095 사이)으로 변환합니다. 이를 ADC 값 또는 아날로그 값이라고 합니다.
우리는 포텐쇼미터의 출력 핀을 ESP32의 아날로그 입력 핀에 연결하고, 그 핀에서 아날로그 값을 읽을 수 있습니다.
입력 핀에서의 아날로그 값은 다른 값으로 재조정될 수 있습니다. 사용 사례를 살펴봅시다:
- 아날로그 값을 포텐쇼미터의 각도에 맞게 재조정합니다.
- 아날로그 값을 포텐쇼미터의 전압에 맞게 재조정합니다.
- 아날로그 값을 설정 값(예: 스피커의 볼륨, 방의 온도, 램프의 밝기 등)에 맞게 재조정합니다.
범위 재조정
FROM | TO | |||
---|---|---|---|---|
Angle | rotated by user | 0° | → | ANGLE_MAX° |
Voltage | from potentiometer's pin | 0V | → | 3.3V |
ADC value | read by ESP32 | 0 | → | 4095 |
Setting value | converted by ESP32 | VALUE_MIN | → | VALUE_MAX |
포텐쇼미터와 아두이노 나노 ESP32 사이의 배선도
![아두이노 나노 ESP32 가변저항 연결 배선도](https://newbiely.kr/images/tutorial/arduino-nano-esp32-potentiometer-wiring-diagram.jpg)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
포텐쇼미터를 프로그래밍하는 방법
analogRead() 함수를 사용하여 포텐쇼미터의 출력 핀에 연결된 입력 핀에서 값을 읽습니다.
포텐쇼미터의 각도에 맞게 재조정하기 위해 map() 함수를 사용하세요.
포텐쇼미터의 전압에 맞게 재조정하세요.
제어 가능한 값으로 재조정하십시오 (예: 스테레오의 볼륨, 밝기, 직류 모터의 속도...).
예를 들어, LED의 밝기에 맞게 재조정하는 것입니다. 이 튜토리얼에서 언급했듯이, LED의 밝기는 0(항상 꺼짐)부터 255(항상 켜짐)까지의 PWM 값으로 제어할 수 있습니다. 따라서, 아날로그 값을 다음과 같이 LED의 밝기(꺼짐에서 가장 밝음까지)에 매핑할 수 있습니다:
만약 당신이 LED를 야간등에서 가장 밝은 상태로 어둡게 하고 싶다면,
※ 주의:
map() 함수는 아날로그 값을 int 또는 long 타입 값으로 재조정하는 데에만 사용할 수 있습니다. 제어 가능한 값이 float 타입인 경우, map() 함수 대신 floatMap() 함수를 사용해야 합니다.
floatMap() 함수:
아두이노 나노 ESP32 코드
사용 방법
- Arduino Nano ESP32를 처음 사용하는 경우, 아두이노 나노 ESP32 - 소프트웨어 설치을 참조하세요.
- 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
- Arduino IDE의 Upload 버튼을 클릭하여 코드를 Arduino Nano ESP32 보드에 컴파일하고 업로드하세요.
![아두이노 코딩](https://newbiely.kr/images/tutorial/how-to-upload-code-to-arduino-nano-esp32.jpg)
아두이노 IDE에서 시리얼 모니터 열기
![how to open serial monitor on 아두이노 ide](https://newbiely.kr/images/tutorial/arduino-nano-esp32-how-to-open-serial-monitor.jpg)
- 포텐쇼미터를 돌리세요.
- Serial Monitor에서 결과를 확인하세요. 아래와 같이 보입니다:
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.