Innehållsförteckning:
- Steg 1: Tillbehör
- Steg 2: Konfigurera Raspberry Pi
- Steg 3: Anslut Neurosky Headset
- Steg 4: Anslut USB -webbkamera med öppet CV
- Steg 5: Anslut Arduino
- Steg 6: Sätta ihop allt
- Steg 7: Förbättringar och utveckling
Video: Biofeedback Cinema: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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
Allt du behöver för att bygga din egen Biofeedback Cinema -prototyp listas nedan.
- Neurosky Mindwave mobil EEG -headset
-
Raspberry Pi B+ (b+ är bättre, fler USB -portar, men en B -modell är också bra om du har en USB -hubb).
- Raspberry Pi -strömadapter eller batteripaket
- Wifi Dongle -eller- Ethernet -anslutning (endast nödvändigt under installationen)
- Bluetooth Dongle se wiki för kompatibla donglar
- SD -kort (minst 8 GB) med NOOBS.
-
Arduino Any board är bra, med Uno i denna instruerbara. Observera också att du bara kan använda I/O på Pi.
- Arduino strömadapter eller batteripaket
- A-B USB-kabel
- USB -webbkamera
- Mini Pan-Tilt Kit
-
Ö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
- USB -tangentbord och mus rekommenderar bluetooth -tangentbord och mus för att minimera använda USB -portar.
Steg 2: Konfigurera 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
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
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
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:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
EMG Biofeedback: 18 steg (med bilder)
EMG Biofeedback: Denna biofeedback -inställning använder en EMG -sensor för att representera muskelspänningar som en serie pip och låter dig träna din kropp att justera muskelspänningar efter behag. Kort sagt, ju mer spänd du är, desto snabbare blir pipen och ju mer avslappnad
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Ipod Cinema: 5 steg
Ipod Cinema: Gör din egen biograf i art deco-stil för att se dina iopd-videor-med hjälp av material som finns runt huset-Ansvarsfriskrivning-jag kommer inte att hållas ansvarig för eventuella skador som orsakats under tillverkning eller användning av detta projekt