아두이노 조이스틱 모듈 제작: 단계별 완벽 가이드
모션 및 로봇 프로젝트를 진행 중이신가요? 그렇다면 아두이노 조이스틱 모듈에 대해 들어보셨을 텐데, 직접 만드는 방법을 모르시거나 작동 원리에 대해 더 자세히 알고 싶으실 수 있습니다. 이 글에서는 아두이노 조이스틱 모듈의 모든 것—작동 원리부터 간단한 회로 제작 방법까지—을 단계별로 안내해 드립니다.
조이스틱 모듈이란?
로봇 프로젝트에서 조이스틱은 거의 필수적입니다. 하지만 적합한 컨트롤러를 구하기 어렵거나 비쌀 수 있습니다. 조이스틱 모듈은 저렴한 비용으로 동일한 결과를 얻을 수 있는 훌륭한 대안입니다.
아날로그 게임패드의 조이스틱과 유사하게 작동하며, 핵심 부품은 90도 각도로 배치된 두 개의 포텐쇼미터입니다. 스프링이 중심에 있는 짧은 스틱이 이 포텐쇼미터와 연결되어 있습니다.
출력 특성
- 중립 위치에서 X, Y축 모두 약 2.5V 출력
- 조이스틱 이동 시 방향에 따라 0V~5V 범위로 변화
- 마이크로컨트롤러(10비트 ADC) 연결 시 중립값 약 512, 이동 시 0~1023 범위의 값 출력
핀 구성 (Pin Configuration)
| 핀 번호 | 핀 이름 | 설명 |
| 1 | GND | 모듈 접지 단자 |
| 2 | +5V | 모듈 양전원 단자 |
| 3 | VRx | X축에 비례하는 전압 출력 |
| 4 | VRy | Y축에 비례하는 전압 출력 |
| 5 | SW | 모듈의 푸시버튼 스위치 |
주요 특징
- X, Y축 각각 독립적인 포텐쇼미터 탑재
- 가벼운 무게
- 대부분의 마이크로컨트롤러 및 아두이노와 손쉬운 인터페이스
- 사용하지 않을 때 자동으로 중앙 위치로 복귀
- 컵 타입 노브 장착
기술 사양
- 동작 전압: 5V
- 내부 포텐쇼미터 값: 10kΩ
- 동작 온도: 0~70°C
- 핀 간격: 2.54mm
- 크기: 4.0cm × 2.6cm × 3.2cm
- 5핀 구성
- 두 개의 포텐쇼미터가 수평/수직 방향 제어
회로도 (Schematic Diagram)
두 개의 10kΩ 포텐쇼미터가 X, Y축을 독립적으로 제어하며, 스위치(SW) 핀은 내부적으로 푸시버튼과 연결되어 있습니다.
아두이노와 조이스틱 모듈 인터페이싱
라즈베리 파이, 아두이노 등 다양한 마이크로컨트롤러와 호환됩니다. VRx, VRy 핀을 마이크로컨트롤러의 ADC 핀에 연결하고, 스위치 사용 시 디지털 핀에 연결하면 됩니다.
아두이노 연결 예시
- VRx → 아두이노 A0
- VRy → 아두이노 A1
- SW → 아두이노 디지털 핀 8 (풀업 저항 필요)
- VCC → 5V, GND → GND
기본 아두이노 코드 (라이브러리 불필요)
#define joyX A0
#define joyY A1
void setup() {
Serial.begin(9600);
}
void loop() {
int xValue = analogRead(joyX);
int yValue = analogRead(joyY);
Serial.print(xValue);
Serial.print("\t");
Serial.println(yValue);
delay(100);
}
매핑 예제: 8×8 LED 매트릭스 제어
#include "LedControl.h"
#define joyX A0
#define joyY A1
int xMap, yMap, xValue, yValue;
LedControl lc = LedControl(12, 11, 10, 1);
void setup() {
Serial.begin(115200);
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
}
void loop() {
xValue = analogRead(joyX);
yValue = analogRead(joyY);
xMap = map(xValue, 0, 1023, 0, 7);
yMap = map(yValue, 0, 1023, 7, 0);
lc.setLed(0, xMap, yMap, true);
lc.clearDisplay(0);
delay(50);
}
참고: map() 함수를 이용해 아날로그 값(0~1023)을 원하는 출력 범위(예: 0~7)로 변환할 수 있습니다.
주요 응용 분야
- 로봇 제어 (드론, 로봇팔 등)
- 이동형 카메라 제어
- 다양한 모션 제어 애플리케이션
- 게임 컨트롤러 및 DIY 전자 프로젝트
마무리
조이스틱 하면 게임 컨트롤러가 가장 먼저 떠오르지만, DIY 전자 및 로봇 제어 분야에서 그 활용도는 무궁무진합니다. 조이스틱 모듈은 스틱의 수평/수직 움직임에 따라 아날로그 출력을 생성하여 마이크로컨트롤러의 아날로그 입력으로 전달합니다.
궁금한 점이나 제안 사항이 있으시면 언제든 연락 주세요. 항상 기꺼이 도와드리겠습니다.