오늘은 조이스틱 모듈의 사용법에 대해 알아보겠습니다.

 

우선 제가 가지고 있는 조이스틱 모듈입니다.

 

기본적인 X, Y축 측정 외에도 스위치가 하나 달려있어 조이스틱을 누르면 스위치가 눌리게됩니다.

 

 

 

조이스틱 모듈은 생각보다 간단한 원리로 동작하는 모듈입니다.

조이스틱 모듈의 내부는 2개의 가변저항으로 이루어져 있고 각각 수직과 수평 축에 맞춰져 있습니다. 따라서 조이스틱을 한쪽 방향으로 밀게되면 해당하는 축의 저항값이 변하고 전압분배법칙에 의해 출력되는 전압이 바뀌게됩니다.  

따라서 조이스틱 모듈의 출력 전압을 측정하면 조이스틱이 어느 위치에 있는지 알 수 있게됩니다.

 

※아두이노 구현

 

보드는 아두이노 우노(UNO)를 사용하여 구현하였습니다.

 

조이스틱 모듈의 V 핀은 전압값을 측정해야 하므로 아두이노의 아날로그 입력 핀인 A0에 연결하고 H 핀은 아두이노 A1에 연결하였습니다. 또한 스위치 입력을 받기위해 KEY 핀은 아두이노 9번 핀에 연결하였습니다.

 

 

- 아두이노 소스 코드

 

#define V 0
#define H 1
#define key 9

int x_axis, y_axis;


void setup() {
  Serial.begin(9600);
  pinMode(key,INPUT);
}

void loop() {
  x_axis = analogRead(V);
  y_axis = analogRead(H);
 
  Serial.print( "X : ");
  Serial.print(x_axis);
  Serial.print( "\t");
  Serial.print( "Y : ");
  Serial.print(y_axis);
  if(digitalRead(key)==LOW){
    Serial.print("   Key_Push");
  }
  Serial.print( "\n");
  delay(20);
}

 

조이스틱의 입력값을 컴퓨터 화면에 출력하기 위해 시리얼 통신을 사용하였습니다.

X축, Y축 데이터를 아두이노 내장함수인 analogRead 함수를 사용하여 입력받습니다. analogRead함수는 0~1023의 값을 반환하고, 그 값을 그대로 시리얼 통신을 통해 컴퓨터 화면에 출력하도록 하였습니다. 또한 스위치가 눌린경우 메시지를 출력하도록 구현하였습니다.

 

 

- 아두이노 동작

 

 

 

 

 

 

블로그 이미지

1lime

아두이노와 프로그래밍, 전자공학 학생의 개인적 프로젝트 모음

,