Mini Arduino Portable EEG - Brain Wave Monitor + (7 / 9 steg)
Steg 7: Fas 1: EEG Monitor (visar data i TFT-skärm) forts...
1. - om signalquality är allt annat än 0, du kommer inte få ett värde meditation eller uppmärksamhet.
2.-värdena för hjärnvågor (alfa, Beta, Gamma, etc...) är typ av nonsens. De fortfarande ändra värdet även om signalkvaliteten är större än noll! Även om du placerar ett finger på pannan sensorn och en annan en på örat sensorn på vänster pad, få du fortfarande avläsningar för alla brain wave funktioner. Jag nämner detta eftersom inte jag är helt säker på om värdena är faktiskt mycket pålitlig. I varje fall är de enda värden som är användbar, om du vill styra något med din hjärna uppmärksamhet och meditation.
Okej, så här är koden:
Kopiera och klistra in skissen nedan till din ardunio IDE.
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
#include < Adafruit_GFX.h > / / Core grafik bibliotek
#include < Adafruit_ST7735.h > / / maskinvaruspecifika bibliotek
#include < SPI.h >
#include < Brain.h >
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);
Hjärnan brain(Serial);
void setup(void) {
tft.initR(INITR_BLACKTAB); initiera en ST7735S chip, svart flik
tftPrintTest(); Inledande introduktion text,
Delay(1000);
tft.fillScreen(ST7735_BLACK); Rensa skärmen
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
tft.setCursor(30,0);
TFT.println ("EEGEN Monitor");
Serial.BEGIN(9600);
}
void loop() {
om (brain.update()) {
om (brain.readSignalQuality() > 100) {
tft.fillScreen(ST7735_BLACK);
tft.setCursor(0,30);
tft.setTextColor(ST7735_RED,ST7735_BLACK);
TFT.println ("signalkvalitet låg").
}
annat {
tft.setCursor(30,0);
TFT.println ("EEGEN 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 ("signal kvalitet:");
TFT.Print(Brain.readSignalQuality());
TFT.println("");
tft.setTextColor(ST7735_RED,ST7735_BLACK);
TFT.Print ("uppmärksamhet:");
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 ("låg Alpha:");
TFT.Print(Brain.readLowAlpha());
TFT.println("");
TFT.Print ("hög Alpha:");
TFT.Print(Brain.readHighAlpha());
TFT.println("");
TFT.Print ("låg Beta:");
TFT.Print(Brain.readLowBeta());
TFT.println("");
TFT.Print ("hög Beta:");
TFT.println(Brain.readHighBeta());
TFT.Print ("låg Gamma:");
TFT.Print(Brain.readLowGamma());
TFT.println("");
TFT.Print ("mitten av Gamma:");
TFT.Print(Brain.readMidGamma());
TFT.println("");
}}
}
void tftPrintTest() {
tft.setTextWrap(false);
tft.fillScreen(ST7735_BLACK);
tft.setCursor (0, 10);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
TFT.println("
Delay(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);
Delay(50);
}