Talaan ng mga Nilalaman:
- Hakbang 1: Mga Panustos
- Hakbang 2: I-setup ang Raspberry Pi
- Hakbang 3: Ikonekta ang Neurosky Headset
- Hakbang 4: Ikonekta ang USB Webcam W / Open CV
- Hakbang 5: Ikonekta ang Arduino
- Hakbang 6: Pagsasama-sama sa Lahat ng Ito
- Hakbang 7: Mga Pagpapabuti at Pag-unlad
Video: Biofeedback Cinema: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
May-akda ng Proyekto
Jessica Ann
Mga katuwang
- Gregory Hough
- Salud Lopez
- Pedro Peira
Tungkol sa
Isang pang-eksperimentong sistema ng pagkuha ng video na nag-uugnay sa utak ng isang kalahok sa mga pagpapaandar ng camera sa pamamagitan ng isang Neurosky Mindwave EEG Reader Headset. Ang Biofeedback Cinema system ay nagpapatakbo kapalit ng isang tradisyunal na cinematographer, sa halip na bigyan ang ahensya ng komposisyon sa kanyang kasali mismo sa pamamagitan ng isang pasadyang UTAK sa interface ng CAMERA. Ang proyekto ay binuo sa pakikipagtulungan sa mga dumalo sa workshop na sina Gregory Hough, Salud Lopez, at Pedro Peira. Maaari mong basahin ang mga resulta ng pagawaan sa:
Pag-configure ng Prototype
Ang sistema ng Biofeedback Cinema ay nagpapahiram sa sarili sa maraming mga potensyal na application. Para sa pagtuturo na ito, naghanda kami ng isang demo ng system na tumitingin sa antas ng pokus / pansin ng pansin (isang solong integer) at isinalin iyon sa posisyon ng camera (sa pamamagitan ng pan at ikiling) at pagtuon ng camera (panloob sa pamamagitan ng OpenCV). Ginagawa itong lahat sa pamamagitan ng isang koneksyon sa Bluetooth sa pagitan ng isang Neurosky EEG Reader Headset at isang Raspberry Pi.
Ang Raspberry Pi ay isang maliit na computer na nilagyan ng isang webcam at script (magagamit sa ibaba) na tulay sa aktibidad ng utak ng kalahok sa mga setting ng camera at posisyon ng camera. Ang posisyon ng Dynamic na kamera ay ginawang posible sa pamamagitan ng isang Arduino microcontroller na tumatanggap ng mga signal mula sa Raspberry Pi. Inaasahan namin ang karagdagang pag-unlad habang nilalayon naming magsama ng karagdagang mga parameter ng brainwave (mga frequency na nauugnay sa mga blink ng mata, atbp) at mga pagpapaandar ng camera (ie kulay, saturation, ningning, atbp).
Nasa ibaba ang mga tagubilin upang bumuo ng iyong sariling Biofeedback Cinema system.
Maligayang eksperimento
Hakbang 1: Mga Panustos
Ang lahat ng kailangan mo upang bumuo ng iyong sariling prototype ng Biofeedback Cinema ay nakalista sa ibaba.
- Neurosky Mindwave Mobile EEG Headset
-
Raspberry Pi B + (b + ay mas mahusay, maraming mga USB port, ngunit ang isang B Model ay mabuti rin kung mayroon kang isang USB hub).
- Raspberry Pi Power Adapter o Battery Pack
- Wifi Dongle -o- Koneksyon sa Ethernet (kinakailangan lamang sa panahon ng pag-set up)
- Tingnan ang wiki ng Bluetooth Dongle para sa mga katugmang dongle
- SD Card (hindi bababa sa 8GBs) na may NOOBS.
-
Anumang board ay mabuti, gamit ang Uno sa Instructable na ito. Tandaan din, maaari mo lamang gamitin ang I / O sa Pi.
- Arduino Power Adapter o Battery Pack
- A-B USB Cable
- USB Webcam
- Mini Pan-Tilt Kit
-
Subaybayan ang w / HDMI Input O gumamit ng VNC upang malayuang makontrol ang iyong pi mula sa iyong computer [tutorial dito]
HDMI Cable
- Inirekomenda ng USB Keyboard & Mouse ang keyboard at mouse ng bluetooth upang i-minimize ang mga ginamit na USB port.
Hakbang 2: I-setup ang Raspberry Pi
1. Pag-setup ng Hardware
Ikonekta ang keyboard, mouse, Bluetooth dongle, wifi dongle (o ethernet), webcam, monitor sa pamamagitan ng HDMI cable, at lakas sa iyong Raspberry Pi
2. I-setup ang Operating System
- I-toggle ang lakas at dapat na magsimula ang iyong Pi. I-install ang Rasbpian OS, mga tagubilin dito:
- Kung na-boot at na-install nang maayos ang Raspian dapat mong makita ang home desktop [Larawan sa itaas].
HINTS:
- Kung naka-off ang ratio ng aspeto ng desktop subukang i-reboot ang iyong Raspberry Pi. Kung naka-off pa rin ito, tumingin dito upang manu-manong i-update ang aspektong aspeto.
- Kung magbubukas ka ng isang text editor at ang iyong mga espesyal na character sa keyboard ay maling pagkakamali, tumingin dito upang i-update ang iyong pagsasaayos ng keyboard.
- Subukan ang iyong koneksyon sa internet (kakailanganin mo ito upang mai-install ang mga aklatan habang naka-setup). Maghanap dito para sa tulong sa pagkuha ng pag-setup ng wifi.
Hakbang 3: Ikonekta ang Neurosky Headset
1. Pag-configure ng Bluetooth
Bago makakonekta ang Pi sa Neurosky kailangan namin upang mag-setup ng bluetooth:
Sa desktop buksan ang "LXTerminal" (tinukoy bilang Terminal mula rito palabas). Patakbuhin ang utos na ito upang malutas at ma-update ang mga kakulangan:
$ sudo apt-get update
I-install ang Bluetooth gamit ang utos na ito:
$ sudo apt-get install ng Bluetooth
Mag-install ng madaling gamiting desktop-toolbar bluetooth utility:
$ sudo apt-get install -y bluetooth bluez-utils blueman
I-reboot ang Pi mula sa Terminal:
$ sudo reboot
2. Subukan ang Koneksyon sa Bluetooth
- I-on ang Neurosky headset
- Mula sa pag-scan ng Terminal para sa mga aparato:
hcitool scan
Ang Mindwave headset ay dapat na nakalista, tandaan ang MAC address ng headset [imahe sa itaas]
3. I-install ang Neurosky Library
Handa na kaming i-install ang mga aklatan ng Neurosky Python at simulang kunin ang data stream nito gamit ang script ng pagsubok sa silid:
Mula sa Terminal i-install ang github utility:
sudo apt-get install git-core
Repository ng clone github na may Neurosky Python library:
sudo git clone
Kailangan naming i-update ang MindwaveMobileRawReader.py file gamit ang MAC address ng iyong headset. FYI: Ang mga filename ay case sensitive
sudo nano /home/pi/python-mindwave-mobile/MindwaveMobileRawReader.py
- I-update ang MAC address na nakalista sa file. Ctrl-X upang matapos, Y upang mai-save, Enter upang lumabas.
- Ipares ang Neurosky at ang Pi at payagan ang tampok na awtomatikong kumonekta, kung na-prompt para sa isang PIN na "0000":
$ sudo bluez-simple-ahente hci0 XX: XX: XX: XX: XX: XX
$ sudo bluez-test-aparato ang pinagkakatiwalaan XX: XX: XX: XX: XX: XX oo
I-install ang Python Bluetooth library:
sudo apt-get install python-bluez
Patakbuhin ang script ng pagsubok sa silid upang matiyak na ma-preview ng Pi ang datastream. Dapat mong makita ang streaming ng data [imahe sa itaas]:
$ sudo python /home/pi/python-mindwave-mobile/read_mindwave_mobile.py
Hakbang 4: Ikonekta ang USB Webcam W / Open CV
1. I-install ang OpenCV
Mula sa Terminal:
$ sudo apt-get install libopencv-dev python-opencv
Kapag natapos, magpatuloy:
$ sudo apt-get -f install
Para sa maayos na sukat:
$ sudo apt-get install libopencv-dev python-opencv
Subukan ang pag-install sa pamamagitan ng pagtatangka na i-import ang library:
$ python
> i-import ang cv2
2. Subukan ang OpenCV sa Python gamit ang USB Webcam
- Sa desktop buksan ang "IDLE" (huwag buksan ang IDLE3!)
- Mula sa menu ng File piliin ang Bagong Window. Kopyahin ang aming Cv-Blur-Test script sa bagong window at i-save. Magagamit ang script dito:
- Mula sa Run menu Piliin ang Run Module (o Pindutin ang F5). Maaaring tumagal ng ilang segundo upang makapagpatuloy, ngunit dapat mong makita ang isang maliit na frame na lilitaw sa iyong live na feed ng webcam, at dapat malabo ang video. Binabati kita, naka-install ang OpenCV at matagumpay na gumagana sa iyong webcam [Larawan sa itaas].
Hakbang 5: Ikonekta ang Arduino
1. I-download ang Arduino IDE
Mula sa Terminal:
sudo apt-get install arduino
2. Ikonekta ang Arduino & Load Sketch
- I-plug ang arduino sa Pi gamit ang A-B USB cable.
- Mula sa menu ng pagsisimula ng desktop pumunta sa Electronics at buksan ang Arduino IDE. Kopyahin ang aming arduino-serial-pi sketch sa IDE [Link sa ibaba]. Ito ay isang napaka-pangunahing sketch na maglilipat ng mga motor ng servo batay sa pag-input na darating sa serial. Magpadala kami ng data sa serial batay sa output ng brainwave, gamit ang isang Python sketch sa huling hakbang kapag pinagsama namin ang lahat.
Arduino-serial-pi sketch online dito:
Sa Arduino IDE, pumunta sa menu ng Mga Tool, piliin ang Serial Port at piliin ang nakalista na Arduino port, marahil isang bagay tulad ng / dev / ttyACM0. Gumawa ng isang tala ng port
3. Huwag paganahin ang Serial Console
Mag-download at magpatakbo ng isang script upang hindi paganahin ang serial console upang ang usb serial na koneksyon ay maaaring magpatakbo ng maayos:
$ wget
/alamode-setup.tar.gz?raw=true -O alamode-setup.tar.gz
$ tar -xvzf alamode-setup.tar.gz
$ cd alamode-setup
$ sudo./setup
$ sudo reboot
FYI:
Kung gumagamit ka ng B + maaaring mayroong sapat na I / O upang suportahan ang mga servos, (tingnan dito upang i-setup at gamitin ang GPIO). Gayunpaman, interesado akong magdagdag ng mga karagdagang bahagi para sa eksperimento sa utak-sa-electronics sa hinaharap. Kaya, ang pagse-set up ng paunang prototype na may isang arduino ay tinitiyak ang maraming mga posibilidad ng pag-break ng elektronikong posibilidad.
Hakbang 6: Pagsasama-sama sa Lahat ng Ito
1. Final script ng Python
Bago namin maidagdag ang panghuling script ng sawa sa folder na "python-mindwave-mobile", kailangan naming baguhin ang mga pahintulot sa folder. Mula sa Terminal:
$ chmod a = rwx / home / pi / python-mindwave-mobile
- Buksan ang IDLE at patakbuhin ang aming pangwakas na script ng Python, na magagamit online dito: https://github.com/PrivateHQ/biofeedback-cinema/ Tiyaking matatagpuan ito sa python-mindwave-mobile folder. FYI: Kakailanganin mong i-update ang aming Python script sa iyong aktwal na Arduino port address.
- Kapag pinatakbo mo ang script na ito ng tatlong bagay na dapat mong mangyari: 1) Ang antas ng iyong pansin ay nakalista sa Python Shell, 2) Lumilitaw ang isang maliit na frame na nagpapakita ng live na feed ng webcam na may pagbabago na lumabo batay sa antas ng pansin, 3) ang motor (s) ilipat habang ang antas ng pansin ay ipinapasa sa arduino sa pamamagitan ng serial [Video sa itaas].
Hakbang 7: Mga Pagpapabuti at Pag-unlad
Ang Raspberry Pi ay may limitadong lakas sa pagpoproseso, at nakikipagpunyagi na patakbuhin nang maayos ang OpenCV. Ito ay isang bagay na magpapatuloy kong paunlarin at pagbutihin. Bilang karagdagan, plano kong isama ang mga karagdagang parameter ng brainwave (mga frequency na nauugnay sa mga blink ng mata, atbp) at mga pagpapaandar ng camera (ibig sabihin, kulay, saturation, ningning, atbp) sa mga susunod na pag-ulit.
Inirerekumendang:
EMG Biofeedback: 18 Mga Hakbang (na may Mga Larawan)
EMG Biofeedback: Ang setup ng biofeedback na ito ay gumagamit ng isang EMG sensor upang kumatawan sa pag-igting ng kalamnan bilang isang serye ng mga beep at pinapayagan kang sanayin ang iyong katawan upang ayusin ang pag-igting ng kalamnan ayon sa kalooban. Sa madaling sabi, mas nakaka-tense ka, mas mabilis ang mga beep, at mas lundo, ang
10 Mga kahalili sa DIY sa Mga Off-The-Shelf na Elektroniko na Mga Bahagi: 11 Mga Hakbang (na may Mga Larawan)
10 Mga Kahalili sa DIY sa Mga Off-The-Shelf na Mga Elektroniko na Bahagi: Maligayang pagdating sa aking kauna-unahang itinuro! Sa palagay mo ba ang ilang mga bahagi mula sa mga tagatingi sa online ay masyadong mahal o may mababang kalidad? Kailangan bang makakuha ng isang prototype nang mabilis at tumatakbo nang mabilis at hindi makapaghintay linggo para sa pagpapadala? Walang mga lokal na electronics distributor? Ang fol
DIY 3D Home Cinema: 5 Hakbang (na may Mga Larawan)
DIY 3D Home Cinema: Kumusta, ako si Kevin. Nais kong manuod ng mga pelikula sa aking bahay tulad ng sa isang bayad na sesyon ng sinehan. Ngunit hindi ako mayaman, kaya't mayroon akong katamtamang hanay ng mga computer speaker (2 normal + 1 subwoofer), isang sofa at isang normal na TV na 32 ". Nais mo bang buksan ang nakakainis na tunog o
DIY Home Cinema CD DVD USB BLUETOOTH at 7.1 Tunog: 10 Hakbang (na may Mga Larawan)
DIY Home Cinema CD DVD USB BLUETOOTH … at 7.1 Tunog: Ang proyektong ito ay nagaganap sa huling 8 buwan at natupok nang labis ng aking bakanteng oras. Hindi ko iniisip na susubukan ko ang anumang bagay na malaki o masalimuot pa muli … kaya naisip kong ibahagi ko ito tulad ng ginawa ko sa huli. (Kahit na ako
Ipod Cinema: 5 Hakbang
Ipod Cinema: Gumawa ng iyong sariling art deco style na sinehan upang matingnan ang iyong iopd na mga video- ang paggamit ng mga materyales na maaaring matagpuan sa paligid ng bahay-Disclaimer-i ay hindi mananagot para sa anumang pinsala na dulot ng paggawa o paggamit ng proyektong ito