You are here

LabVIEW Tech-Tip 14호 - LabVIEW를 이용한 Wii 리모컨 제어

Step 1. Wii 리모컨과 PC의 연결
>>LabVIEW를 이용한 코딩에 앞서 PC와 Wii 리모컨을 연결하는 과정을 설명합니다.

Wii 리모컨은 Bluetooth로 통신하기 때문에 기본적으로 PC에 Bluetooth 모듈이 설치되어있거나, Bluetooth 동글 등을 설치해야 연결이 가능합니다. Wii 리모컨과 Bluetooth 모듈간에는 호환성 문제로 연결이 되지 않는 경우가 다소 많이 발생하는데, 호환 가능한 장비 목록은 웹에서 확인할 수 있습니다.

먼저 PC의 Bluetooth 모듈을 활성화 합니다. 활성화 하면 윈도우 화면 아래쪽에 있는 작업표시줄의 오른쪽 알림영역에 Bluetooth 아이콘이 활성화 됩니다.

 

그림 1. 작업표시줄 알림영역의 활성화된 Bluetooth 아이콘

활성화 된 Bluetooth 아이콘을 더블클릭하거나 시작 프로그램에서 내 Bluetooth 환경을 클릭하면 다음과 같은 환경설정 창이 뜨게 됩니다.

 

그림 2. 내 Bluetooth 환경

Wii 리모컨의 1, 2번 스위치를 동시에 누릅니다. Wii 리모컨의 LED가 깜빡이면서 Bluetooth 연결 모드로 바뀝니다. 이 때 내 Bluetooth 환경 윈도우 왼쪽 메뉴에 있는 범위 내의 장치보기를 클릭합니다. PC 근처의 다양한 Bluetooth 통신 가능 장치들이 검색 됩니다. 이 중 Nintendo RVL-CNT-01을 클릭한 후 윈도우 왼쪽 메뉴에 있는 선택한 Bluetooth 장치 추가를 클릭합니다.

 

그림 3. 장치 검색된 Nintendo RVL-CNT-01

Bluetooth 보안 설정 창이 뜨게 되는데, 설정을 변경하지 않고 건너뛰기 버튼을 클릭합니다.

 

그림 4. Bluetooth 보안 설정

*주의: Bluetooth와 PC의 연결 작업 과정 중에는 항상 Wii 리모컨을 연결 모드 상태로 유지해야 합니다. 시간이 지체되면 연결 모드 상태가 자동으로 종료되니 주의하시기 바랍니다.

Nintendo RVL-CNT-01에 체크 표시한 후 마침 버튼을 누릅니다.

 

그림 5. Bluetooth 서비스 선택

내 Bluetooth 환경윈도우의 Nintendo RVL-CNT-01 아이콘이 다음과 같은 형태로 바뀌었습니다. 이제 PC와 Wii 리모컨이 연결되었습니다.


그림 6. PC와 Wii 리모컨 연결 완료
맨위로

Step 2. Wii 리모컨 .NET 라이브러리 다운로드
>>무료 코드 공유 사이트에서 Wii 리모컨 구동을 위한 WiimoteLib.dll 파일을 다운로드 합니다.

Wii 리모컨 라이브러리 파일을 다운로드 합니다. 다운로드 한 압축 파일 안에 있는 WiimoteLib.dll을 LabVIEW와 연결하여 Wii 리모컨을 제어합니다.

 
Step 3. LabVIEW로 Wii 리모컨 제어 프로그래밍하기
>>본격적으로 LabVIEW를 이용한 Wii 리모컨 제어 프로그래밍 과정을 시작합니다.

LabVIEW의 새 VI를 열고, 블록다이어그램 함수팔레트에서 .NET 함수 팔레트를 엽니다.

 

그림 7. .NET 함수 팔레트

.NET 함수 팔레트의 왼쪽 맨 위에 있는 컨스트럭터 노드를 블록다이어그램에 놓으면 .NET 컨스트럭터 선택 윈도우가 뜹니다. 컨스트럭터 선택 윈도우의 오른쪽 위에 있는 탐색 버튼을 누르고, 방금 다운 로드한 WiimoteLib.dll을 찾아 선택한 후 확인 버튼을 클릭합니다. 객체 창에서 Wiimote를 선택하고 확인 버튼을 클릭합니다.


그림 8. .NET 컨스트럭터 선택 윈도우

.NET 팔레트의 인보크 노드를 블록다이어그램으로 끌어놓고 방금 설정했던 컨스트럭터 노드와 와이어링한 후 메소드에서 Connect()를 선택합니다.


그림 9. 인보크노드 연결

같은 방법으로 그림 10과 같이 프로그래밍 합니다. SetReportType 메소드를 선택한 후, type 입력에 마우스 오른쪽 클릭하고 생성>>상수를 클릭하면 Ring 상수가 생성되는데, 이 중 ButtonsAccel을 선택합니다.


그림 10. Wii 리모컨 초기 설정 프로그래밍

.NET 팔레트의 프로퍼티 노드를 블록다이어그램으로 끌어놓고 다음과 같이 프로그래밍합니다. 인보크 노드와 프로퍼티 노드를 연결한 후 프로퍼티를 클릭하여 WiimoteState를 선택합니다.

 

그림 11. 프로퍼티 노드 연결

같은 방법으로 블록다이어그램 및 프런트 패널을 다음과 같이 프로그래밍 합니다.

 

그림 12. 블록다이어그램 프로그래밍

 

그림 13. 프런트패널 구성

실행하면 Wii 리모컨의 버튼 상태와 가속도 상태를 실시간으로 확인할 수 있습니다. 이러한 방법으로 Wii 리모컨의 앞부분에 있는 적외선 센서 등 기타 기능 등을 응용하는 프로그램을 구성할 수 있습니다.

*예제 파일 다운로드
>>Step 3을 통해 생성된 LabVIEW 소스 코드를 다운로드합니다. 

본 Tech-Tip 14호에 사용된 Wii 리모컨 및 WiimoteLib.dll 파일은 내쇼날인스트루먼트에서 제작한 내용이 아니므로 이에 대한 기술 지원이 불가합니다.