ESP32 마이크로파이썬 조이스틱 서보 모터
이 가이드는 MicroPython을 사용하여 ESP32와 조이스틱으로 두 개의 서보 모터 또는 팬-틸트 키트를 제어하는 방법을 보여줍니다.
조이스틱에는 X축과 Y축이라고 불리는 서로 교차하는 패턴으로 배치된 두 개의 제어 구성 요소(포텐셔미터)가 들어 있습니다. 이 포텐셔미터들은 조이스틱의 VRX 및 VRY 핀에서 나오는 X값과 Y값 신호를 생성합니다. 이 신호들은 두 개의 서보 모터를 제어하는 데 사용되는데, X값은 서보 모터 #1을, Y값은 서보 모터 #2를 제어합니다. 팬-틸트 키트와 함께 사용될 때, 이 두 서보 모터는 협력하여 3차원으로 움직입니다.
애플리케이션은 두 가지 방법으로 사용할 수 있습니다:
- 사용 사례 1: 조이스틱을 움직이면 서보 모터를 제어합니다:
- 서보 모터의 각도는 조이스틱의 좌우(X) 및 상하(Y) 움직임에 해당합니다.
조이스틱을 놓으면 조이스틱과 서보 모터 모두 초기 위치로 돌아갑니다.
- Use case 2: 조이스틱을 사용하여 서보 모터를 제어합니다:
- 조이스틱을 왼쪽으로 움직이면 서보 모터 #1이 시계 방향으로 회전합니다.
조이스틱을 오른쪽으로 움직이면 서보 모터 #1이 반시계 방향으로 회전합니다.
조이스틱을 위로 움직이면 서보 모터 #2가 시계 방향으로 회전합니다.
조이스틱을 아래로 움직이면 서보 모터 #2가 반시계 방향으로 회전합니다.
조이스틱을 놓으면 서보 모터의 현재 위치가 유지됩니다.
조이스틱의 버튼을 누르면 서보 모터들이 중앙 위치로 리셋됩니다.

준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | 조이스틱 (Joystick) | 쿠팡 | 아마존 | |
2 | × | 서보 모터 | 쿠팡 | 아마존 | |
2 | × | (추천) 서보 모터가 포함된 팬 틸트 키트 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
조이스틱 및 서보 모터에 대하여
만약 ESP32용 조이스틱, 서보 모터 또는 MicroPython 프로그래밍에 익숙하지 않다면, 이 튜토리얼들을 확인해보시길 추천드립니다:
- ESP32 마이크로파이썬 - 시작하기 튜토리얼
이 튜토리얼들은 조이스틱 및 서보 모터 핀 배열에 대한 포괄적인 이해, 이러한 구성 요소들을 ESP32에 연결하는 방법, 그리고 MicroPython 코드를 사용하여 이들의 동작을 효과적으로 제어하는 방법을 제공합니다.
선연결
- ESP32를 조이스틱 및 서보 모터와 브레드보드를 사용하여 연결하는 방법

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 스크류 터미널 블록 브레이크아웃 보드를 사용하여 ESP32를 조이스틱 및 서보 모터와 연결하는 방법

ESP32 MicroPython 코드
ESP32 MicroPython 코드 - 조이스틱 엄지의 움직임에 따라 서보 모터가 회전합니다.
자세한 사용 방법
Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침은 다음과 같습니다:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인합니다.
- ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인합니다.
- MicroPython이 탑재된 ESP32를 처음 사용하는 경우, 단계별 지침은 ESP32 마이크로파이썬 - 시작하기 가이드를 참고하세요.
- 제공된 다이어그램에 따라 ESP32 보드를 조이스틱 및 서보 모터에 연결합니다.
- USB 케이블을 이용해 ESP32 보드를 컴퓨터에 연결합니다.
- 컴퓨터에서 Thonny IDE를 실행합니다.
- Thonny IDE에서 Tools Options로 이동합니다.
- Interpreter 탭에서 드롭다운 메뉴에서 MicroPython (ESP32)를 선택합니다.
- 올바른 포트가 선택되었는지 확인합니다. Thonny IDE는 보통 자동으로 감지하지만, 수동으로 선택해야 할 수도 있습니다(예: Windows의 경우 COM12 또는 Linux의 경우 /dev/ttyACM0).
- Thonny IDE에서 Tools Manage packages로 이동합니다.
- “DIYables-MicroPython-Servo”를 검색한 후, DIYables에서 만든 Servo Motor 라이브러리를 찾습니다.
- DIYables-MicroPython-Servo를 클릭한 다음, Install 버튼을 눌러 Servo Motor 라이브러리를 설치합니다.

- “DIYables-MicroPython-Joystick”을 검색한 후, DIYables에서 만든 Joystick 라이브러리를 찾으세요.
- DIYables-MicroPython-Joystick을 클릭한 후, Joystick 라이브러리를 설치하기 위해 Install 버튼을 클릭하세요.

- 제공된 MicroPython 코드를 복사하여 Thonny 편집기에 붙여넣으세요.
- ESP32에 코드를 저장하려면 다음을 수행하세요:
- 저장 버튼을 클릭하거나 Ctrl+S를 누르세요.
- 저장 대화상자에서 MicroPython device를 선택하세요.
- 파일 이름을 main.py로 지정하세요.
- 녹색 실행 버튼을 클릭하거나(F5 누름) 스크립트를 실행하세요.
- 조이스틱을 아무 방향으로 밀어보세요.
- 서보 모터가 회전하는 것을 확인하세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
※ 주의:
이 튜토리얼은 조이스틱에 연결된 ADC(아날로그-디지털 변환기)로부터 값을 읽기 위해 adc.read() 함수를 사용하는 방법을 보여줍니다. ESP32의 ADC는 고정밀이 필요하지 않은 프로젝트에 적합합니다. 그러나 프로젝트에 정확한 측정값이 필요하다면 다음 사항을 염두에 두십시오:
- ESP32 ADC는 완벽하게 정확하지 않으며 정밀한 결과를 위해 캘리브레이션이 필요할 수 있습니다. 각 ESP32 보드는 약간씩 다를 수 있으므로 각 보드마다 캘리브레이션이 필요합니다.
- 캘리브레이션은 특히 초보자에게 도전적일 수 있으며 항상 원하는 정확한 결과를 제공하지 않을 수도 있습니다.
정밀도가 요구되는 프로젝트의 경우, ESP32와 함께 외부 ADC(예: ADS1115) 사용을 고려하거나 더 신뢰할 수 있는 ADC를 가진 Arduino를 선택하십시오. ESP32 ADC를 캘리브레이션하고자 한다면 ESP32 ADC 캘리브레이션 드라이버를 참조하십시오.
ESP32 MicroPython 코드 - 조이스틱으로 서보 모터 제어
자세한 사용 방법
- 위 코드를 복사하여 Thonny IDE의 편집기에 붙여넣으세요.
- 스크립트를 ESP32 보드에 저장하세요.
- 녹색 Run 버튼을 클릭하거나 (또는 F5를 눌러) 스크립트를 실행하세요.
- 조이스틱을 아무 방향으로나 움직이세요.
- 서보 모터가 회전하는 것을 관찰하세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
코드 설명
소스 코드의 주석에 있는 설명을 확인하세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.