[#17 WEKIT 아두이노 종합키트 공략] 조이스틱 모듈 공략하기

 


안녕하세요 디바이스마트입니다


이번 시간엔 조이스틱 모듈에 대해 알아보도록 하겠습니다 !




"

조이스틱 모듈이란?

"

'스틱' 이라 불리는 긴 막대형의 레버를 통해

어떠한 장치를 제어하는 부품입니다


레버를 통해 상하좌우로 밀거나 당겨서 조작하는 방식으로

항공기의 보조 날개와 승강타 조종을 위해 만들어졌지만,

게임 상 캐릭터의 움직임을 컨트롤 하는 부품으로 많이 알려져 있습니다



그럼 지금 부터 조이스틱 모듈에 기본적인 

동작 방법에 대해 실습 해 보도록 하겠습니다 !





  WK PS2 조이스틱 모듈 
[WK-ADB-K07-22]



▼스펙▼

정격전압 : 5V, 3.3V



인터페이스 : Arduino 5P Interface (5핀) SVG

크기 : 37 * 31 * 32mm

무게 : 4g




- 조이스틱 모듈 핀 특성 -

조이스틱은 상하좌우로 작동하며, 움직임이 있을 때마다
X, Y 핀을 통해 얼마만큼 움직임이 감지 되었는지 알려줍니다.



아두이노 우노와 쉴드 사용법을 모를 경우 !

[아두이노 우노와 센서 쉴드 사용법]

🔼클릭🔼




1. 회로도 & 배선도




2. 코드 예제


(조이스틱 모듈 예제)

// 조이스틱 모듈 예제(https://www.devicemart.co.k)
// 방향키 예제

#define JOIX_PIN A0
#define JOIY_PIN A1       
#define JOIK_PIN A2      
#define LED_PIN 3    //핀 번호 지정

int JOIX;
int JOIY;
int JOIK;   // 센서 값 변수 설정

void setup() {
  Serial.begin(9600);      //시리얼 통신 시작
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  JOIX = analogRead(JOIX_PIN);    // x 값 
  JOIY = analogRead(JOIY_PIN);    // y 값 
  JOIK = analogRead(JOIK_PIN);    // k 값
  if(JOIX >= 813 && JOIX <= 817 && JOIY > 756  && JOIY < 760){  
    Serial.print("정지   ");
    }
  if(JOIK == 0){
    Serial.print("LED ON   ");
    digitalWrite(LED_PIN, HIGH);
    }
  if(JOIK == 1023){
    digitalWrite(LED_PIN, LOW);
    }
  if(800 <= JOIX && 900 >= JOIX &&  JOIY >= 1020 ){
    Serial.print(" ↑ ");
    }
  if(JOIX >= 1000 && 730 <= JOIY && JOIY <= 780 ){
    Serial.print(" ← ");
  }
  if(JOIX <= 100 && 730 <= JOIY && JOIY <= 780 ){
    Serial.print(" → ");
  }
  if(800 <= JOIX && JOIX<= 850 && JOIY <= 100 ){
    Serial.print(" ↓ ");
  }
  if(300 >= JOIX && JOIY >= 1000){
    Serial.print(" ↗ ");
  }
  if(1000 <= JOIX && JOIY <= 300 ){
    Serial.print(" ↙ ");
  }
  if(1000 <= JOIX && JOIY >= 1000 ){
    Serial.print(" ↖ ");
  }
  if(300 >= JOIX && JOIY <= 300 ){
    Serial.print(" ↘ ");
  }
  else{
    }
    
  Serial.print("X = ");
  Serial.print(JOIX);
  Serial.print("   ");
  Serial.print("Y = ");
  Serial.print(JOIY);
  Serial.print("   ");
  Serial.print("K = ");
  Serial.println(JOIK);
  delay(1000);
}


위 예제는 조이스틱 모듈을 통해 방향키 조작을 시리얼

모니터로 나타내는 예제 입니다


지금까지 조이스틱 모듈에 대해 실습 해 보았습니다

위 예제를 참고해서 여러가지 방식으로

작동해보시길 바랍니다

그럼 저는 다음 센서/모듈 포스팅으로 돌아오겠습니다 !!

🔽상품정보🔽

WK PS2 조이스틱 모듈 [바로가기]

WK 아두이노 우노 호환보드 (USB-C타입) ​[바로가기]

WK 아두이노 호환 센서 쉴드 V5.0 [바로가기]

WK Piranha LED 모듈 [바로가기]

[아두이노 우노 스페셜 센서 종합키트]


댓글 쓰기

0 댓글