Spisu treści:

Kino Biofeedback: 7 kroków
Kino Biofeedback: 7 kroków

Wideo: Kino Biofeedback: 7 kroków

Wideo: Kino Biofeedback: 7 kroków
Wideo: Obudziłam się półnaga, obok mnie leżał kolega z akademika | Pokój nr 7 2024, Lipiec
Anonim
Image
Image
Kino Biofeedback
Kino Biofeedback

Autor projektu

Jessica Ann

Współpracownicy

  • Grzegorz Hough
  • Salud Lopez
  • Pedro Peira

O

Eksperymentalny system przechwytywania wideo, który łączy mózg uczestnika z funkcjami kamery za pomocą zestawu słuchawkowego Neurosky Mindwave EEG Reader. System Biofeedback Cinema działa zamiast tradycyjnego operatora, zamiast tego, poprzez niestandardowy interfejs BRAIN to CAMERA, przekazuje autorstwo kompozycji samej uczestnikowi. Projekt został opracowany we współpracy z uczestnikami warsztatów Gregorym Hough, Salud Lopez i Pedro Peira. Z wynikami warsztatów można zapoznać się na stronie:

Konfiguracja prototypu

System Biofeedback Cinema nadaje się do wielu potencjalnych zastosowań. W tym celu przygotowaliśmy demo systemu, który sprawdza poziom skupienia/uwagi uczestnika (pojedyncza liczba całkowita) i tłumaczy go na pozycję kamery (poprzez obrót i pochylenie) oraz ostrość kamery (wewnętrznie przez OpenCV). Wszystko to jest możliwe dzięki połączeniu bluetooth między zestawem słuchawkowym Neurosky EEG Reader a Raspberry Pi.

Raspberry Pi to mały komputer wyposażony w kamerę internetową i skrypty (dostępne poniżej), które łączą aktywność mózgu uczestnika z ustawieniami i pozycją kamery. Dynamiczne pozycjonowanie kamery jest możliwe dzięki mikrokontrolerowi Arduino odbierającemu sygnały z Raspberry Pi. Z niecierpliwością czekamy na dalszy rozwój, ponieważ naszym celem jest uwzględnienie dodatkowych parametrów fal mózgowych (częstotliwości związane z mruganiem oczami itp.) oraz funkcji aparatu (tj. odcienia, nasycenia, jasności itp.).

Poniżej znajdują się instrukcje budowania własnego systemu Kina Biofeedback.

Miłego eksperymentowania

Krok 1: Materiały eksploatacyjne

Kieszonkowe dzieci
Kieszonkowe dzieci

Wszystko, czego potrzebujesz do zbudowania własnego prototypu kina Biofeedback, znajduje się poniżej.

  1. Mobilny zestaw słuchawkowy EEG Neurosky Mindwave
  2. Raspberry Pi B+ (b+ jest lepszy, więcej portów USB, ale model B też jest w porządku, jeśli masz koncentrator USB).

    1. Zasilacz lub akumulator do Raspberry Pi
    2. Wifi Dongle -lub- Połączenie Ethernet (wymagane tylko podczas konfiguracji)
    3. Bluetooth Dongle zobacz wiki dla kompatybilnych dongle
    4. Karta SD (co najmniej 8 GB) z NOOBS.
  3. Arduino Każda płyta jest w porządku, używając Uno w tej instrukcji. Pamiętaj też, że możesz po prostu użyć I/O na Pi.

    1. Zasilacz lub akumulator Arduino
    2. Kabel USB typu A-B
  4. Kamera internetowa USB
  5. Zestaw Mini Pan-Tilt
  6. Monitor z wejściem HDMI Lub użyj VNC do zdalnego sterowania pi z komputera [tutorial tutaj]

    Kabel HDMI

  7. Klawiatura i mysz USB zalecają klawiaturę i mysz Bluetooth, aby zminimalizować używane porty USB.

Krok 2: Skonfiguruj Raspberry Pi

Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi

1. Konfiguracja sprzętu

Podłącz klawiaturę, mysz, klucz sprzętowy Bluetooth, klucz sprzętowy Wi-Fi (lub Ethernet), kamerę internetową, monitor za pomocą kabla HDMI i zasilanie do Raspberry Pi

2. Skonfiguruj system operacyjny

  • Włącz zasilanie, a Twoje Pi powinno się uruchomić. Zainstaluj Rasbpian OS, instrukcje tutaj:
  • Jeśli uruchomiony i Raspian jest zainstalowany poprawnie, powinieneś zobaczyć pulpit domowy [Zdjęcie powyżej].

WSKAZÓWKI:

  • Jeśli proporcje pulpitu są wyłączone, spróbuj ponownie uruchomić Raspberry Pi. Jeśli nadal jest wyłączony, zajrzyj tutaj, aby ręcznie zaktualizować proporcje.
  • Jeśli otworzysz edytor tekstu, a znaki specjalne na klawiaturze są źle zmapowane, zajrzyj tutaj, aby zaktualizować konfigurację klawiatury.
  • Przetestuj swoje połączenie internetowe (będzie to potrzebne do zainstalowania bibliotek podczas instalacji). Zajrzyj tutaj, aby uzyskać pomoc w konfiguracji Wi-Fi.

Krok 3: Podłącz zestaw słuchawkowy Neurosky

Podłącz zestaw słuchawkowy Neurosky
Podłącz zestaw słuchawkowy Neurosky
Podłącz zestaw słuchawkowy Neurosky
Podłącz zestaw słuchawkowy Neurosky

1. Konfiguracja Bluetooth

Zanim Pi będzie mogło połączyć się z Neurosky, musimy skonfigurować bluetooth:

Na pulpicie otwórz „LXTerminal” (odtąd nazywany Terminalem). Uruchom to polecenie, aby rozwiązać i zaktualizować braki:

$ sudo apt-get update

Zainstaluj bluetooth za pomocą tego polecenia:

$ sudo apt-get zainstaluj bluetooth

Zainstaluj przydatne narzędzie bluetooth na pulpicie:

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

Uruchom ponownie Pi z terminala:

$ sudo restart

2. Przetestuj połączenie Bluetooth

  • Włącz zestaw słuchawkowy Neurosky
  • Ze skanowania terminala w poszukiwaniu urządzeń:

skanowanie hcitool

Zestaw słuchawkowy Mindwave powinien być wymieniony, zanotuj adres MAC zestawu słuchawkowego [obrazek powyżej]

3. Zainstaluj biblioteki Neurosky

Teraz jesteśmy gotowi do zainstalowania bibliotek Neurosky Python i rozpoczęcia pobierania strumienia danych za pomocą skryptu testowego biblioteki:

Z Terminala zainstaluj narzędzie github:

sudo apt-get zainstaluj git-core

Sklonuj repozytorium github za pomocą biblioteki Neurosky Python:

klon sudo git

Musimy zaktualizować plik MindwaveMobileRawReader.py z adresem MAC Twojego zestawu słuchawkowego. FYI: W nazwach plików rozróżniana jest wielkość liter

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

  • Zaktualizuj adres MAC podany w pliku. Ctrl-X, aby zakończyć, Y, aby zapisać, Enter, aby wyjść.
  • Sparuj Neurosky i Pi i zezwól na funkcję automatycznego łączenia, jeśli zostaniesz poproszony o podanie kodu PIN, użyj „0000”:

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

$ sudo bluez-test-device zaufane XX:XX:XX:XX:XX:XX tak

Zainstaluj bibliotekę Python Bluetooth:

sudo apt-get zainstaluj python-bluez

Uruchom skrypt testowy biblioteki, aby upewnić się, że Pi jest w stanie wyświetlić podgląd strumienia danych. Powinieneś zobaczyć strumieniowe przesyłanie danych [obrazek powyżej]:

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

Krok 4: Podłącz kamerę internetową USB z otwartym CV

Podłącz kamerę internetową USB z otwartym CV
Podłącz kamerę internetową USB z otwartym CV

1. Zainstaluj OpenCV

Z terminala:

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

Po zakończeniu kontynuuj:

$ sudo apt-get -f install

Na dobrą miarę:

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

Przetestuj instalację, próbując zaimportować bibliotekę:

$ pyton

> importuj cv2

2. Przetestuj OpenCV w Pythonie za pomocą kamery internetowej USB

  • Na pulpicie otwórz "IDLE" (nie otwieraj IDLE3!)
  • Z menu Plik wybierz Nowe okno. Skopiuj nasz skrypt Cv-Blur-Test do nowego okna i zapisz. Skrypt dostępny tutaj:
  • Z menu Run wybierz Run Module (lub naciśnij F5). Rozpoczęcie pracy może potrwać kilka sekund, ale powinieneś zobaczyć małą ramkę z obrazu z kamery na żywo, a obraz powinien być rozmazany. Gratulacje, OpenCV został zainstalowany i działa pomyślnie z Twoją kamerą internetową [Zdjęcie powyżej].

Krok 5: Podłącz Arduino

1. Pobierz Arduino IDE

Z terminala:

sudo apt-get zainstaluj arduino

2. Podłącz Arduino i załaduj szkic

  • Podłącz arduino do Pi za pomocą kabla USB A-B.
  • Z menu startowego pulpitu przejdź do Elektronika i otwórz Arduino IDE. Skopiuj nasz szkic arduino-serial-pi do IDE [Link poniżej]. Jest to bardzo prosty szkic, który przeniesie serwomotory na podstawie danych wejściowych pochodzących z serialu. Prześlemy dane przez port szeregowy na podstawie wyników fal mózgowych, używając szkicu Pythona w ostatnim kroku, kiedy wszystko złożymy.

Szkic Arduino-serial-pi online tutaj:

W Arduino IDE przejdź do menu Narzędzia, wybierz Port szeregowy i wybierz wymieniony port Arduino, prawdopodobnie coś w rodzaju /dev/ttyACM0. Zanotuj port

3. Wyłącz konsolę szeregową

Pobierz i uruchom skrypt, aby wyłączyć konsolę szeregową, aby połączenie szeregowe USB mogło działać płynnie:

$ wget

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

$ tar -xvzf alamode-setup.tar.gz

$ cd alamode-setup

$ sudo./konfiguracja

$ sudo restart

FYI:

Jeśli używasz B+, może być wystarczająca ilość I/O do obsługi serw (spójrz tutaj, aby skonfigurować i użyć GPIO). Jednak jestem zainteresowany dodaniem dodatkowych komponentów do przyszłych eksperymentów z mózgu do elektroniki. Tak więc skonfigurowanie początkowego prototypu za pomocą arduino zapewnia wiele przełomowych możliwości elektronicznych.

Krok 6: Złóż wszystko razem

Image
Image

1. Ostateczny skrypt Pythona

Zanim będziemy mogli dodać ostateczny skrypt Pythona do folderu „python-mindwave-mobile”, musimy zmienić uprawnienia do folderu. Z terminala:

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

  • Otwórz IDLE i uruchom nasz ostateczny skrypt Pythona, dostępny online tutaj: https://github.com/PrivateHQ/biofeedback-cinema/ Upewnij się, że znajduje się on w folderze python-mindwave-mobile. FYI: Będziesz musiał zaktualizować nasz skrypt Pythona o rzeczywisty adres portu Arduino.
  • Po uruchomieniu tego skryptu powinny się wydarzyć trzy rzeczy: 1) Twój poziom uwagi zostanie wyświetlony w powłoce Pythona, 2) Pojawi się mała ramka pokazująca obraz na żywo z kamery internetowej z rozmyciem zmieniającym się w zależności od poziomu uwagi, 3) silnik (s) poruszaj się, gdy poziom uwagi jest przekazywany do arduino przez port szeregowy [wideo powyżej].

Krok 7: Ulepszenia i rozwój

Raspberry Pi ma ograniczoną moc obliczeniową i ma problemy z płynnym uruchamianiem funkcji OpenCV. To jest coś, co będę dalej rozwijać i ulepszać. Dodatkowo planuję uwzględnić w przyszłych iteracjach dodatkowe parametry fal mózgowych (częstotliwości związane z mruganiem oczami itp.) oraz funkcje aparatu (tj. odcień, nasycenie, jasność itp.).

Zalecana: