Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Schritt 3: Erstellen Vorzeichnung Bildschirmlayout (prä- Alpha Version) zur Kasse

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Hinweis: Sie nicht wirklich brauchen, um diesen Schritt zu tun, es ist nur zu Dokumentationszwecken

Unten ist der vorläufige Code den Bildschirmaufbau der Daten, die wir zeigen wollen, zu prüfen, zu

tft.initR (INITR_BLACKTAB); // initialisieren einen ST7735S Chip, schwarz Reiter

Starten Sie die Hardware-Serien //.
Serial.begin (9600);
// tft.setCursor (0, 30);
// tft.setTextColor (ST7735_RED);
tft.fillScreen (ST7735_BLACK);
tft.drawLine (0, 50, tft.width () - 1, 50, ST7735_WHITE);
tft.setCursor (0, 60);
tft.setTextColor (ST7735_YELLOW);
tft.println ( "Body Temp.");
tft.setTextColor (ST7735_RED);
tft.println ( "Herzfrequenz:");
tft.setTextColor (ST7735_GREEN);
tft.println ( "GSR VAL.");
tft.setTextColor (ST7735_YELLOW);
tft.println ( "EEG-Signal:");
tft.setTextColor (ST7735_WHITE);
tft.println ( "Attention.");
tft.setTextColor (ST7735_WHITE);
tft.println ( "Meditation:");
tft.drawLine (0, 110, tft.width () - 1, 110, ST7735_WHITE);
>

Hohlraumschleife () // tft.fillScreen (ST7735_BLACK); // klarer Bildschirm

//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
//tft.println((float)DHT11.temperature,1);

//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
//tft.println((float)DHT11.humidity,1);

//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
// tft.println (DHT11.fahrenheit (), 1);

// tft.print (“„);
//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
// tft.println (DHT11.kelvin (), 1);


//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
//tft.println (DHT11.dewPoint (), 1);

//tft.setTextColor(ST7735_GREEN, ST7735_BLACK);
//tft.println (DHT11.dewPointFast (), 1);

Schritt 4: Phase 1: EEG Monitor (Hardware)

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Wie ich schon erwähnt, werde ich dieses Projekt in verschiedenen Phasen entwickeln, weil ich nicht ganz sicher bin, wie es alle zusammen noch kommen wird und ob der Arduino in der Lage, alles zu handhaben.

So kann mit dem EEG-Monitor starten:

Sie müssen den Geist Flex Headset haben.

1.- die 4 Schrauben von der Rückseite des linken Schote des Geistes Flex Headset entfernen. (Die rechte pod die Batterien hält.)

2.- den Fall Öffnen Sie die Elektronik belichten.

4.- Wenn Sie genau hinsehen, werden Sie sehen, Pins, die T und R gekennzeichnet sind - das sind die Stifte sind die EEG-Board seriell an den Mikrocontroller auf der Hauptplatine kommuniziert.

Dazu wird ein Stück Draht (vorsichtig) zu dem „T“ pin 5.-. Ich habe ein Paar von Drähten, die von einem alten PC geliefert wurden. Achten Sie darauf, nicht zu kurz die benachbarten Pins.

Löten Sie eine andere Länge des Drahtes 6.- mit dem großen Lötpad zu Boden, wo der Masseanschluss der Batterie ist.
7. - Bohren eines Loches in dem Fall für die beiden Drähte, die durch zu stoßen, nachdem der Fall war geschlossen.

8 .- Führen Sie die Drähte durch das Loch, und überprüfen Sie noch einmal Ihre Löten. Ich empfehle einen Klecks Kleber in das Loch setzen die Drähte in Position zu sichern (ich meine Heißklebepistole verwendet, dies zu tun).

9.- vorsichtig die Rückseite des Gehäuses wieder auf und sichern Sie wieder die Schrauben an.

10.- Die Sinnes Flex zum Arduino; Schließen Sie den Draht vom über T Stift mit dem Arduino rx pin, verbinden den anderen Draht an einen arduino GND-Pin.

Wir sind mit dem Hardware-Teil des Hack getan.

Schritt 5: Phase 1: EEG-Monitor (Software)

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Wie ich bereits erwähnt, haben die Jungs von frontiernerds zu erklären hervorragender Arbeit geleistet, wie dieser Hack ausführen und wie der Geist flex Headset mit dem Arduino Schnittstelle und die Ausgabe mit Verarbeitung der grafischen Darstellung (was ich auch tat und arbeitete fantastisch!), So ich werde nur durch die einzelnen Schritte, die Daten immer auf dem Mini-Monitor anzuzeigen. (Wenn Sie vertraut mit der Verarbeitung sind, empfehle ich Ihnen ihr Projekt versuchen. Es ist wirklich interessant!)

Erster Software-Test, um sicherzustellen, Ihr Geist Flex zum Arduino spricht: Führen Sie das exampleBrainSerialOutsketch.

Hinweis: Sie werden die Mini-Display für diesen Test nicht brauchen, und wenn Sie es angeschlossen haben noch nichts auf ihm angezeigt wird.

Sie sollten nun in der Lage sein, die Bibliothek und die Beispiele in Datei> Beispiele> Rätsel> BrainSerialOut Skizze zu sehen.

Wenn Sie bei der Installation der Bibliotheken erfolgreich waren, und die BrainSerialOut Skizze Laden, Klicken Sie auf die Schaltfläche überprüfen, um die Skizze zu kompilieren und sicherstellen, dass es keine Fehler gibt.

Es ist Zeit, Ihre Arduino auf Ihren PC über das USB-Kabel zu verbinden, und klicken Sie auf den Upload-Button um die Skizze zu dem Arduino hochladen.

Stecken Sie die beiden Drähte, die Sie im Kopf Flex Headset, über die Arduino: den T-Signal Draht aus dem Geist flex an den RX-Pin in der Arduino; Der Erdungsdraht aus dem Geist Flex Headset mit dem Arduino Massepin.

Sobald die Skizze auf dem Arduino hochgeladen, stellen Sie sicher, dass Ihr Geist Flex Headset mit dem Arduino verbunden ist, und schalten Sie ihn ein. Öffnen Sie die serielle monitor.You sollte einen Strom von Koma getrennt Zahlen sehen Scrollen durch.

HINWEIS:
Wenn die Skizze nicht laden und Sie erhalten eine Meldung wie die unten,

avrdude: stk500_getsync (): nicht synchron: resp = 0x00

Trennen des Drahtes von der arduino rx pin, es stört manchmal mit dem Upload-Prozeß.

Beachten Sie, dass die Verbindung zum NeuroSky-Headset ist Halbduplex - es wird aufbrauchen des rx Stifts auf Ihrem Arduino, aber Sie werden noch in der Lage sein, Daten zu senden zurück an einen PC über USB. (Obwohl in diesem Fall werden Sie nicht in der Lage sein, Daten vom PC auf den Arduino zu senden.)

einmal getrennt Klick auf den Upload-Button wieder und, wenn sie erfolgreich sind, um den Draht an den RX-Pin wieder an.

Wenn Sie den seriellen Datenstrom bekam eine der seriellen Monitor zeigt nach oben, sind Sie bereit für den nächsten Schritt zu gehen.

Schritt 6: Phase 1: EEG-Monitor (Data Erläuterung) Fortsetzung.

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Hier ist eine kurze Erläuterung der Daten, die Sie sehen: (weil ich dachte, Sie würden fragen). Kommt direkt aus dem Gehirn Bibliothek Dokumentation.

Die getCSV () Funktion gibt einen String (na ja, char *) die Auflistung die neuesten Gehirndaten in folgendem Format: „Signalstärke, Aufmerksamkeit, Meditation, Delta, Theta, niedriger alpha, hohe alpha, niedriges Beta, mit hohem Beta, niedriger Gamma, hohe Gamma“

Signalstärke liegt im Bereich von 0 - 200 0 bedeutet, das Gerät erfolgreich angeschlossen hat, und 200 bedeutet, dass es kein Signal gibt.

Die Aufmerksamkeit und Meditation Werte laufen beide von 0 - 100. Höhere Zahlen bedeuten mehr Aufmerksamkeit oder Meditation.

Das EEG-Leistungswerte - delta, theta, usw. - ist eine stark gefilterte Darstellung der relativen Aktivität in verschiedenen Hirnwellenlängen. Diese Werte können nicht direkt auf physikalische Werte (z Volt) abgebildet werden, sind aber nach wie vor der Verwendung, wenn betrachtet im Laufe der Zeit oder im Verhältnis zueinander.

FUNKTIONSÜBERSICHT - Eine Liste der verfügbaren Funktionen im Gehirn Bibliothek

Gehirn (HardwareSerial -_brainSerial)
Instanziiert das Gehirn Bibliothek auf einer Hardware-serielle Schnittstelle.

boolean Update ();
Rufen Sie diese in Ihrer Hauptschleife Daten vom Headset zu lesen. Gibt true zurück, wenn es ein frisches Paket ist.

char * readErrors ();
Zeichenfolge die letzten Fehler enthalten. Worth dieser Druck über serielle, wenn Sie Probleme haben.

char * readCSV ();
Zeichenkette mit allen aktuellen Gehirn Werte in einer kommagetrennten Format. Beabsichtigte werden über serielle gedruckt. Die Daten werden in dieser Reihenfolge zurückgegeben: Signalstärke, die Aufmerksamkeit, Meditation, delta, theta, alpha niedrig, hoch alpha, beta niedrig, hohe beta, gamma niedriger, hohe gamma

Byte readSignalQuality ();
Liefert die aktuelle Signalqualität Lesen. 200 kein Signal. 0 hoch ist (gute Verbindung). Diese (und der Rest der Funktionen) sind in erster Linie für den Einsatz, wenn Sie die Arduino wollen intern die Gehirndaten verwenden. (Speichert Sie den Aufwand / Speicheraufwand der CSV-Parsing.)

Byte readAttention ();
Gibt die NeuroSky „eSense“ Aufmerksamkeitswert.

Byte readMeditation ();
Gibt die NeuroSky "eSense" Meditation Wert.

unsigned long * readPowerArray ();
Gibt ein Array von acht Stromband (FFT) Werte in der gleichen Reihenfolge wie die CSV.

unsigned long Read ();
Gibt das Delta (1-3Hz) Leistungswert, oft mit Schlaf verbunden.

unsigned long readTheta ();
Gibt den Theta (4-7Hz) Leistungswert, verbunden mit einem entspannten, meditativen Zustand.

unsigned long readLowAlpha ();
Gibt das niederwertige alpha (8-9Hz) Leistungswert, höher, wenn die Augen geschlossen sind, oder du bist entspannt /

unsigned long readHighAlpha ();
Gibt die hohe alpha (10-12Hz) Leistungswert.

unsigned long readLowBeta ();
Gibt den niedrigen Beta (13-17Hz) Leistungswert, höher, wenn Sie aufmerksam sind und fokussiert.

unsigned long readHighBeta ();
Gibt den hohe Beta (18-30Hz) Leistungswert.

unsigned long readLowGamma ();
Gibt den niedrigen gamma (31-40Hz) Stromwert, verbunden mit multisensorische Verarbeitung.

unsigned long readMidGamma ();
Gibt den hohen Gamma (41-50Hz) Leistungswert.

Schritt 7: Phase 1: EEG-Monitor (Anzeige von Daten in TFT-Display) fortgesetzt.

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Bevor wir auf die Skizze gehen, möchte ich mit Ihnen ein paar Notizen teilen.
1.- Wenn die Signalqualität ist alles andere als 0, werden Sie nicht eine Meditation oder Aufmerksamkeitswert erhalten.
2.- Die Werte für die Gehirnwellen (Alpha, Beta, Gamma, usw.) sind so eine Art unsinnig. Sie ändern sich immer noch Wert, auch wenn die Signalqualität größer als Null ist! Auch wenn Sie irgendeinen Finger auf die Stirn Sensor legen und ein anderes auf dem Ohr Sensor auf der linken Pad, Sie noch erhalten Lesungen für alle Gehirnwellenfunktionen. Ich erwähne das, weil ich nicht ganz sicher bin, ob die Werte tatsächlich sehr zuverlässig sind. In jedem Fall sind die einzigen Werte verwendbar sind, wenn Sie etwas mit Ihrem Gehirn steuern wollen, sind die Achtung und Meditation.

