Оглавление:

Кинотеатр с биологической обратной связью: 7 шагов
Кинотеатр с биологической обратной связью: 7 шагов

Видео: Кинотеатр с биологической обратной связью: 7 шагов

Видео: Кинотеатр с биологической обратной связью: 7 шагов
Видео: ФИЛЬМ ЗАПРЕЩЕН к показу на федеральных каналах. Сколько нас останется в 2050 году? Россия 2050 2024, Июль
Anonim
Image
Image
Кинотеатр с биологической обратной связью
Кинотеатр с биологической обратной связью

Автор проекта

Джессика Энн

Соавторы

  • Грегори Хаф
  • Салуд Лопес
  • Педро Пейра

О

Экспериментальная система захвата видео, которая подключает мозг участника к функциям камеры через гарнитуру Neurosky Mindwave EEG Reader Headset. Система Biofeedback Cinema работает вместо традиционного кинематографиста, вместо этого предоставляя право выбора композиции самому участнику через настраиваемый интерфейс BRAIN to CAMERA. Проект был разработан в сотрудничестве с участниками семинара Грегори Хафом, Салудом Лопесом и Педро Пейрой. Вы можете ознакомиться с результатами семинара по адресу:

Конфигурация прототипа

Система Biofeedback Cinema имеет множество потенциальных применений. Для этого руководства мы подготовили демонстрацию системы, которая смотрит на уровень фокуса / внимания участника (одно целое число) и переводит его в положение камеры (посредством панорамирования и наклона) и фокус камеры (внутренне через OpenCV). Все это стало возможным благодаря Bluetooth-соединению между гарнитурой Neurosky EEG Reader и Raspberry Pi.

Raspberry Pi - это небольшой компьютер, оснащенный веб-камерой и скриптами (доступны ниже), которые связывают активность мозга участника с настройками камеры и положением камеры. Динамическое положение камеры стало возможным благодаря микроконтроллеру Arduino, принимающему сигналы от Raspberry Pi. Мы с нетерпением ждем дальнейшего развития, поскольку мы стремимся включить дополнительные параметры мозговых волн (частоты, связанные с морганием глаз и т. Д.) И функции камеры (т. Е. Оттенок, насыщенность, яркость и т. Д.).

Ниже приведены инструкции по созданию собственной системы кинотеатра с биологической обратной связью.

Удачных экспериментов

Шаг 1. Расходные материалы

Запасы
Запасы

Все, что вам нужно для создания собственного прототипа кинотеатра с биологической обратной связью, перечислено ниже.

  1. Мобильная ЭЭГ-гарнитура Neurosky Mindwave
  2. Raspberry Pi B + (лучше b +, больше USB-портов, но модель B тоже подойдет, если у вас есть USB-концентратор).

    1. Адаптер питания или аккумулятор Raspberry Pi
    2. Wifi Dongle -или- Подключение Ethernet (необходимо только во время настройки)
    3. Bluetooth Dongle см. Вики для получения информации о совместимых электронных ключах
    4. SD-карта (минимум 8 ГБ) с NOOBS.
  3. Arduino Подойдет любая плата, использующая Uno в этом руководстве. Также обратите внимание, что вы можете просто использовать ввод / вывод на Pi.

    1. Адаптер питания Arduino или аккумулятор
    2. Кабель USB A-B
  4. Веб-камера USB
  5. Миниатюрный комплект панорамирования и наклона
  6. Монитор с входом HDMI Или используйте VNC для удаленного управления пи с компьютера [руководство здесь]

    Кабель HDMI

  7. Клавиатура и мышь USB рекомендуют клавиатуру и мышь Bluetooth, чтобы минимизировать количество используемых портов USB.

Шаг 2: Настройте Raspberry Pi

Настройка Raspberry Pi
Настройка Raspberry Pi

1. Настройка оборудования

Подключите клавиатуру, мышь, ключ Bluetooth, ключ Wi-Fi (или Ethernet), веб-камеру, монитор через кабель HDMI и питание к Raspberry Pi

2. Настройте операционную систему

  • Включите питание, и ваш Pi должен запуститься. Установите Rasbpian OS, инструкции здесь:
  • При правильной загрузке и установке Raspian вы должны увидеть домашний рабочий стол [Изображение выше].

СОВЕТЫ:

  • Если соотношение сторон рабочего стола отключено, попробуйте перезагрузить Raspberry Pi. Если он по-прежнему выключен, посмотрите здесь, чтобы обновить соотношение сторон вручную.
  • Если при открытии текстового редактора специальные символы на клавиатуре не совпадают, см. Здесь, чтобы обновить конфигурацию клавиатуры.
  • Проверьте подключение к Интернету (это понадобится для установки библиотек во время установки). Здесь можно найти помощь в настройке Wi-Fi.

Шаг 3. Подключите гарнитуру Neurosky

Подключить гарнитуру Neurosky
Подключить гарнитуру Neurosky
Подключить гарнитуру Neurosky
Подключить гарнитуру Neurosky

1. Конфигурация Bluetooth

Прежде чем Pi сможет подключиться к Neurosky, нам нужно настроить Bluetooth:

На рабочем столе откройте «LXTerminal» (далее именуемый Терминалом). Выполните эту команду, чтобы устранить и обновить недостатки:

$ sudo apt-get update

Установите bluetooth с помощью этой команды:

$ sudo apt-get установить bluetooth

Установите удобную утилиту bluetooth для панели инструментов рабочего стола:

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

Перезагрузите Pi из терминала:

$ sudo перезагрузка

2. Проверьте соединение Bluetooth

  • Включите гарнитуру Neurosky
  • Из Терминального сканирования для устройств:

hcitool сканирование

Гарнитура Mindwave должна быть указана в списке, обратите внимание на MAC-адрес гарнитуры [изображение выше]

3. Установите библиотеки Neurosky

Теперь мы готовы установить библиотеки Neurosky Python и начать сбор его потока данных с помощью скрипта тестирования библиотеки:

Из Терминала установите утилиту github:

sudo apt-get install git-core

Клонируйте репозиторий github с библиотекой Neurosky Python:

sudo git clone

Нам нужно обновить файл MindwaveMobileRawReader.py, указав MAC-адрес вашей гарнитуры. К вашему сведению: имена файлов чувствительны к регистру

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

  • Обновите MAC-адрес, указанный в файле. Ctrl-X для завершения, Y для сохранения, Enter для выхода.
  • Соедините Neurosky и Pi и разрешите функцию автоматического подключения, если будет предложено ввести PIN-код, используйте «0000»:

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

$ sudo bluez-test-device доверенный XX: XX: XX: XX: XX: XX да

Установите библиотеку Python Bluetooth:

sudo apt-get install python-bluez

Запустите сценарий тестирования библиотеки, чтобы убедиться, что Pi может предварительно просмотреть поток данных. Вы должны увидеть поток данных [изображение выше]:

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

Шаг 4: Подключите веб-камеру USB с открытием CV

Подключите USB-веб-камеру с открытым резюме
Подключите USB-веб-камеру с открытым резюме

1. Установите OpenCV

Из Терминала:

$ sudo apt-get установить libopencv-dev python-opencv

Когда закончите, продолжайте:

$ sudo apt-get -f установить

Для хорошей меры:

$ sudo apt-get установить libopencv-dev python-opencv

Тестовая установка, попытавшись импортировать библиотеку:

$ питон

> импорт cv2

2. Протестируйте OpenCV на Python с помощью USB-веб-камеры.

  • На рабочем столе откройте «IDLE» (IDLE3 не открывайте!)
  • В меню "Файл" выберите "Новое окно". Скопируйте наш скрипт Cv-Blur-Test в новое окно и сохраните. Скрипт доступен здесь:
  • В меню «Выполнить» выберите «Выполнить модуль» (или нажмите F5). На запуск может уйти несколько секунд, но вы должны увидеть небольшой кадр с изображением прямой трансляции с веб-камеры, а видео должно быть расплывчатым. Поздравляем, OpenCV был установлен и успешно работает с вашей веб-камерой [Изображение выше].

Шаг 5: Подключите Arduino

1. Загрузите Arduino IDE.

Из Терминала:

sudo apt-get install arduino

2. Подключите Arduino и загрузите скетч

  • Подключите Arduino к Pi с помощью USB-кабеля A-B.
  • В меню «Пуск» на рабочем столе перейдите в раздел «Электроника» и откройте Arduino IDE. Скопируйте наш скетч arduino-serial-pi в IDE [ссылка ниже]. Это очень простой эскиз, который будет перемещать серводвигатели на основе ввода, поступающего по последовательному каналу. Мы будем отправлять данные по последовательному каналу на основе выходных данных мозговых волн, используя эскиз Python на последнем этапе, когда мы все соберем вместе.

Скетч Arduino-serial-pi онлайн здесь:

В среде Arduino IDE перейдите в меню «Инструменты», выберите «Последовательный порт» и выберите порт Arduino в списке, возможно, что-то вроде / dev / ttyACM0. Запишите порт

3. Отключите последовательную консоль

Загрузите и запустите сценарий, чтобы отключить последовательную консоль, чтобы последовательное соединение usb могло работать бесперебойно:

$ wget

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

$ tar -xvzf alamode-setup.tar.gz

$ cd alamode-setup

$ sudo./setup

$ sudo перезагрузка

К вашему сведению:

Если вы используете B +, может быть достаточно ввода / вывода для поддержки сервоприводов (смотрите здесь, чтобы настроить и использовать GPIO). Однако я заинтересован в добавлении дополнительных компонентов для будущих экспериментов с электроникой. Таким образом, установка первоначального прототипа с помощью Arduino обеспечивает множество прорывных электронных возможностей.

Шаг 6: Собираем все вместе

Image
Image

1. Окончательный сценарий Python

Прежде чем мы сможем добавить последний скрипт python в папку «python-mindwave-mobile», нам нужно изменить права доступа к папке. Из Терминала:

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

  • Откройте IDLE и запустите наш последний скрипт Python, доступный онлайн здесь: https://github.com/PrivateHQ/biofeedback-cinema/. Убедитесь, что он находится в папке python-mindwave-mobile. К вашему сведению: вам нужно будет обновить наш скрипт Python, указав фактический адрес порта Arduino.
  • Когда вы запускаете этот скрипт, должны произойти три вещи: 1) уровень вашего внимания будет указан в оболочке Python; 2) появится небольшая рамка, показывающая прямую трансляцию веб-камеры с изменением размытия в зависимости от уровня внимания; 3) двигатель (s) перемещаться по мере того, как уровень внимания передается на Arduino через последовательный порт [Видео выше].

Шаг 7: Улучшения и развитие

Raspberry Pi имеет ограниченную вычислительную мощность и изо всех сил пытается беспрепятственно запускать функции OpenCV. Это то, что я буду продолжать развивать и улучшать. Кроме того, я планирую включить дополнительные параметры мозговых волн (частоты, связанные с морганием глаз и т. Д.) И функции камеры (т. Е. Оттенок, насыщенность, яркость и т. Д.) В будущих итерациях.

Рекомендуемые: