Skip to main content

Blinkende LED unter Verwendung Ihrer Gehirnwellen

Was ist Brainsense Stirnband?

Brainsense ist ein elegantes, einkanaliges, drahtloses Headset, das Ihre Gehirnaktivität überwacht und das EEG in aussagekräftige Daten umsetzt, die Sie verstehen können. Die Biosensor-Plattform bietet eine leistungsstarke Grundlage für die Entwicklung einer Vielzahl von Anwendungen, die die Gesundheit des Geistes fördern, z , Konzentration, Arbeitsgedächtnis und Schärfe. Andere Anwendungen umfassen die Überwachung von Meditation und Entspannung oder verbesserte Bildungsprozesse. Unsere kostengünstige OEM-Komplettlösung ist ein Hochleistungs-Biosignal auf einem einzelnen Chip für die genaue Erkennung und Verarbeitung von Mind-Aktivitäten. Brainsenseuses neurosky TGAM1-Modul.

Erforderliche Materialien

Hardware:

1. Brainsense Stirnband

2. Arduino Board

3. HC-05 Bluetooth-Modul

4. USB-Kabel (für Arduino)

5. Kabel anschließen.

Software:

1. Flash Magic, X-CTU (jede serielle Kommunikationssoftware)

2. Arduino 1.0.5-r2

Zubehör:

Schritt 1: Konfiguration des Bluetooth-Moduls

Bluetooth-Modul (HC-05)

Es ist ein leistungsstarkes Bluetooth-Modul HC-05. Dies ist ein eigenständiges Bluetooth-Modul BTM-05. Es arbeitet als TTL-Master / Slave-Transceiver-Modul mit seriellem UART-Protokoll für die Kommunikation. Entworfen von Full-Speed-Bluetooth-Betrieb mit voller Piconet-Unterstützung. Dies ermöglicht es Ihnen, die branchenweit höchste Empfindlichkeit und Genauigkeit bei geringstem Stromverbrauch zu erreichen.

Konfiguration von HC-05:

· Sein konfigurieren als Vorlagenmodus

· Brainsense Headband fungiert als Slave-Gerät

Schritt 2: Gerät in der Systemsteuerung hinzufügen

1. Wählen Sie in der Systemsteuerung im Assistenten zum Hinzufügen von Geräten Ihr Brainsense-Stirnband aus

Schritt 3: Ermitteln Sie die eindeutige Identifikationsnummer

Finden Sie die eindeutige Identifikationsnummer wie in der Abbildung gezeigt

Beispiel:
Die Gehirnsinnszahl in der Abbildung ist 98d3,31,302424

Schritt 4: Konfigurieren Sie das HC-05 Bluetooth-Modul mit Brainsense

Hinweis: Hier wird das Arduino Board nur für den USB-UART-Konverter verwendet. Es ist also nicht nötig, die Tafel zu skizzieren.

Schritt 5: Schritte zum Konfigurieren des HC-05 im Befehlsmodus

Drücken und halten Sie den Druckschalter im HC-05-Modul einige Sekunden lang gedrückt, wenn es eingeschaltet ist (zwischen AUS und EIN).

Wenn sich das HC-05-Modul im Befehlsmodus befindet, blinkt die LED weniger schnell (langsam blinkend).

Baudrate für den Befehlsmodus

Im Befehlsmodus arbeitet das HC-05-Modul mit einer festen Baudrate (38400 Baud).

In der Standardeinstellung arbeitet das HC-05-Modul im Datenmodus.

Wenn das HC-05-Modul im Datenmodus bedeutet, dass die LED schnell blinkt (blinkt schnell)

Baudrate für den Datenmodus

Im Datenmodus arbeitet das HC-05-Modul mit variabler Baudrate.

AT Befehle für die Kopplung von HC-05 mit Brainsense

Konfigurieren Sie zuerst den HC-05 im Befehlsmodus und geben Sie dann die folgenden AT-Befehle für das HC-05-Modul ein, um unser BrainsenseHeadband zu kommunizieren.

1. AT + NAME = ”PANTECH”

2. AT + UART = ”57600,0,0”

3. AT + ROLE = "1"

4. AT + PSWD = ”0000”

5. AT + CMODE = ”0”

6. AT + BIND = "XXXX, YY, ZZZZZZ" (Brainsense Unique Number)

7. AT + IAC = "9E8B33"

8. AT + CLASS = ”0”

9. AT + INQM = ”1,9,48”

Schritt 6: Überprüfungsbefehle für das HC-05-Modul

Überprüfungsbefehle für das HC-05-Modul

1. AT

OK

2. AT + UART?

+ UART: 57600,0,0

OK

3. AT + ROLLE?

+ ROLLE: 1

OK

4. AT + PSWD?

+ PSWD: 0000

OK

5. AT + CMODE?

+ CMODE: 0

OK

6. AT + BIND?

+ BIND: 9cb7: 0d: 89e51c

OK

7. AT + IAC?

+ IAC: 9E8B33

OK

8. AT + INQM?

+ INQM: 1,9,48

OK

Schritt 7: Schnittstelle zwischen Arduino und Brainsense-Stirnband

Schritte zum folgen

1. Programmieren Sie (laden Sie die Skizze hoch) den Quellcode "Brainsensewith Arduino" mit Arduino Compiler auf Arduino Board.

2. Öffnen Sie den "Serial Monitor" im Arduino Compiler mit 57600 Baudrate.

3. Stellen Sie die gesamte Verbindung gemäß dem obigen Bild her und schalten Sie dann das Arduino Board ein.

4. Schalten Sie nach einigen Sekunden das BrainsenseHeadband ein.

5. Jetzt werden das BrainsenseHeadband und das Arduino Board automatisch gekoppelt.

6. Tragen Sie das BrainsenseHeadband in Ihrem Kopf und schenken Sie die Aufmerksamkeit.

7. Überprüfen Sie die LED-Variation in Bezug auf Ihre Aufmerksamkeitsstufe.

8. Informieren Sie sich auch im Serial Monitor über Ihre schlechte Qualität und Aufmerksamkeit.

Schritt 8: Laden Sie die Skizze auf das Arduino Board hoch

Laden Sie die Skizze hier herunter

Programm zur Verbindung von Arduino mit BrainsenseHeadband

***************************************************************************************

Titel: Brainsense mit Arduino

***************************************************************************************

///////////////////////////////////////////////////////////////////////

/ Arduino Bluetooth-Schnittstelle mit Brainsense

//

// Dies ist ein Beispielcode von Pantech Prolabs. und ist vorgesehen

// Lizenzfrei.

////////////////////////////////////////////////////////////////////////

# LED definieren 13

#define BAUDRATE 57600

#define DEBUGOUTPUT 0

#define GREENLED1 3

#define GREENLED2 4

#define GREENLED3 5

#define YELLOWLED1 6

#define YELLOWLED2 7

#define YELLOWLED3 8

#define YELLOWLED4 9

#define REDLED1 10

#define REDLED2 11

#define REDLED3 12

#define powercontrol 10

// Prüfsummenvariablen

Byte generiertChecksumme = 0;

Byte-Prüfsumme = 0;

int payloadLength = 0;

byte payloadData [64] = {0};

byte poorQuality = 0;

Byte Aufmerksamkeit = 0;

Bytemeditation = 0;

// Systemvariablen

long lastReceivedPacket = 0;

boolean bigPacket = false;

/////////////////////////

/ Mikroprozessor-Setup /

/////////////////////////

void setup ()

{

PinMode (GREENLED1, OUTPUT);

PinMode (GREENLED2, OUTPUT);

PinMode (GREENLED3, OUTPUT);

PinMode (YELLOWLED1, OUTPUT);

PinMode (YELLOWLED2, OUTPUT);

PinMode (YELLOWLED3, OUTPUT);

PinMode (YELLOWLED4, OUTPUT);

PinMode (REDLED1, OUTPUT);

PinMode (REDLED2, OUTPUT);

PinMode (REDLED3, OUTPUT);

PinMode (LED, OUTPUT);

Serial.begin (BAUDRATE); // USB

}

///////////////////////////////

/ Daten von seriellem UART lesen /

///////////////////////////////

Byte ReadOneByte ()

{

int ByteRead;

while (! Serial.available ());

ByteRead = Serial.read ();

#if DEBUGOUTPUT

Serial.print ((char) ByteRead); // Echo das gleiche Byte aus der USB-Serie (für Debug-Zwecke)

#endif

return ByteRead;

}

////////////

/HAUPTSCHLEIFE/

////////////

leere Schleife ()

{

// Nach Synchronisationsbytes suchen

if (ReadOneByte () == 170)

{

if (ReadOneByte () == 170)

{

payloadLength = ReadOneByte ();

if (payloadLength> 169) // Die Nutzdatenlänge darf nicht größer als 169 sein

Rückkehr;

generatedChecksum = 0;

für (int i = 0; i <payloadLength; i ++)

{

payloadData [i] = ReadOneByte (); // Nutzdaten in den Speicher lesen

generatedChecksum + = payloadData [i];

}

Prüfsumme = ReadOneByte (); // Prüfsummenbyte aus Stream lesen

generatedChecksum = 255 - generatedChecksum; // Nehmen Sie das Kompliment der generierten Prüfsumme

if (Prüfsumme == generatedChecksum)

{

schlechte Qualität = 200;

Aufmerksamkeit = 0;

Meditation = 0;

für (int i = 0; i <payloadLength; i ++)

{// Nutzdaten analysieren

switch (payloadData [i])

{

Fall 2:

i ++;

poorQuality = payloadData [i];

bigPacket = true;

brechen;

Fall 4:

i ++;

attention = payloadData [i];

brechen;

Fall 5:

i ++;

meditation = payloadData [i];

brechen;

case 0x80:

i = i + 3;

brechen;

case 0x83:

i = i + 25;

brechen;

Standard:

brechen;

} // Schalter

} // for Schleife

#if! DEBUGOUTPUT

// *** Gib deinen Code hier ein ***

if (bigPacket)

{

if (poorQuality == 0)

digitalWrite (LED, HIGH);

sonst

digitalWrite (LED, LOW);

Serial.print ("PoorQuality:");

Serial.print (poorQuality, DEC);

Serial.print ("Achtung:");

Serial.print (Achtung, DEC);

Serial.print ("Zeit seit dem letzten Paket:");

Serial.print (millis () - lastReceivedPacket, DEC);

lastReceivedPacket = millis ();

Serial.print (" n");

Schalter (Achtung / 10)

{

Fall 0:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, LOW);

digitalWrite (GREENLED3, LOW);

digitalWrite (YELLOWLED1, LOW);

digitalWrite (YELLOWLED2, LOW);

digitalWrite (YELLOWLED3, LOW);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 1:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, LOW);

digitalWrite (YELLOWLED1, LOW);

digitalWrite (YELLOWLED2, LOW);

digitalWrite (YELLOWLED3, LOW);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 2:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, LOW);

digitalWrite (YELLOWLED2, LOW);

digitalWrite (YELLOWLED3, LOW);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 3:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, LOW);

digitalWrite (YELLOWLED3, LOW);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 4:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, LOW);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 5:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, LOW);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 6:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, HIGH);

digitalWrite (REDLED1, LOW);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 7:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, HIGH);

digitalWrite (REDLED1, HIGH);

digitalWrite (REDLED2, LOW);

digitalWrite (REDLED3, LOW);

brechen;

Fall 8:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, HIGH);

digitalWrite (REDLED1, HIGH);

digitalWrite (REDLED2, HIGH);

digitalWrite (REDLED3, LOW);

brechen;

Fall 9:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, HIGH);

digitalWrite (REDLED1, HIGH);

digitalWrite (REDLED2, HIGH);

digitalWrite (REDLED3, HIGH);

brechen;

Fall 10:

digitalWrite (GREENLED1, HIGH);

digitalWrite (GREENLED2, HIGH);

digitalWrite (GREENLED3, HIGH);

digitalWrite (YELLOWLED1, HIGH);

digitalWrite (YELLOWLED2, HIGH);

digitalWrite (YELLOWLED3, HIGH);

digitalWrite (YELLOWLED4, HIGH);

digitalWrite (REDLED1, HIGH);

digitalWrite (REDLED2, HIGH);

digitalWrite (REDLED3, HIGH);

brechen;

}

}

#endif

bigPacket = false;

}

sonst {

// Prüfsummenfehler

} // end if else for checksum

} // end if read 0xAA byte

} // end if read 0xAA byte

}

Schritt 9: LED-Bliking auf Arduino

Schritt 10: Ausgabe auf dem seriellen Monitor

Sie könnten den gleichen Code verwenden, um Neurosky Mindwave Mobile mit Arduino zu verbinden

2 Leute haben dieses Projekt gemacht!

  • tkalkavan hat es geschafft!

  • tkalkavan hat es geschafft!

Hast du dieses Projekt gemacht? Teile es mit uns!

Empfehlungen

  • Mash Up Arduino-Codebeispiele

  • Open Source Ornithopter Prototyp. Arduino Powered und ferngesteuert.

  • Klasse Internet der Dinge

  • Fandom Contest

  • Holzbearbeitungswettbewerb

  • Arduino-Wettbewerb 2019

11 Diskussionen

0

Jeph Diel

vor 4 Jahren

Wie viel kostet der Verstand in US-Dollar? Ich habe die Website ausprobiert, aber es steht nur "Rs 6,999.00"

2 Antworten 0

MrEJeph Diel

Antworten vor 4 Jahre auf Introduction

Alles, was Sie tun müssen, um Geld zu übersetzen, ist, es zu googeln und zu Dollars hinzuzufügen, und es berechnet automatisch für Sie. Von dem kommt es auf 110,00 Dollar raus. Nur zu Ihrer Information.

0

JeevarajanMJeph Diel

Antworten vor 4 Jahre auf Introduction

Derzeit ist es nur in Indien verfügbar. Alternativ können Sie auch neurosky mindwave mobile verwenden. Das gleiche Tutorial wird auch dafür verwendet.

0

nanwaar

vor 2 Jahren

hi ich hoffe es geht dir gut, ich wollte neurosky eeg headset band werte wie alpha, beta, gamma, delta und theta bekommen. Ich brauche Hilfe, wie man diese über Bluetooth auf Arduino bekommt

0

RishabhG43

vor 2 Jahren

@JeevarajanM Können wir die Intelligenz aufladen? Gibt es eine Möglichkeit, die Intelligenz mit MATLAB oder einer anderen Bedienungsanleitung zu verknüpfen? Bitte helfen Sie mir

1 Antwort 0

JeevarajanMRishabhG43

Antworten vor 2 Jahren

Derzeit gibt es keine wiederaufladbaren Batterien, es benötigt 3 AAA-Batterien für sechs Stunden Dauerbetrieb. Bitte finden Sie den Link zur Schnittstelle mit Matlab
http://www.pantechsolutions.net/brain-computer-interface

0

AungM12

vor 2 Jahren

Gibt es einen billigen Verstand, der mit Ihren Gehirnströmen auch LED blinken kann?

RS 6999, das Ding ist teuer? Gibt es noch andere Sachen?

0

MaheshP46

Vor 3 Jahren

Sir ist es möglich, 3 Geräte wie ON / OFF mit diesem Kopfband zu steuern

0

Godzilla54

Vor 4 Jahren bei Introduction

MIND BLOWED warte, ich kann das nicht benutzen, wenn mein Verstand explodiert.

0

Elektronikschaltungen

Vor 4 Jahren bei Introduction

Mir ist nie in den Sinn gekommen, dass das möglich sein könnte. Tolle!

0

Tomatenhäute

Vor 4 Jahren bei Introduction

Das ist toll! Vielen Dank für die Freigabe Ihres Codes!