뇌파 측정 장치 Neurosky Mindwave starter kit

뇌파로 제어하는 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

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

 

Post Author: TORTUGA

TORTUGA
궁금하신 점은 새로 개편한 홈페이지의 QnA 게시판을 이용해주세요!!!!!!! http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=qna

10 thoughts on “뇌파 측정 장치 Neurosky Mindwave starter kit

    […] (뇌파 제어 RC카 안드로이드 앱) […]

    와우

    (2014년 3월 16일 - 3:14 오전)

    와 대단하시네요ㅋㅋ 그럼 알씨카 말고도 다른 응용프로그램을 만들수있는건가요?

      TORTUGA

      TORTUGA

      (2014년 3월 16일 - 5:18 오전)

      넵 소스코드를 좀 수정하면 다른 프로젝트에 응용할 수 있겠습니다. 인식률이 많이 떨어지지만…

        와우

        (2014년 3월 16일 - 9:52 오전)

        근데 이베이나 웹사이트의 외국인리뷰를 보면 인식률이 많이 안좋다고들 하던데요… 실제로 조종및 인식률테스트도 해보신건지 궁금합니다.

          와우

          (2014년 3월 16일 - 9:57 오전)

          왜냐면 이번에 학교 과학의 날 행사로 스타터 킷하나 구매해서 시연하려고 하거든요.ㅠ

    김민성

    (2014년 7월 30일 - 9:01 오후)

    대단하십니다. 고등학교 아이들과 뇌파분석을 하려고 11번가에서 파는 mindwave monbile을 구매하려고합나다. 혹 스타터킷만 raw데이터가 받아지나요? 한국 판매자가 잘 몰라서 문의 드립나다.. raw 데이터가 받아져야 탐구실험을 할 숬어서요.. 스타터킷과 아닌것의 차이는 뭘까요…?

      TORTUGA

      TORTUGA

      (2014년 7월 31일 - 8:26 오전)

      이에 제가 구매할 때 참조했던 링크입니다.
      http://store.neurosky.com/collections/mindwave-and-mindwave-mobile
      일단 mindwave mobile 만 모바일 디바이스와의 연결을 지원할겁니다. 그리고 Mindwave mobile의 한 종류가 Mindwave mobile – starter kit 같습니다.
      확실하게 하기 위해서는 판매자말고, 뉴로 스카이 한국지사에 문의하시는게 좋을 것 같습니다.

    헬미

    (2014년 11월 24일 - 3:12 오전)

    저는 높은 수준의 프로그램을 만드는 것은 아니고, 자바 프로그램으로 (넷빈) 뇌파신호를 받아와서 그래프를 그려야 하는데 도움을 주실 수 있을까요 ㅠㅠㅠ
    mindwave를 연결해서 실행하면 datalog 파일로
    1416386749.145: [80] 201, 00C9, -1.821114
    1416386749.145: [80] 92, 005C, -2.460411
    1416386749.145: [80] -2, FFFE, -3.011730
    1416386749.145: [80] 65, 0041, -2.618768
    1416386749.146: [80] 155, 009B, -2.090909
    이런 데이터가 담긴 파일이 만들어지고, streamlog 파일로
    1416386749.145: AA AA 04 80 02 00 5C 21
    1416386749.145: AA AA 04 80 02 FF FE 80
    1416386749.145: AA AA 04 80 02 00 41 3C
    1416386749.145: AA AA 04 80 02 00 9B E2
    1416386749.146: AA AA 04 80 02 00 55 28
    와 같은 데이터가 만들어집니다. 혹시 도움 구할 수 있을지 댓글 남깁니다.
    교수님이 패킷분석을 하라고했는데, 저는 그마저 어려워서 ㅠㅠ

      TORTUGA

      TORTUGA

      (2014년 11월 25일 - 5:45 오후)

      전 안드로이드용으로 제공되는 라이브러리를 사용해서 패킷 수준의 데이터는 잘 모르겠습니다;;

    비공개

    (2016년 5월 3일 - 5:52 오후)

    mindwave mobile로 뇌파를 받아오고 그걸 이용해서 기기제어를 하려고 합니다.
    첨부해주신 파일에서 어느부분이 뇌파를 받아오는 부분이고, 아두이노랑 연결하는부분,ㅡmHandler부분이 처리하는부분이라고 하셨는데 정확히 어떻게 처리가 되는건지 잘 모르겠습니다..

댓글 남기기

이메일은 공개되지 않습니다.