Tabla de contenido:

Cine de biorretroalimentación: 7 pasos
Cine de biorretroalimentación: 7 pasos

Video: Cine de biorretroalimentación: 7 pasos

Video: Cine de biorretroalimentación: 7 pasos
Video: Biorretroalimentación en trastornos esófago-gástricos (rumiación, eructos supra-gástricos) 2024, Mes de julio
Anonim
Image
Image
Cine de biorretroalimentación
Cine de biorretroalimentación

Autor del proyecto

Jessica Ann

Colaboradores

  • Gregory Hough
  • Salud Lopez
  • Pedro Peira

Sobre

Un sistema de captura de video experimental que conecta el cerebro de un participante con las funciones de la cámara a través de un auricular lector de EEG Neurosky Mindwave. El sistema Biofeedback Cinema funciona en lugar de un director de fotografía tradicional, en lugar de dar la agencia de la composición a la propia participante a través de una interfaz personalizada BRAIN to CAMERA. El proyecto se desarrolló en colaboración con los asistentes al taller Gregory Hough, Salud López y Pedro Peira. Puedes leer los resultados del taller en:

Configuración del prototipo

El sistema Biofeedback Cinema se presta a muchas aplicaciones potenciales. Para este instructable, hemos preparado una demostración del sistema que analiza el nivel de enfoque / atención del participante (un solo entero) y lo traduce a la posición de la cámara (a través de pan y tilt) y al enfoque de la cámara (internamente a través de OpenCV). Todo esto es posible gracias a una conexión bluetooth entre un auricular Neurosky EEG Reader y una Raspberry Pi.

La Raspberry Pi es una pequeña computadora equipada con una cámara web y secuencias de comandos (disponibles a continuación) que conectan la actividad cerebral del participante con la configuración y la posición de la cámara. La posición dinámica de la cámara es posible a través de un microcontrolador Arduino que recibe señales de la Raspberry Pi. Esperamos un mayor desarrollo, ya que nuestro objetivo es incluir parámetros adicionales de ondas cerebrales (frecuencias asociadas con parpadeos, etc.) y funciones de la cámara (es decir, tono, saturación, brillo, etc.).

A continuación se muestran las instrucciones para crear su propio sistema de cine Biofeedback.

¡Feliz experimentando

Paso 1: Suministros

Suministros
Suministros

Todo lo que necesita para construir su propio prototipo de Biofeedback Cinema se enumera a continuación.

  1. Auriculares EEG móviles Neurosky Mindwave
  2. Raspberry Pi B + (b + es mejor, más puertos USB, pero un modelo B también está bien si tiene un concentrador USB).

    1. Adaptador de corriente Raspberry Pi o paquete de baterías
    2. Wifi Dongle -o- Conexión Ethernet (solo necesaria durante la configuración)
    3. Dongle Bluetooth, consulte la wiki para ver los dongles compatibles
    4. Tarjeta SD (al menos 8 GB) con NOOBS.
  3. Arduino Cualquier placa está bien, usando Uno en este Instructable. También tenga en cuenta que puede usar la E / S en el Pi.

    1. Adaptador de corriente Arduino o paquete de baterías
    2. Cable USB A-B
  4. Cámara web USB
  5. Mini kit de giro e inclinación
  6. Monitor con entrada HDMI O use VNC para controlar remotamente su pi desde su computadora [tutorial aquí]

    Cable HDMI

  7. Teclado y ratón USB recomiendan el teclado y el ratón bluetooth para minimizar el uso de puertos USB.

Paso 2: Configura Raspberry Pi

Configurar Raspberry Pi
Configurar Raspberry Pi

1. Configurar el hardware

Conecte el teclado, el mouse, el dongle bluetooth, el dongle wifi (o ethernet), la cámara web, el monitor mediante un cable HDMI y la alimentación a su Raspberry Pi

2. Configurar el sistema operativo

  • Encienda la alimentación y su Pi debería iniciarse. Instale el sistema operativo Rasbpian, instrucciones aquí:
  • Si arranca y Raspian está instalado correctamente, debería ver el escritorio de la casa [Imagen de arriba].

SUGERENCIAS:

  • Si la relación de aspecto del escritorio está apagada, intente reiniciar su Raspberry Pi. Si aún está apagado, mire aquí para actualizar la relación de aspecto manualmente.
  • Si abre un editor de texto y los caracteres especiales de su teclado no coinciden, busque aquí para actualizar la configuración de su teclado.
  • Pruebe su conexión a Internet (la necesitará para instalar bibliotecas durante la configuración). Busque aquí ayuda para configurar la red wifi.

Paso 3: conecte los auriculares Neurosky

Conecte los auriculares Neurosky
Conecte los auriculares Neurosky
Conecte los auriculares Neurosky
Conecte los auriculares Neurosky

1. Configuración de Bluetooth

Antes de que el Pi pueda conectarse al Neurosky, necesitamos configurar el bluetooth:

En el escritorio, abra "LXTerminal" (denominado Terminal de aquí en adelante). Ejecute este comando para resolver y actualizar las deficiencias:

$ sudo apt-get update

Instale bluetooth con este comando:

$ sudo apt-get instalar bluetooth

Instale la práctica utilidad bluetooth de la barra de herramientas de escritorio:

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

Reinicie Pi desde la terminal:

$ sudo reiniciar

2. Pruebe la conexión Bluetooth

  • Encienda los auriculares Neurosky
  • Desde el terminal de búsqueda de dispositivos:

escaneo de hcitool

Los auriculares Mindwave deben aparecer en la lista, tome nota de la dirección MAC de los auriculares [imagen de arriba]

3. Instale las bibliotecas de Neurosky

Ahora estamos listos para instalar las bibliotecas de Neurosky Python y comenzar a recoger su flujo de datos con el script de prueba de la biblioteca:

Desde la Terminal, instale la utilidad github:

sudo apt-get install git-core

Clonar el repositorio de github con la biblioteca Neurosky Python:

sudo git clone

Necesitamos actualizar el archivo MindwaveMobileRawReader.py con la dirección MAC de su auricular. FYI: Los nombres de archivo distinguen entre mayúsculas y minúsculas

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

  • Actualice la dirección MAC que aparece en el archivo. Ctrl-X para terminar, Y para guardar, Enter para salir.
  • Empareje el Neurosky y el Pi y permita la función de conexión automática, si se le solicita un PIN, use "0000":

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

$ sudo bluez-test-device confiable XX: XX: XX: XX: XX: XX sí

Instale la biblioteca de Python Bluetooth:

sudo apt-get install python-bluez

Ejecute el script de prueba de la biblioteca para asegurarse de que Pi pueda obtener una vista previa del flujo de datos. Debería ver la transmisión de datos [imagen de arriba]:

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

Paso 4: Conecte la cámara web USB con CV abierto

Conecte la cámara web USB con CV abierto
Conecte la cámara web USB con CV abierto

1. Instale OpenCV

Desde la Terminal:

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

Cuando termine, continúe:

$ sudo apt-get -f install

Para una buena medida:

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

Pruebe la instalación intentando importar la biblioteca:

$ python

> importar cv2

2. Pruebe OpenCV en Python con una cámara web USB

  • En el escritorio, abra "IDLE" (¡no abra IDLE3!)
  • En el menú Archivo, seleccione Nueva ventana. Copie nuestro script Cv-Blur-Test en la nueva ventana y guárdelo. Script disponible aquí:
  • En el menú Ejecutar, seleccione Ejecutar módulo (o presione F5). Es posible que tarde unos segundos en comenzar, pero debería ver aparecer un pequeño cuadro con la transmisión de su cámara web en vivo, y el video debería verse borroso. Felicitaciones, OpenCV se instaló y funciona correctamente con su cámara web [Imagen de arriba].

Paso 5: Conecta Arduino

1. Descarga Arduino IDE

Desde la Terminal:

sudo apt-get install arduino

2. Conecte Arduino y Cargue Sketch

  • Conecte el arduino al Pi con el cable USB A-B.
  • Desde el menú de inicio del escritorio, vaya a Electrónica y abra Arduino IDE. Copie nuestro boceto arduino-serial-pi en el IDE [Enlace a continuación]. Este es un boceto muy básico que moverá los servomotores en función de la entrada que venga del serial. Enviaremos datos a través de la serie en función de la salida de ondas cerebrales, utilizando un boceto de Python en el último paso cuando juntamos todo.

Boceto de Arduino-serial-pi en línea aquí:

En el IDE de Arduino, vaya al menú Herramientas, seleccione Puerto serie y seleccione el puerto Arduino en la lista, probablemente algo como / dev / ttyACM0. Anote el puerto

3. Deshabilitar la consola serie

Descargue y ejecute un script para deshabilitar la consola serial para que la conexión serial USB pueda funcionar sin problemas:

$ wget

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

$ tar -xvzf alamode-setup.tar.gz

$ cd configuración de alamode

$ sudo./setup

$ sudo reiniciar

FYI:

Si está utilizando el B +, es posible que haya suficientes E / S para admitir los servos (mire aquí para configurar y usar el GPIO). Sin embargo, estoy interesado en agregar componentes adicionales para la experimentación futura de cerebro a electrónica. Por lo tanto, configurar el prototipo inicial con un arduino garantiza muchas posibilidades electrónicas de ruptura.

Paso 6: Poniéndolo todo junto

Image
Image

1. Secuencia de comandos final de Python

Antes de que podamos agregar el script de Python final a la carpeta "python-mindwave-mobile", necesitamos cambiar los permisos de la carpeta. Desde la Terminal:

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

  • Abra IDLE y ejecute nuestro script Python final, disponible en línea aquí: https://github.com/PrivateHQ/biofeedback-cinema/ Asegúrese de que esté ubicado en la carpeta python-mindwave-mobile. FYI: Deberá actualizar nuestro script Python con su dirección de puerto Arduino real.
  • Cuando ejecute este script, debería suceder tres cosas: 1) Su nivel de atención se enumerará en Python Shell, 2) Aparece un pequeño cuadro que muestra la transmisión en vivo de la cámara web con el desenfoque cambiando según el nivel de atención, 3) el motor (s) muévete a medida que el nivel de atención se transmite al arduino a través de la serie [Video de arriba].

Paso 7: Mejoras y desarrollo

La Raspberry Pi tiene una potencia de procesamiento limitada y tiene dificultades para ejecutar las funciones de OpenCV sin problemas. Esto es algo que continuaré desarrollando y mejorando. Además, planeo incluir parámetros adicionales de ondas cerebrales (frecuencias asociadas con parpadeos, etc.) y funciones de la cámara (es decir, tono, saturación, brillo, etc.) en futuras iteraciones.

Recomendado: