Innehållsförteckning:

Biofeedback Cinema: 7 steg
Biofeedback Cinema: 7 steg

Video: Biofeedback Cinema: 7 steg

Video: Biofeedback Cinema: 7 steg
Video: Marcus & Martinus - Elektrisk (Official Music Video) ft. Katastrofe 2024, November
Anonim
Image
Image
Biofeedback bio
Biofeedback bio

Projektförfattare

Jessica Ann

Samarbetspartners

  • Gregory Hough
  • Salud Lopez
  • Pedro Peira

Handla om

Ett experimentellt videoinspelningssystem som ansluter en deltagares hjärna till kamerafunktioner via ett Neurosky Mindwave EEG Reader Headset. Biofeedback Cinema -systemet fungerar i stället för en traditionell filmfotograf, istället ger kompositionen överföring till deltagaren själv via ett anpassat BRAIN to CAMERA -gränssnitt. Projektet utvecklades i samarbete med workshopdeltagarna Gregory Hough, Salud Lopez och Pedro Peira. Du kan läsa om resultaten av workshopen på:

Prototypkonfiguration

Biofeedback Cinema -systemet lämpar sig för många potentiella applikationer. För detta instruerbara har vi förberett en demo av systemet som tittar på deltagarens nivå av fokus/uppmärksamhet (ett enda heltal) och översätter det till kameraposition (via panorering och lutning) och kamerafokus (internt via OpenCV). Allt detta möjliggörs av en Bluetooth -anslutning mellan ett Neurosky EEG Reader Headset och en Raspberry Pi.

Raspberry Pi är en liten dator utrustad med en webbkamera och skript (finns nedan) som överbryggar deltagarens hjärnaktivitet till kamerainställningar och kameraposition. Dynamisk kameraposition möjliggörs via en Arduino -mikrokontroller som tar emot signaler från Raspberry Pi. Vi ser fram emot ytterligare utveckling när vi strävar efter att inkludera ytterligare hjärnvågsparametrar (frekvenser associerade med ögonblink, etc) och kamerafunktioner (dvs. nyans, mättnad, ljusstyrka, etc).

Nedan följer instruktionerna för att bygga ditt eget Biofeedback Cinema -system.

Glad att experimentera

Steg 1: Tillbehör

Tillbehör
Tillbehör

Allt du behöver för att bygga din egen Biofeedback Cinema -prototyp listas nedan.

  1. Neurosky Mindwave mobil EEG -headset
  2. Raspberry Pi B+ (b+ är bättre, fler USB -portar, men en B -modell är också bra om du har en USB -hubb).

    1. Raspberry Pi -strömadapter eller batteripaket
    2. Wifi Dongle -eller- Ethernet -anslutning (endast nödvändigt under installationen)
    3. Bluetooth Dongle se wiki för kompatibla donglar
    4. SD -kort (minst 8 GB) med NOOBS.
  3. Arduino Any board är bra, med Uno i denna instruerbara. Observera också att du bara kan använda I/O på Pi.

    1. Arduino strömadapter eller batteripaket
    2. A-B USB-kabel
  4. USB -webbkamera
  5. Mini Pan-Tilt Kit
  6. Övervaka med HDMI -ingång Eller använd VNC för att fjärrstyra din pi från din dator [handledning här]

    HDMI -kabel

  7. USB -tangentbord och mus rekommenderar bluetooth -tangentbord och mus för att minimera använda USB -portar.

Steg 2: Konfigurera Raspberry Pi

Installera Raspberry Pi
Installera Raspberry Pi

1. Installera hårdvara

Anslut tangentbord, mus, bluetooth -dongel, wifi -dongel (eller ethernet), webbkamera, bildskärm via HDMI -kabel och ström till din Raspberry Pi

2. Installera operativsystem

  • Slå på strömmen och din Pi ska starta. Installera Rasbpian OS, instruktioner här:
  • Om du startar och Raspian installeras korrekt bör du se skrivbordet på hemmaplan [Bild ovan].

TIPS:

  • Om bildförhållandet på skrivbordet är avstängt, försök starta om din Raspberry Pi. Om det fortfarande är avstängt, titta här för att uppdatera bildförhållandet manuellt.
  • Om du öppnar en textredigerare och tangentbordets specialtecken är felmappade, titta här för att uppdatera tangentbordskonfigurationen.
  • Testa din internetanslutning (du behöver detta för att installera bibliotek under installationen). Leta här för att få hjälp med att konfigurera wifi.

Steg 3: Anslut Neurosky Headset

Anslut Neurosky Headset
Anslut Neurosky Headset
Anslut Neurosky Headset
Anslut Neurosky Headset

1. Bluetooth -konfiguration

Innan Pi kan ansluta till Neurosky måste vi konfigurera bluetooth:

Öppna "LXTerminal" på skrivbordet (kallas Terminal härifrån). Kör det här kommandot för att lösa och uppdatera brister:

$ sudo apt-get uppdatering

Installera bluetooth med det här kommandot:

$ sudo apt-get install bluetooth

Installera praktiskt skrivbord-verktygsfält Bluetooth-verktyg:

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

Starta om Pi från Terminal:

$ sudo starta om

2. Testa Bluetooth -anslutningen

  • Slå på Neurosky -headsetet
  • Från Terminal -sökningen efter enheter:

hcitool -skanning

Mindwave -headsetet bör listas, notera MAC -adressen för headsetet [bilden ovan]

3. Installera Neurosky Libraries

Nu är vi redo att installera Neurosky Python -biblioteken och börja plocka upp dataströmmen med bibliotekets testskript:

Från terminalen installerar du github -verktyget:

sudo apt-get install git-core

Klon github -förvar med Neurosky Python -bibliotek:

sudo git-klon

Vi måste uppdatera MindwaveMobileRawReader.py -filen med ditt headsets MAC -adress. FYI: Filnamn är skiftlägeskänsliga

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

  • Uppdatera MAC -adressen som anges i filen. Ctrl-X för att avsluta, Y för att spara, Enter för att avsluta.
  • Koppla ihop Neurosky och Pi och tillåt automatisk anslutningsfunktion, om du uppmanas att ange en PIN -kod, använd "0000":

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

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

Installera Python Bluetooth -bibliotek:

sudo apt-get install python-bluez

Kör bibliotekets testskript för att säkerställa att Pi kan förhandsgranska dataströmmen. Du bör se dataströmningen [bilden ovan]:

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

Steg 4: Anslut USB -webbkamera med öppet CV

Anslut USB -webbkamera med öppet CV
Anslut USB -webbkamera med öppet CV

1. Installera OpenCV

Från terminalen:

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

När du är klar fortsätter du:

$ sudo apt -get -f installera

För gott mått:

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

Testa installationen genom att försöka importera biblioteket:

$ python

> importera cv2

2. Testa OpenCV i Python med USB -webbkamera

  • Öppna "IDLE" på skrivbordet (öppna inte IDLE3!)
  • Välj Nytt fönster på Arkiv -menyn. Kopiera vårt Cv-Blur-Test-skript till det nya fönstret och spara. Skript tillgängligt här:
  • Från körmenyn Välj körmodul (eller tryck på F5). Det kan ta några sekunder att komma igång, men du bör se en liten bildruta med ditt live webbkameraflöde och videon ska vara suddig. Grattis, OpenCV installerades och fungerar framgångsrikt med din webbkamera [Bild ovan].

Steg 5: Anslut Arduino

1. Ladda ner Arduino IDE

Från terminalen:

sudo apt-get install arduino

2. Anslut Arduino & Load Sketch

  • Anslut arduino till Pi med A-B USB-kabeln.
  • Från skrivbordets startmeny går du till Electronics och öppnar Arduino IDE. Kopiera vår arduino-serial-pi-skiss till IDE [länk nedan]. Detta är en mycket grundläggande skiss som kommer att flytta servomotorer baserat på ingång som kommer över serien. Vi skickar data över serien baserat på hjärnvågsutmatning, med hjälp av en Python -skiss i det sista steget när vi sätter ihop allt.

Arduino-serial-pi-skiss online här:

I Arduino IDE, gå till Verktyg -menyn, välj Seriell port och välj Arduino -porten, förmodligen något liknande /dev /ttyACM0. Anteckna porten

3. Inaktivera seriekonsolen

Ladda ner och kör ett skript för att inaktivera seriekonsolen så att seriell USB -anslutning kan fungera smidigt:

$ wget

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

$ tar -xvzf alamode -setup.tar.gz

$ cd alamode-setup

$ sudo./setup

$ sudo starta om

FYI:

Om du använder B+ kan det finnas tillräckligt med I/O för att stödja servon (se här för att konfigurera och använda GPIO). Jag är dock intresserad av att lägga till ytterligare komponenter för framtida experiment från hjärna till elektronik. Så att installera den första prototypen med en arduino säkerställer massor av elektroniska möjligheter.

Steg 6: Sätta ihop allt

Image
Image

1. Slutligt Python -skript

Innan vi kan lägga till det sista python-skriptet i mappen "python-mindwave-mobile" måste vi ändra mappbehörigheterna. Från terminalen:

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

  • Öppna IDLE och kör vårt sista Python-skript, tillgängligt online här: https://github.com/PrivateHQ/biofeedback-cinema/ Se till att det finns i mappen python-mindwave-mobile. FYI: Du måste uppdatera vårt Python -skript med din faktiska Arduino -portadress.
  • När du kör detta skript tre saker du bör hända: 1) Din uppmärksamhetsnivå kommer att listas i Python -skalet, 2) En liten ram visas som visar webbkamerans live -feed med oskärpa som ändras baserat på uppmärksamhetsnivån, 3) motorn (s) flytta när uppmärksamhetsnivån överförs till arduino via serien [Video ovan].

Steg 7: Förbättringar och utveckling

Raspberry Pi har begränsad processorkraft och kämpar för att köra OpenCV -funktioner smidigt. Detta är något jag kommer att fortsätta utveckla och förbättra. Dessutom planerar jag att inkludera ytterligare hjärnvågsparametrar (frekvenser associerade med ögonblink, etc) och kamerafunktioner (dvs. nyans, mättnad, ljusstyrka, etc) i framtida iterationer.

Rekommenderad: