강의

[하드웨어] 아두이노 + 블루투스 + 자이로센스 이용한 VR용 조이스틱 제작 #1

페이지 정보

작성자 이경용 작성일17-01-23 10:00 조회4,729회 댓글1건

본문

오늘부터 아두이노와 센스들을 이용한 VR용 조이스틱 제작 관련 강의를 시작합니다.

먼저 간단한 총 형태의 무선 컨트롤러를 제작해보고자 합니다.

VR(가상현실)에서는 HMD가 눈을 겨려서 나의 발과 손을 대신할 컨트롤러가 필요한데 무선으로 해야 자유롭게 사용이 가능합니다.

따라서, 스마트폰 타입의 HMD에 사용할 컨트롤러로써 블루투스 통신을 이용하고자 합니다.

일단, 누구나 손쉽게 코딩이 가능한 아두이노를 사용할텐데, 블루투스가 내장된 블루이노라는 장치를 사용하고자 합니다.

먼저 블로이노는 크기도 작아서 컨트롤로 사용하기에 딱 안성맞춤 입니다.

즉, 블루이노에 조이스틱 모듈을 사용해서 스마트폰과 연동하도록 할텐데요.

오늘은 일반 아두이노와 조이스틱 모듈을 이용한 컨트롤 부터 실습해 보고자 합니다.

 

준비물 : 아두이노, 조이스틱, 점프선, 브래드보드

1. 아두이노 우노 : http://storefarm.naver.com/ic11401/products/556957855 

2. 조이스틱 : http://storefarm.naver.com/ic11401/products/560066425

3. 점프선 : http://storefarm.naver.com/ic11401/products/562766553 

4. 브래드보드 : http://storefarm.naver.com/ic11401/products/618645679 

총 다해서 1만원도 안될 겁니다.

 

 

cda6ae0375c151171db57edb496a3c55_1485132652_179.jpg

 

일반 게임기 조이스틱으로 많이 사용하는 방향 조정 장치와 동일하게 생겼죠!

축 변화에 따라 가변된 전압을 출력하는 장치이며, 그 값을 이용해서 방향 값을 얻습니다.

 

cda6ae0375c151171db57edb496a3c55_1485132837_8716.jpg

 

이제 아두이노와 결선을해 보겠습니다.

 

cda6ae0375c151171db57edb496a3c55_1485132905_0788.jpg

참 쉽죠! GND는 GND, +5V는 5V, VRX는 A0번, VRY는 A1번, SW는 A2번(회로도에 잘못 표기됨)

 

 

int joystick_x = 0;   
int joystick_y = 1;
int joystick_z = 2;    //조이스틱 X,Y,Z축을 저장

void setup()
{
  pinMode(joystick_z,INPUT);    // Z를 입력모드로
  Serial.begin(9600);               // 시리얼 통신을, 9600속도로 받습니다. (숫자 조정은 자유)
}

void loop()
{
  int x = analogRead(joystick_x);      // 조이스틱 X축의 아날로그 신호를 x에 저장
  int y = analogRead(joystick_y);      // 조이스틱 Y축의 아날로그 신호를 y에 저장
  int z = analogRead(joystick_z);     // 조이스틱 Z축의 아날로그 신호를 z에 저장 
  Serial.print("X: ");                   
  Serial.print(x);                           //시리얼 모니터에 'X: x값'을 표기
  Serial.print("  Y: ");
  Serial.print(y);                           //시리얼 모니터에 '  Y: y값'을 표기
  Serial.print("  Z: ");
  Serial.println(z);                         //시리얼 모니터에 '  Z: z값'을 표기하고 줄넘김
  delay(100);                                  // 100만큼 지연
} 

 

cda6ae0375c151171db57edb496a3c55_1485133134_0482.PNG
조이스틱 모듈 축을 변경할때 마다 x, y, z 값의 변화를 확인할 수 있음.
위 값을 이용해서 다음 강의에서는 유니티에서 오브젝트를 이동해 보겠습니다.
 

 


 

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

* 글을 등록하실때 꼭 필요한 경우가 아니면 개인정보를 남기지 마세요 ^^ (연락처,이메일주소,주민등록번호 등)





  코멘트 안남겨 주시면...전 삐질 거에요 ㅡㅡ;

댓글목록

강의 목록

게시물 검색
모바일 버전으로 보기