기쁨의 막대기 JoyStick Module

1. JoyStick 모듈

간단하지만 input device로 쓸모가 많은 조이스틱 모듈입니다. X, Y 축의 움직임을 2개의 Analog 신호로 만들어 주고 Z 축으로 누르면 버튼 처럼 동작해서 1개의 Digital 신호로 만들어줍니다.

464441753_660

2. 연결방법

Features:

  • Size (LxWxH): 38X28X32 (mm)

Pin Definition:

+ 5V
GND
B button to receive a digital IO ports
X X-axis offset, the use of analog IO port read out
Y Y-axis offset, the use of analog IO port read out

보통 5개의 핀이 있습니다. +, – 핀을 아두이노의 5V, GND로 연결합니다. X, Y 축의 회전각을 보내주는 핀은 아두이노의 아날로그 핀으로(A0, A1 등…) 연결해줍니다. 버튼 핀은 디지털 핀 남는데 연결하시면 끝.

아두이노의 A4, A5 핀은 I2C 통신을 사용할 경우 예약된 핀이므로 미래를 위해 하껴두세요.

JoystickMouse_2_bb

3. 연결 확인, 소스 업로드

// 2개의 아날로그 핀과 (X, Y축 움직임), 1개의 디지털 핀 (Z축 버튼) 정의

const int VERT = 0; // analog
const int HORIZ = 1; // analog
const int SEL = 2; // digital

void setup()

{
pinMode(SEL,INPUT);    // 버튼 핀을 읽기 모드로
// turn on the pull-up resistor for the SEL line

// (see http://arduino.cc/en/Tutorial/DigitalPins)
digitalWrite(SEL,HIGH);

// set up serial port for output
Serial.begin(9600);
}

void loop()
{
int vertical, horizontal, select;

// read all values from the joystick

  vertical = analogRead(VERT); // will be 0-1023
horizontal = analogRead(HORIZ); // will be 0-1023
select = digitalRead(SEL); // will be HIGH (1) if not pressed, and LOW (0) if pressed

// print out the values

Serial.print(“vertical: “);
Serial.print(vertical,DEC);
Serial.print(” horizontal: “);
Serial.print(horizontal,DEC);
Serial.print(” select: “);
if(select == HIGH)
Serial.println(“not pressed”);
else
Serial.println(“PRESSED!”);
}

You may also like...