Getestet mit:RPi 3; Raspbian Jessie; Python 2.7
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Bauteile:Neurosky Mindwave EEG (Wifi, nicht die Bluetooth-Version)
0

Raspberry Pi Gedankensteuerung! Neurosky Mindwave EEG Schnittstelle

Ein Elektro-Encephalogramm misst die Gehirnaktivitaet durch am Kopf angebrachte Elektroden. Heutzutage sind EEGs recht guenstig. Das in diesem Tutorial genutze EEG Neurosky Mindwave kostet cirka 100€. Gluecklicherweise hat Moonshot Barkley bereits eine Python-Schnittstelle fuer den Zugriff auf das Neurosky Mindwave EEG entwickelt. Tausend Dank an die Entwickler!
In diesem Tutorial wird das Neurosky Mindwave verwendet, um die gemessene Hirnaktivitaet durch die Leuchtstaerke einer an den Raspberry Pi angeschlossenen LED anzuzeigen. Die Messung der Hirnaktivitaet gestattet den Bau einer Unmenge interessanter Geraete von Spass-Anwendungen bis zu wissenschaftliche Experimenten.

Demo Video


Super vielen Dank an Alex, Thesi, Alex und Tim fuer das grossartige Video! Bei einem von uns konnten wir keinerlei Hirnaktivitaet messen – sie sind unter uns!

Neurosky Mindwave Modelle
Es gibt verschiedene EEG-Sets von Neurosky. Manche verbinden ueber Wifi, andere ueber Bluetooth. Dieses Tutorial ist fuer das Neurosky Mindwave (nicht Mindwave mobile!), welches ueber Wifi verbindet. Bluetooth-Sets sollten auch mit dem Raspberry Pi funktionieren, aber nicht mit dem in diesem Tutorial verwendeten Framework. So sieht ein Neurosky Mindwave aus:

Neurosky Mindwave EEG

Neurosky Mindwave EEG

Schaltkreis
Bastle den folgenden Schaltkreis auf einer Steckplatine zusammen:

LED circuit

LED Schaltkreis

Die LED ist verbunden mit Pin 11 des Raspberry Pi in BOARD-Nummerierung und mit der Masse (Pin 6). Stelle sicher, dass der Widerstand zur LED passt; frage im Zweifel deinen Haendler nach einer LED mit Widerstand fuer 3.3V und 20mA.

Software Installation
Boote den Raspberry Pi und stoepsel den Mindwave USB-Stick ein. Gib im Terminal

ein und finde die Geraetekennung. Ohne andere USb-Geraeten am Raspberry Pi ist es ttyUSB0 wie in

Schreibe ebenso den im Batteriefach befindlichen Mindwave-Code mit 4 Buchstaben auf.
Schalte jetzt das Headset ein- sowohl der Headset als auch der USB-Stick sollten rot leuchten als Signal fuer fehlende Verbindung.
Durch die Eingabe des folgenden wird das Script heruntergeladen und geoeffnet:

Das Script muss konfiguriert werden. Gib in der Zeile

die Geraetekennung und den Mindwave Code von oben ein. Speichere und beende nano, setze das Headset auf und starte das Script mit

Dies sollte connected im Terminal ausgeben, woraufhin die Beleuchtung von Headset und USB-Stick auf Blau wechselt.
Das gemessene Aufmerksamkeitslevel wird im Terminal ausgegeben und kontrolliert die Intensitaet der LED. Je fokussierter du bist, desto heller leuchtet die LED, die auch ausgeht, wenn ein hoher Grad an Entspanntheit erlangt wird.

Code erklaert
Die harte Arbeit, naemlich die Wifi-Schnittstelle, uebernimmt das grossartige mindwave-python Framework von Moonshot Barkley. Das Script mindwave_LED.py konfiguriert lediglich den Pin der LED fuer Puls-Weitenmodulation mit

Dann wird das Aufmerksamkeitslevel in der Hauptschleife fuer eine bessere Sichtbarkeit skaliert:

Dies zeigt nur Aufmerksamkeitswerte ueber 30 an und begrenzt das PWM-Signal auf ein Maximum von 100.

Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Links
Moonshot Barkley Neurosky Mindwave Python Schnittstelle: https://github.com/BarkleyUS/mindwave-python
Software PWM tutorial: http://www.knight-of-pi.org/einfaches-dc-motortreiberboard-fuer-den-raspberry-pi-mit-dem-ic-l293-und-software-pulse-width-modulation/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.