Mindflex EEG met onbewerkte gegevens via Bluetooth (1 / 9 stap)

Stap 1: Achtergrondinformatie


Voel je vrij om deze achtergrond overslaan, maar het verklaart waarom sommige dingen worden gedaan zoals ze zijn. Voor veiligheid, EEG headsets moeten worden geïsoleerd van alles aangesloten op netspanning. De Mindflex, Mindwave Mobile en een aantal andere EEG-headsets gebruiken een ASIC ThinkGear chip. Deze chip communiceert via TTL seriële met een radio, en de radio op zijn beurt communiceert met andere apparaten, zoals de Mindflex speelgoed-basisstation. Dit isoleert de hoofdtelefoon elektrisch.

Helaas, terwijl de Mindwave Mobile radio Bluetooth is, het Mindflex speelgoed maakt gebruik van een andere vorm van radio. Als u wilt gebruiken de Mindflex EEG met andere apparaten, zullen we sluit de ThinkGear chip ontvangen en doorgeven van lijnen naar een HC-06 Bluetooth-radio (ongeveer $10 met kabels).

Nou, misschien niet zo eenvoudig. Terwijl dat is alles wat nodig is in termen van hardware, is er een software-uitdaging. De ThingGear ASIC heeft verschillende modi waarin gewerkt. Als ingesloten in het Mindflex speelgoed, een SMD weerstand ingesteld op modus 0x01 standaard. In de modus 0x01, verzendt de chip met 9600 baud, en stuurt verwerkt gegevens elke seconde: meditatie, concentratie en waarden voor verschillende delen van de macht spectrum, vermoedelijk afgeleid door een FFT. Maar wij willen toegang hebben tot de ruwe gegevens van de EEG. Dit vereist de headset Mindflex over te schakelen naar de modus 0x02. Een chip zendt op 57600 baud in modus 0x02, en naast de eens-per-seconde update die het doet in de modus 0x01, stuurt het ruwe differentieel versterkte EEG sensor data 512 keer per seconde. Dit is de modus waarin de Mindwave mobiele headset standaard, werkt dus als de headset u naar deze modus overschakelen kunt, niet alleen krijg je ruwe gegevens, maar u moet zitten kundig voor gebruik in combinatie met alle mobiele Mindwave compatibel apps.