Okay, also hier ist der Code:

// Kopieren und einfügen die Skizze unten an deine Ardunio IDE.
#define SCLK 4
#define mosi 5
#define 6 cs
#define dc 7
#define rst 8


#einschließen // Core-Grafik-Bibliothek
#einschließen // Hardware-spezifische Bibliothek
#einschließen
#einschließen

Adafruit_ST7735 TFT = Adafruit_ST7735 (cs, dc, MoSi, SCLK, rst);

tft.initR (INITR_BLACKTAB); // initialisieren einen ST7735S Chip, schwarz Reiter

tftPrintTest (); // Vorlegen Text,
Verzögerung (1000);

tft.fillScreen (ST7735_BLACK); // klarer Bildschirm
tft.setTextColor (ST7735_WHITE);
tft.setTextSize (1);
tft.setCursor (30,0);
tft.println ( "EEG Monitor");

Serial.begin (9600);
>
Hohlraumschleife ()

if (brain.update ()) if (brain.readSignalQuality ()> 100) tft.fillScreen (ST7735_BLACK);
tft.setCursor (0,30);
tft.setTextColor (ST7735_RED, ST7735_BLACK);
tft.println ( "Signalqualität niedrig");
>


sonst tft.setCursor (30,0);
tft.println ( "EEG Monitor");
tft.drawLine (0, 20, tft.width () - 1, 20, ST7735_WHITE);
tft.drawLine (0, 130, tft.width () - 1, 130, ST7735_WHITE);

tft.setCursor (0, 30);
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK);
tft.print ( "Signalqualität");
tft.print (brain.readSignalQuality ());
tft.println (“„);
tft.setTextColor (ST7735_RED, ST7735_BLACK);
tft.print ( "Attention");
tft.print (brain.readAttention ());
tft.println (“„);
tft.setTextColor (ST7735_WHITE, ST7735_BLACK);
tft.print ( "Meditation:");
tft.print (brain.readMeditation ());
tft.println (“„);
tft.setTextColor (ST7735_GREEN, ST7735_BLACK);
tft.print ( "Delta.");
tft.print (brain.readDelta ());
tft.println (“„);
tft.print ( "Theta.");
tft.print (brain.readTheta ());
tft.println (“„);
tft.print ( "Low Alpha.");
tft.print (brain.readLowAlpha ());
tft.println (“„);
tft.print ( "High Alpha.");
tft.print (brain.readHighAlpha ());
tft.println (“„);
tft.print ( "Low Beta.");
tft.print (brain.readLowBeta ());
tft.println (“„);
tft.print ( "High Beta.");
tft.println (brain.readHighBeta ());
tft.print ( "Low Gamma.");
tft.print (brain.readLowGamma ());
tft.println (“„);
tft.print ( "Mid Gamma.");
tft.print (brain.readMidGamma ());
tft.println (“„);
>>

>
nichtig tftPrintTest () tft.setTextWrap (false);
tft.fillScreen (ST7735_BLACK);
tft.setCursor (0, 10);
tft.setTextColor (ST7735_WHITE);
tft.setTextSize (1);
tft.println ( "INSTRUCTABLES.COM");
Verzögerung (500);
tft.setCursor (40, 60);
tft.setTextColor (ST7735_RED);
tft.setTextSize (2);
tft.println ( "EEG");
tft.setTextColor (ST7735_YELLOW);
tft.setCursor (20, 80);
tft.println ( "Monitor");
tft.setTextColor (ST7735_BLUE);
Verzögerung (50);
>

Schritt 8: Abschließende Gedanken und gehen nach vorne ..

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Mini Arduino tragbare EEG - Brain Wave-Monitor 9 Schritte

Schritt 9: Video

In Verbindung stehende Artikel