본문 바로가기

소프트박스 코딩

소프트박스에서 조이스틱 데이터 확인하기

반응형

소프트박스에서 조이스틱 데이터 확인하기

 

조이스틱은 5개의 핀이 있으며 좌측부터 GND, VCC, X축 센서 신호, Y축 센서 신호, 푸시 스위치 신호를 전송한다.

X, Y 축의 센서는 아두이노의 아날로그 단자에 연결하고 푸시 스위치는 디지털 단자에 연결한다. 그 이유는 X, Y축의 센서는 ON/OFF 뿐만 아니라 얼마나 조이스틱이 방향을 틀었는지 그 값을 가변적으로 전송하기 때문이다. 반면에 푸시 스위치는 ON/OFF 값만을 전송하므로 디지털 단자에 연결한다.

 

조이스틱 외형 이미지

 

아두이노 메가 보드와 조이스틱의 연결도

 

조이스틱 핀 맵

 

소프트박스에서 조이스틱 위치

 

아두이노 스케치 소스코드

// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
 
void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(9600);
}
 
void loop() {
  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print("\n");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print("\n");
  Serial.print("Y-axis: ");
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
  delay(500);
}

 

반응형