Een de Mindflex kunt overschakelen naar de modus 0x02 met wat SMD solderen werk, maar ik ben vreselijk bij solderen (zoals u in later foto's zien zult), dus dat is niet een optie voor mij. Ook die oplossing maakt de headset gebruiken om met de rest van het speelgoed niet langer werken, en ik houd niet van dingen breken.

Gelukkig, de communicatie-protocol voor de ThinkGear chip kunt u overschakelen naar de modus 0x02 heel eenvoudig door het sturen van 0x02 aan zijn lijn van de seriële ontvangen. Terwijl dit niet powercycling overleven, toch het moet eenvoudiger dingen: Zorg ervoor dat de lijn van het ontvangen van de chip is verbonden met de Bluetooth-radio zendt lijn, en stuur 0x02. Maar er een kink in de kabel is. De 0x02 moet worden verzonden met 9600 baud, terwijl de volgende gegevens op 57600 baud zullen. En helaas is er geen manier om te bepalen van de HC-06 Bluetooth-radio baud-rate dynamisch in gebruik.

Maar er een oplossing die verrassend werkt is. 9600 = 57600 / 6. Als je kon stuur een beetje zesmaal op 57600 baud, dat zou hetzelfde zijn als het eenmaal te sturen met 9600 baud. De enige hapering is dat bij het verzenden van dingen via RS232 seriële of de variant van de TTL, je krijgt niet te controleren van elke bit. In plaats daarvan, uitgaande van de gebruikelijke 8N1 communicatie-instelling, de bits worden verpakt in bytes, met elke byte die beginnen met een extra 0 "mark" maar en eindigend met een extra 1 "stop" bit. De mark en stop-bits zijn buiten onze controle. Maar we kunnen dit probleem omzeilen. Het blijkt dat als we de hexadecimale tekenreeks 0x00, 0xF8 sturen, 0x00, 0x00, 0x00, 0xE0 op 57600 baud en vervolgens wacht u ten minste de lengte van een 9600 baud beetje (een milliseconde zullen meer dan genoeg; stationair draaien is hetzelfde als het verzenden van 1's in het RS232-protocol), dat is net als verzenden 0x02, met vier glitches (en sommige extra nullen vooraan) , elke glitch wordt 1/6 van een beetje in lengte. Als we geluk, zal de ontvanger 9600 baud korte glitches negeren. En enigszins verrassend het werkt! De schakelaars van de chip naar de modus 0x02, begint uitzendt op 57600 baud, en alles is goed. In feite, met de HC-06 als de zender het werkt 100% van de tijd (met behulp van een Brainlink, het soms vereist een nieuwe poging tot).

Er zijn dus drie componenten aan het project:

I. Stel het HC-06 Bluetooth-radio op 57600 baud. Deze instelling overleeft powercycling. Dit is lastig, maar moet worden gedaan slechts eenmaal.

II. de soldeer verbindingen met de headset het verbinden met de HC-06-radio.

III. Zorg ervoor dat de headset naar modus 0x02 gaat door het sturen van de magische hexadecimale tekenreeks (of een variant daarop) op 57600 baud. Dit kan gebeuren door de bouw van de magische tekenreeks in EEG software, of door het schrijven van een eenvoudig programma dat de magische hexadecimale tekenreeks naar het apparaat stuurt en vervolgens het apparaat kan worden gebruikt met elke software compatibel met de mobiele Mindwave. Ik heb beide: Ik schreef sommige EEG software in Java , die kunnen worden uitgevoerd op een PC (waarschijnlijk ook Mac en Linux, maar ik heb het niet getest daar) en die stuurt de magische string voor weergave de rauwe en verwerkte gegevens, en ik maakte een eenvoudige Android app die gewoon de magische tekenreeks (of een variant daarop) op 57600 baud stuurt en activeert de Mindwave mobiele compatibel mode. Beide programma's zijn open bron.

Gerelateerde Artikelen

Controle van de Arduino met Android telefoon via Bluetooth

Controle van de Arduino met Android telefoon via Bluetooth

Hallo mensen, hier kunt u leren hoe u kunt besturen Arduino met Android telefoon via Bluetooth. U kunt uw smartphone als een afstandsbediening voor u verlichting van het huis systeem of u kunt gebruiken als een drone externe enz.Om de verbinding tuss
Een kopie van uw foto's en video's in uw Androïde telefoon verzenden met Raspberry Pi via Bluetooth

Een kopie van uw foto's en video's in uw Androïde telefoon verzenden met Raspberry Pi via Bluetooth

IntroductieDit instructable gebouwd op een eerder instructable "Turn Raspberry Pi in een Bluetooth-apparaat' die ik heb gemaakt.De foto's en video's op mijn Android telefoon back-up automatisch naar Google + foto wolk. Ik wil echter een kopie opslaan
Controle van de arduino met visual studio via bluetooth

Controle van de arduino met visual studio via bluetooth

Hallo iedereen,Hier zullen we beheren een via bluetooth met uw pc o.l.v. een progam wirtten met visual studiowat je nodig hebt is:1) Arduino (een)2) Bluetooth-Module (hc05 of hc 06)3) geleid4) 2 weerstanden (10ko en 15ko)en u kunt het doen ;)alle cod
Control Roomba via Bluetooth via Brainlink

Control Roomba via Bluetooth via Brainlink

Men accessoires zoals de Rootooth voor het beheersen van een Roomba via Bluetooth vanaf een computer, telefoon of tablet kunt kopen, maar dat kost $100. Kan men gebruik maken van een goedkope Bluetooth-naar-TTL-serial adapter als de HC-06, maar dan m
Arduino - besturingselement gelijkstroommotor via Bluetooth

Arduino - besturingselement gelijkstroommotor via Bluetooth

Hi guys,In dit project zullen wij de controle van een DC-motor met een smartphone via bluetooth. Dit project is geweldig om meer te leren over:DC - motor-Interfacing Arduino met uw smartphone-Bluetooth-module-L293Du kunt mijn website bezoeken voor me
Android App om te controleren via Bluetooth een beheersing van de Arduino maken uw huis via RF, allemaal met AppInventor

Android App om te controleren via Bluetooth een beheersing van de Arduino maken uw huis via RF, allemaal met AppInventor

Ik weet dat de titel nogal een mondvol is, maar het is precies wat het is.Enige tijd geleden, maakte ik een instructable beschrijven een circuit rondom een atmega328 (of een 'Arduino'), dat moest schrikken inbrekers door te simuleren me thuis.Geleide
Android via Bluetooth verbinden met de Arduino Uno

Android via Bluetooth verbinden met de Arduino Uno

In dit project wordt een seriële Bluetooth-module gebruikt voor het maken van een verbinding tussen de Arduino Uno en een Android app die ik heb met MIT App uitvinder gemaakt.Arduino luistert naar de opdrachten aan het licht van enkele LED's of weerg
Controle LED met Android telefoon via BLE (Bluetooth 4.0), MangoCube App en Arduino UNO

Controle LED met Android telefoon via BLE (Bluetooth 4.0), MangoCube App en Arduino UNO

Dit Instructable ziet u hoe gegevens vanaf Android apparaat verzenden controle LED op Arduino UNO.U moet ten minste de volgende onderdelen;1. de Arduino UNO of compatibel board.2. MangoCube BLE Board ( https://www.kickstarter.com/projects/530456128/m
Servo motor control via bluetooth met de potentiometer (potmeter)

Servo motor control via bluetooth met de potentiometer (potmeter)

In dit project, zullen we de servo motor control met potentiometer via bluetooth.Twee zal de Arduino board via bluetooth draadloze haberleştirerek controle maken. Beheert één van de modules voor deze (meester), terwijl de andere beheerd (slaven) in d
Program je Arduino met een Android apparaat via Bluetooth

Program je Arduino met een Android apparaat via Bluetooth

Hallo wereld, in dit Instructable wil ik u laten zien hoe te programmeren van de Arduino Uno met uw Androïde apparaat via Bluetooth. Het is zeer eenvoudig en zo goedkoop. Ook het laat ons toe om onze Arduino program waar ooit wij via draadloze blueto
Controle van de servo's via Bluetooth (RN-42) en LabVIEW

Controle van de servo's via Bluetooth (RN-42) en LabVIEW

Dit project maakt gebruik van een chipKIT WF32, LabVIEW, LabVIEW MakerHub LINX, PmodBT2 (RN-42) en PmodCON3 controle twee servo's van een slimme telefoon. Hopelijk, na het bekijken van dit instructable, zult u weten hoe u uw eigen robot of een ander
Procedure: Uw Wiimote aansluiten op uw computer via Bluetooth

Procedure: Uw Wiimote aansluiten op uw computer via Bluetooth

Wist u dat van de Wiimote mogelijkheden bereiken ver buiten het Nintendo is het beperken van het gebruik? Het is waar, en in deze tutorial zal ik u tonen hoe te uw Wiimote aansluiten op uw computer en het openstellen van een onbegrensd scala aan moge
CxemCAR 1 - Android Control RC Car via Bluetooth

CxemCAR 1 - Android Control RC Car via Bluetooth

dit is een opensource-project van RC auto met controle van Android telefoon via Bluetooth. De controller wordt gebruikt met .NET Micro Framework: FEZ Panda II, maar u kunt elke controller werkt met .NET Micro Framework core (Netduino, GHI elektronica
Externe auto Starter via Bluetooth

Externe auto Starter via Bluetooth

Welkom bij een project van mij dat in de werken voor een tijdje is geweest. In dit Instructable, zal ik proberen om u een idee van wat ik deed om te beginnen mijn auto met behulp van Bluetooth. Ten eerste, is hier video om te laten zien wat ik heb ku