Talaan ng mga Nilalaman:

Biofeedback Cinema: 7 Mga Hakbang
Biofeedback Cinema: 7 Mga Hakbang

Video: Biofeedback Cinema: 7 Mga Hakbang

Video: Biofeedback Cinema: 7 Mga Hakbang
Video: Agoraphobia, Health Anxiety, and Social Anxiety 2024, Nobyembre
Anonim
Image
Image
Biofeedback Cinema
Biofeedback Cinema

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

Mga gamit
Mga gamit

Ang lahat ng kailangan mo upang bumuo ng iyong sariling prototype ng Biofeedback Cinema ay nakalista sa ibaba.

  1. Neurosky Mindwave Mobile EEG Headset
  2. 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).

    1. Raspberry Pi Power Adapter o Battery Pack
    2. Wifi Dongle -o- Koneksyon sa Ethernet (kinakailangan lamang sa panahon ng pag-set up)
    3. Tingnan ang wiki ng Bluetooth Dongle para sa mga katugmang dongle
    4. SD Card (hindi bababa sa 8GBs) na may NOOBS.
  3. Anumang board ay mabuti, gamit ang Uno sa Instructable na ito. Tandaan din, maaari mo lamang gamitin ang I / O sa Pi.

    1. Arduino Power Adapter o Battery Pack
    2. A-B USB Cable
  4. USB Webcam
  5. Mini Pan-Tilt Kit
  6. Subaybayan ang w / HDMI Input O gumamit ng VNC upang malayuang makontrol ang iyong pi mula sa iyong computer [tutorial dito]

    HDMI Cable

  7. 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

I-setup ang Raspberry Pi
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

Ikonekta ang Neurosky Headset
Ikonekta ang Neurosky Headset
Ikonekta ang Neurosky Headset
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

Ikonekta ang USB Webcam W / Open CV
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

Image
Image

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: