Оглавление:
- Шаг 1. Расходные материалы
- Шаг 2: Настройте Raspberry Pi
- Шаг 3. Подключите гарнитуру Neurosky
- Шаг 4: Подключите веб-камеру USB с открытием CV
- Шаг 5: Подключите Arduino
- Шаг 6: Собираем все вместе
- Шаг 7: Улучшения и развитие
Видео: Кинотеатр с биологической обратной связью: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Автор проекта
Джессика Энн
Соавторы
- Грегори Хаф
- Салуд Лопес
- Педро Пейра
О
Экспериментальная система захвата видео, которая подключает мозг участника к функциям камеры через гарнитуру 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. Расходные материалы
Все, что вам нужно для создания собственного прототипа кинотеатра с биологической обратной связью, перечислено ниже.
- Мобильная ЭЭГ-гарнитура Neurosky Mindwave
-
Raspberry Pi B + (лучше b +, больше USB-портов, но модель B тоже подойдет, если у вас есть USB-концентратор).
- Адаптер питания или аккумулятор Raspberry Pi
- Wifi Dongle -или- Подключение Ethernet (необходимо только во время настройки)
- Bluetooth Dongle см. Вики для получения информации о совместимых электронных ключах
- SD-карта (минимум 8 ГБ) с NOOBS.
-
Arduino Подойдет любая плата, использующая Uno в этом руководстве. Также обратите внимание, что вы можете просто использовать ввод / вывод на Pi.
- Адаптер питания Arduino или аккумулятор
- Кабель USB A-B
- Веб-камера USB
- Миниатюрный комплект панорамирования и наклона
-
Монитор с входом HDMI Или используйте VNC для удаленного управления пи с компьютера [руководство здесь]
Кабель HDMI
- Клавиатура и мышь USB рекомендуют клавиатуру и мышь Bluetooth, чтобы минимизировать количество используемых портов USB.
Шаг 2: Настройте Raspberry Pi
1. Настройка оборудования
Подключите клавиатуру, мышь, ключ Bluetooth, ключ Wi-Fi (или Ethernet), веб-камеру, монитор через кабель HDMI и питание к Raspberry Pi
2. Настройте операционную систему
- Включите питание, и ваш Pi должен запуститься. Установите Rasbpian OS, инструкции здесь:
- При правильной загрузке и установке Raspian вы должны увидеть домашний рабочий стол [Изображение выше].
СОВЕТЫ:
- Если соотношение сторон рабочего стола отключено, попробуйте перезагрузить Raspberry Pi. Если он по-прежнему выключен, посмотрите здесь, чтобы обновить соотношение сторон вручную.
- Если при открытии текстового редактора специальные символы на клавиатуре не совпадают, см. Здесь, чтобы обновить конфигурацию клавиатуры.
- Проверьте подключение к Интернету (это понадобится для установки библиотек во время установки). Здесь можно найти помощь в настройке Wi-Fi.
Шаг 3. Подключите гарнитуру 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
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: Собираем все вместе
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. Это то, что я буду продолжать развивать и улучшать. Кроме того, я планирую включить дополнительные параметры мозговых волн (частоты, связанные с морганием глаз и т. Д.) И функции камеры (т. Е. Оттенок, насыщенность, яркость и т. Д.) В будущих итерациях.
Рекомендуемые:
Система капельного орошения с подключением к Интернету (ESP32 и Blynk), управляемая с обратной связью по влажности почвы: 5 шагов
Система капельного орошения, управляемая с обратной связью по влажности почвы (ESP32 и Blynk): беспокойтесь о своем саду или растениях, когда вы уезжаете в отпуск, или забывайте ежедневно поливать растение. Что ж, вот решение. Это система капельного орошения с контролируемой влажностью почвы и глобально подключенная система, управляемая ESP32 на программном уровне i
Устройство открывания гаражных ворот с обратной связью с использованием Esp8266 в качестве веб-сервера: 6 шагов
Устройство открывания гаражных ворот с обратной связью с использованием Esp8266 в качестве веб-сервера: Привет, я покажу вам, как сделать простой способ открытия ворот гаража. ESP8266 закодирован как веб-сервер, дверь может быть открыта повсюду в мире. обратная связь, вы будете знать, открыта или закрыта дверь в режиме реального времени - Просто, всего один ярлык, чтобы я
Применение выдвижной кнопки с вибрационной обратной связью: 7 шагов (с изображениями)
Применение выдвижной кнопки с вибрационной обратной связью: в этом уроке мы сначала покажем вам, как использовать Arduino Uno для управления вибромотором с помощью расширенной кнопки. В большинстве руководств по кнопкам используется кнопка на физической макетной плате, тогда как в этом руководстве кнопка должна быть
WalabotEye - объектный трекер с тактильной обратной связью: 11 шагов
WalabotEye - средство отслеживания объектов с тактильной обратной связью: для слабовидящих используйте это, чтобы лучше понимать окружающий мир
Moonwalk: протез с тактильной обратной связью: 5 шагов
Moonwalk: протез с тактильной обратной связью: Описание: Moonwalk - это чувствительный к давлению протез для людей с нарушенной тактильной чувствительностью (симптомы, подобные нейропатии). Moonwalk был разработан, чтобы помочь людям получить полезную тактильную обратную связь, когда их ноги соприкасаются с