뇌파로 제어하는 RC카 제작에 사용했던 뇌파측정 장치입니다.

NeuroSky 사에서 제작한 뇌파 측정 장치인데 다양한 버전이 있습니다. 여기서 소개할 버전은 그 중 Starter Kit (Mobile) 으로 무엇보다 저렴한 가격에 iOS, Android 용 라이브러리를 지원하고 아두이노용 튜토리얼을 제공해줘서 응용 어플리케이션, 장치를 직접 제작하기에 좋습니다. 사용방법도 간단합니다.

국내에서 시작된 벤처 회사여서 기대를 가지고 국내 지점에 문의해봤으나 국내에는 Starter Kit을 판매하지 않는다고… 결국 아마존을 통해서 구매를 했습니다. 제원을 살펴보면

MindWave Mobile
•   Uses the TGAM1 module
•   Automatic wireless pairing
•   Single AAA Battery (Not included)
•   8-hours battery run time
•   Bluetooth v2.1 Class 2 (10 meters range). Bluetooth dongle not included.
•   If you do not have Bluetooth on your PC/Mac, here are details on recommended Bluetooth dongles. 
•   Static Headset ID (headsets have a unique ID for pairing purposes)
•   iOS and Android support

라이브러리를 통해 다음과 같은 정보들을 얻을 수 있습니다.

Measures
•   Raw-Brainwaves : 별도로 처리 되지 않은 뇌파 신호 (초당 512 signal, 512Hz)
•   Processing and output of EEG power spectrums (Alpha, Beta, etc.) : 주파수 대역별 신호의 세기 (초당 1 signal, 1Hz)
•   Processing and output of NeuroSky proprietary eSense meter for Attention, Meditation, and other future meters : 집중, 명상, 눈 깜밖임등으로 처리된 값  (초당 1 signal, 1Hz)
•   EEG/ECG signal quality analysis (can be used to detect poor contact and whether the device is off the head) : 헤드셋과연 연결 상태 모니터링

개발자용 각종 라이브러리 및 매뉴얼은 아래에서 지원합니다.

NeuroSky Developer Homepage : http://developer.neurosky.com/

실제 뇌파로 제어하는 RC카 제작에 사용했던 안드로이드 앱 소스는 맨 아래 링크에서 다운로드 받으실 수 있습니다.

1. 뇌파 데이터를 받아서 처리하는 부분만 필요하시다면 CoreSignalMain.java 소스만 보세요. 뇌파 데이터를 받기 위해서는 NeuroSky 에서 배포하는 라이브러리를 프로젝트에 추가해 줘야 합니다. Pachage Explorer 에서 프로젝트 우클릭 > Build Path > Configure build path > Libraries 탭 > Add External JARs > 프로젝트 폴더 안 lib 폴더에서 ThinkGear.jar 선택앱이 실행되기 전에 BT로 헤드셋이 연결되어 있어야 합니다. 폰의 설정 > BT 에서 미리 연결을 시켜두세요. 안되면 사용 설명서를 보고 휴대폰과 헤드셋을 설정하세요.

private TGDevice tgDevice;

: 헤드셋 디바이스 클래스. 이걸로 소스 검색하면 뇌파 데이터 처리를 위한 부분이 다 나옴.

private void initialize()

: 액티비티 생성될 때 이 메서드를 호출합니다. 이 안에서 setupBT(), doStuff() 가 호출되고, 디바이스와 BT 연결이 정상적으로 되면 mHandler를 통해 데이터를 받을 수 있습니다.

private final Handler mHandler = new Handler() {}

: 헤드셋에서 전달되는 커맨드를 처리. 모든 뇌파 데이터 처리가 여기서 시작.

2. RC 카 제작을 위해 만든 소스 전체를 빌드해서 사용해보고 싶으시다면… jtransforms-2.4.jar, ThinkGear.jar, usb-serial-for-android-v010.jar 파일을 모두 프로젝트에 추가해 줘야 합니다. Pachage Explorer 에서 프로젝트 우클릭 > Build Path > Configure build path > Libraries 탭 > Add External JARs > 프로젝트 폴더 안 lib 폴더에서 앞서 적은 3개의 jar 파일을 모두 추가

먼저 USB로 폰을 RC카에 연결을 해야합니다. 그러면 자동으로 앱이 실행됩니다. 실행되면 먼저 BT로 연결된 헤드셋을 찾습니다. 헤드셋이 정상적으로 연결되면 뇌파 데이터를 받아서 그래프로 그려줍니다.(왼쪽 그림)

오른쪽 위에 Goto Controller mode 버튼을 누르면 컨트롤 모드로 들어갑니다. 여기서 Send brain signal 버튼을 누르면 신호를 RC카로 보내줍니다. 아래쪽에는 RC카에서 받은 Log 메시지를 출력합니다. 아두이노 보드와 시리얼 통신 코드가 필요하신 분은 이 부분을 참고하시면 되겠습니다.

app2  app1

아직 소스가 이쁘게 정리되질 못했습니다. 차차 정리해서 업데이트 해두겠습니다.

[wpdm_file id=12]