Innholdsfortegnelse:

Biofeedback Cinema: 7 trinn
Biofeedback Cinema: 7 trinn

Video: Biofeedback Cinema: 7 trinn

Video: Biofeedback Cinema: 7 trinn
Video: What is Neurofeedback/EEG Biofeedback? 2024, November
Anonim
Image
Image
Biofeedback kino
Biofeedback kino

Prosjektforfatter

Jessica Ann

Samarbeidspartnere

  • Gregory Hough
  • Salud Lopez
  • Pedro Peira

Om

Et eksperimentelt videoopptakssystem som kobler en deltakers hjerne til kamerafunksjoner via et Neurosky Mindwave EEG Reader Headset. Biofeedback Cinema -systemet fungerer i stedet for en tradisjonell kinematograf, i stedet gir agenturet til komposisjonen over til deltakeren selv via et tilpasset BRAIN to CAMERA -grensesnitt. Prosjektet ble utviklet i samarbeid med workshopdeltakerne Gregory Hough, Salud Lopez og Pedro Peira. Du kan lese om resultatene av workshopen på:

Prototype konfigurasjon

Biofeedback Cinema -systemet egner seg for mange potensielle applikasjoner. For denne instruksen har vi utarbeidet en demo av systemet som ser på deltakerens fokus/oppmerksomhet (et heltall) og oversetter det til kameraposisjon (via panorering og tilt) og kamerafokus (internt via OpenCV). Alt dette er muliggjort av en Bluetooth -tilkobling mellom et Neurosky EEG Reader Headset og en Raspberry Pi.

Raspberry Pi er en liten datamaskin utstyrt med et webkamera og skript (tilgjengelig nedenfor) som forbinder deltakerens hjerneaktivitet til kamerainnstillinger og kameraposisjon. Dynamisk kameraposisjon er mulig via en Arduino mikrokontroller som mottar signaler fra Raspberry Pi. Vi ser frem til videre utvikling da vi har som mål å inkludere flere hjernebølge -parametere (frekvenser assosiert med øyeblink, osv.) Og kamerafunksjoner (dvs. fargetone, metning, lysstyrke, osv.).

Nedenfor er instruksjonene for å bygge ditt eget Biofeedback Cinema -system.

Glad i å eksperimentere

Trinn 1: Rekvisita

Rekvisita
Rekvisita

Alt du trenger for å bygge din egen Biofeedback Cinema -prototype er oppført nedenfor.

  1. Neurosky Mindwave Mobile EEG -hodesett
  2. Raspberry Pi B+ (b+ er bedre, flere USB -porter, men en B -modell er også bra hvis du har en USB -hub).

    1. Raspberry Pi strømadapter eller batteripakke
    2. Wifi Dongle -eller- Ethernet -tilkobling (bare nødvendig under oppsett)
    3. Bluetooth Dongle se wiki for kompatible dongler
    4. SD -kort (minst 8 GB) med NOOBS.
  3. Arduino Any board er greit, og bruker Uno i denne instruksjonsboken. Vær også oppmerksom på at du bare kan bruke I/O på Pi.

    1. Arduino strømadapter eller batteripakke
    2. A-B USB-kabel
  4. USB -webkamera
  5. Mini Pan-Tilt Kit
  6. Skjerm m/HDMI -inngang Eller bruk VNC til å fjernstyre pi -en fra datamaskinen [opplæring her]

    HDMI -kabel

  7. USB -tastatur og mus anbefaler Bluetooth -tastatur og mus for å minimere bruk av USB -porter.

Trinn 2: Konfigurer Raspberry Pi

Sett opp Raspberry Pi
Sett opp Raspberry Pi

1. Oppsett av maskinvare

Koble til tastatur, mus, bluetooth -dongle, wifi -dongle (eller ethernet), webkamera, skjerm via HDMI -kabel og strøm til din Raspberry Pi

2. Sett opp operativsystemet

  • Slå på strømmen, og din Pi skal starte. Installer Rasbpian OS, instruksjoner her:
  • Hvis oppstarten og Raspian er installert på riktig måte, bør du se skrivebordet hjemme [Bilde ovenfor].

TIPS:

  • Hvis størrelsesforholdet på skrivebordet er slått av, kan du prøve å starte Raspberry Pi på nytt. Hvis det fortsatt er slått av, kan du se her for å oppdatere størrelsesforholdet manuelt.
  • Hvis du åpner et tekstredigeringsprogram og tastaturets spesialtegn blir feilkartet, kan du se her for å oppdatere tastaturkonfigurasjonen.
  • Test internettforbindelsen (du trenger dette for å installere biblioteker under oppsettet). Se her for å få hjelp til oppsett av wifi.

Trinn 3: Koble til Neurosky Headset

Koble til Neurosky Headset
Koble til Neurosky Headset
Koble til Neurosky Headset
Koble til Neurosky Headset

1. Bluetooth -konfigurasjon

Før Pi kan koble til Neurosky må vi sette opp bluetooth:

Åpne "LXTerminal" på skrivebordet (referert til som Terminal fra nå av). Kjør denne kommandoen for å løse og oppdatere mangler:

$ sudo apt-get oppdatering

Installer bluetooth med denne kommandoen:

$ sudo apt-get install bluetooth

Installer praktisk skrivebord-verktøylinje Bluetooth-verktøy:

$ sudo apt-get install -y bluetooth bluez-utils blueman

Start Pi på nytt fra Terminal:

$ sudo omstart

2. Test Bluetooth -tilkobling

  • Slå på Neurosky -headsettet
  • Fra Terminal -skanningen etter enheter:

hcitool skanning

Mindwave -headsettet bør være oppført. Legg merke til MAC -adressen til headsettet [bildet ovenfor]

3. Installer Neurosky Libraries

Nå er vi klare til å installere Neurosky Python -bibliotekene og begynne å plukke opp datastrømmen med bibliotekets testskript:

Installer github -verktøyet fra Terminal:

sudo apt-get install git-core

Klon github -depot med Neurosky Python -bibliotek:

sudo git klon

Vi må oppdatere MindwaveMobileRawReader.py -filen med MAC -adressen til headsettet ditt. FYI: Filnavn er store og små bokstaver

sudo nano /home/pi/python-mindwave-mobile/MindwaveMobileRawReader.py

  • Oppdater MAC -adressen som er oppført i filen. Ctrl-X for å fullføre, Y for å lagre, Enter for å avslutte.
  • Koble Neurosky og Pi og tillat funksjonen for automatisk tilkobling, hvis du blir bedt om en PIN -kode, bruk "0000":

$ sudo bluez-simple-agent hci0 XX: XX: XX: XX: XX: XX

$ sudo bluez-test-enhet klarert XX: XX: XX: XX: XX: XX ja

Installer Python Bluetooth -bibliotek:

sudo apt-get install python-bluez

Kjør bibliotekets testskript for å sikre at Pi kan forhåndsvise datastrømmen. Du bør se datastrømmingen [bildet ovenfor]:

$ sudo python /home/pi/python-mindwave-mobile/read_mindwave_mobile.py

Trinn 4: Koble til USB -webkamera med åpen CV

Koble til USB -webkamera m/åpen CV
Koble til USB -webkamera m/åpen CV

1. Installer OpenCV

Fra terminalen:

$ sudo apt-get install libopencv-dev python-opencv

Når du er ferdig, fortsetter du:

$ sudo apt -get -f installere

For et godt mål:

$ sudo apt-get install libopencv-dev python-opencv

Test installasjonen ved å prøve å importere biblioteket:

$ python

> importer cv2

2. Test OpenCV i Python med USB -webkamera

  • Åpne "IDLE" på skrivebordet (ikke åpne IDLE3!)
  • Velg nytt vindu fra Fil -menyen. Kopier vårt Cv-Blur-Test-skript til det nye vinduet og lagre. Skript tilgjengelig her:
  • Fra Run -menyen Velg Run Module (eller trykk F5). Det kan ta noen sekunder å komme i gang, men du bør se en liten ramme vises med strømmen til webkameraet ditt, og videoen skal være uklar. Gratulerer, OpenCV ble installert og fungerer som det skal med webkameraet ditt [Bilde ovenfor].

Trinn 5: Koble til Arduino

1. Last ned Arduino IDE

Fra terminalen:

sudo apt-get install arduino

2. Koble til Arduino & Load Sketch

  • Koble arduinoen til Pi med A-B USB-kabelen.
  • Fra skrivebordets startmeny, gå til Elektronikk og åpne Arduino IDE. Kopier vår arduino-serial-pi-skisse til IDE [lenken nedenfor]. Dette er en veldig grunnleggende skisse som vil flytte servomotorer basert på inngang som kommer over serien. Vi sender data over serien basert på hjernebølgeutgang, ved hjelp av en Python -skisse i det siste trinnet når vi setter alt sammen.

Arduino-serial-pi skisse online her:

I Arduino IDE, gå til Verktøy -menyen, velg Serial Port og velg Arduino -porten som er oppført, sannsynligvis noe som /dev /ttyACM0. Noter porten

3. Deaktiver seriekonsollen

Last ned og kjør et skript for å deaktivere seriekonsollen, slik at den serielle usb -tilkoblingen kan fungere jevnt:

$ wget

/alamode-setup.tar.gz?raw=true -O alamode-setup.tar.gz

$ tar -xvzf alamode -setup.tar.gz

$ cd alamode-oppsett

$ sudo./setup

$ sudo omstart

Til info:

Hvis du bruker B+ kan det være nok I/O til å støtte servoene (se her for å sette opp og bruke GPIO). Imidlertid er jeg interessert i å legge til flere komponenter for fremtidig hjerne-til-elektronikk eksperimentering. Så å sette opp den første prototypen med en arduino sikrer mange elektroniske muligheter.

Trinn 6: Sett alt sammen

Image
Image

1. Endelig Python -skript

Før vi kan legge til det endelige python-skriptet i mappen "python-mindwave-mobile", må vi endre mappetillatelsene. Fra terminalen:

$ chmod a = rwx/home/pi/python-mindwave-mobile

  • Åpne IDLE og kjør det siste Python-skriptet vårt, tilgjengelig online her: https://github.com/PrivateHQ/biofeedback-cinema/ Sørg for at det ligger i mappen python-mindwave-mobile. FYI: Du må oppdatere Python -skriptet vårt med din faktiske Arduino -portadresse.
  • Når du kjører dette skriptet tre ting du bør skje: 1) Oppmerksomhetsnivået ditt vil bli oppført i Python -skallet, 2) Det vises en liten ramme som viser webkameraets live feed med uskarpheten endret basert på oppmerksomhetsnivået, 3) motoren (s) flytte ettersom oppmerksomhetsnivået sendes til arduinoen via serienummeret [Video ovenfor].

Trinn 7: Forbedringer og utvikling

Raspberry Pi har begrenset prosessorkraft, og sliter med å kjøre OpenCV -funksjoner jevnt. Dette er noe jeg vil fortsette å utvikle og forbedre. I tillegg planlegger jeg å inkludere flere hjernebølge -parametere (frekvenser assosiert med øyeblink, osv.) Og kamerafunksjoner (dvs. fargetone, metning, lysstyrke, osv.) I fremtidige iterasjoner.

Anbefalt: