아두이노로 조이스틱 제어하기 (SZH-EK056)
안녕하세요!!!!
오늘은 조이스틱 구동하기 입니다!!
한번 가볼까요!!?
1. 조이스틱 모듈의 이해
조이스틱 모듈은 아래와 같이 생겼습니다!

조이스틱을 이리저리 움직이면
RC 장난감의 DC모터 혹은 Servo모터를
제어하는데 많이 사용합니다!!!
내부적으로 어떻게 구성되었는지 파악해볼까요!!?

간단히 요약하자면,
조이스틱의 X축을 움직이면 가변저항인
Potentiometer X의 저항 값이 달라져
여기에 인가되는 전압이 변하게 됩니다.
그 전압 값을 읽으면, 조이스틱의 X축이
얼마나 변했는지 알 수 있겠죠!!!?
조이스틱의 Y축도 위와 같고,
Z는 조이스틱을 꾹 눌렀을 때 스위치 역할을 합니다!!
2. 연결도
핀맵은 아래와 같이 연결해주세요!!!!!

위와 같이 연결하면 아래와 같이됩니다!!!

3. 코드
아래 코드는 별다른 설명이 필요없이 아주 쉽다!
조이스틱 내부 회로도 이해가 중요!!!
void setup(){
//조이스틱 모듈의 SW는 눌러지지 않았을 때
//Floating 상태이므로 아두이노 자체 PULLUP 저항을 연결
Serial.begin(9600);
pinMode(7, INPUT_PULLUP);
}
void loop(){
//x축 값 출력
Serial.print("x : ");
Serial.print(analogRead(A0));
Serial.print(" ");
//y축 값 출력
Serial.print("y : ");
Serial.print(analogRead(A1));
Serial.print(" ");
//z축 값 출력
Serial.print("z : ");
Serial.println(digitalRead(7));
delay(500);
}
4. 결과
시리얼모니터로 출력했을 때 모습입니다.
이리저리 움직이니 X, Y 값이 변하는게 보이죠!!!?
조이스틱을 누르면 Z 값은 0으로 변하게 됩니다!!

오실로스코프 세로 1칸에 5V입니다!!
X축 방향으로 이리저리 움직여 봤는데요!!
왼쪽으로 움직였을 때 0V
센터에 놓였을 때 2.5V
오른쪽으로 움직였을 때 5V로
전압 값이 가변됨을 확인하였습니다.
아두이노가 해당 전압 값(Analog, 0~5V)를 읽어
시리얼모니터(Digital, 0~1023)으로 출력함을 알 수 있습니다.

내부 회로도를 알고 설계합시다^^
-끝-
'아두이노' 카테고리의 다른 글
| 아두이노로 서보모터 제어하기 (SG90) (0) | 2020.05.07 |
|---|