Mindflex EEG con datos por Bluetooth (1 / 9 paso)

Paso 1: Algunos antecedentes

No dude en saltar este fondo, pero explica por qué algunas cosas se hacen como son. Por seguridad, auriculares de EEG deben ser aisladas de cualquier elemento conectado a la red. El Mindflex, Mindwave Mobile y un número de otros auriculares de EEG utilizan un chip ASIC de ThinkGear. Este chip se comunica través de TTL serial con una radio, y la radio a su vez se comunica con otros dispositivos, como la estación base del juguete Mindflex. Esto aísla eléctricamente el auricular.

Desafortunadamente, mientras que radio la Mindwave Mobile es Bluetooth, el juguete Mindflex utiliza otro tipo de radio. Para utilizar el EEG Mindflex con otros dispositivos, simplemente conectaremos el ThinkGear chip recibir y transmitir las líneas a una radio Bluetooth HC-06 (sobre $10 con cables).

Bueno, quizás no es tan simple. Mientras que es todo lo que necesita en cuanto a hardware, hay un desafío de software. El ASIC ThingGear tiene varios modos de funcionamiento. Como incrustado en el juguete Mindflex, un resistor SMD establece en 0 x 01 el modo por defecto. En modo 0 x 01, el chip transmite a 9600 baudios, y envía procesado datos cada segundo: meditación, concentración y valores de diversas partes del espectro de energía, probablemente derivado de una FFT. Pero queremos tener acceso a los datos sin procesar del EEG. Esto requiere cambiar los auriculares Mindflex a modo 0 x 02. En modo 0 x 02, el chip transmite a 57600 baudios, y además la misma actualización una vez por segundo que hace en el modo 0 x 01, envía datos en sensor EEG diferencialmente amplificados bruto 512 veces por segundo. Este es el modo en que los auriculares Mindwave Mobile funciona por defecto, así que si puede cambiar el auricular de este modo, no sólo obtengo datos en bruto, pero usted debe ser capaz de usar con todas las apps compatibles Mindwave Mobile.

Uno puede cambiar el Mindflex a modo 0 x 02 con algún trabajo de soldadura SMD, pero soy terrible en la soldadura (como verás en las imágenes más adelante), por lo que no es una opción para mí. Además, esta solución hace que el auricular ya no trabajo con el resto de los juguetes, y no me gusta romper cosas.

Afortunadamente, el protocolo de comunicaciones para el ThinkGear chip le permite cambiar al modo 0 x 02 simplemente enviando 0 x 02 a su línea de recepción serial. Mientras que esto no sobrevive powercycling, sin embargo, debería hacer cosas más simples: Asegúrese de conectar la línea de recepción de la viruta de la radio de Bluetooth transmisión de línea y enviar 0 x 02. Pero hay un enganche. El 0 x 02 debe ser enviada a 9600 baudios, mientras que los datos posteriores a 57600 baudios. Y lamentablemente no hay forma de controlar dinámicamente en uso velocidad de transmisión de la radio Bluetooth HC-06.

Pero hay una solución que sorprendentemente funciona. 9600 = 57600 / 6. Si pudieras solo un poco seis veces a 57600 baudios, sería lo mismo que enviar una vez a 9600 baudios. El único enganche que al enviar cosas via RS232 serial o su variante TTL, no llegar a controlar cada bit. Por el contrario, suponiendo que la configuración de comunicaciones 8N1 habitual, los bits se empaquetan en bytes, con cada byte a partir de una "marca" extra 0 pero y terminando con un extra de 1 bit "stop". La marca y la parada están fuera de nuestro control. Pero podemos trabajar alrededor de esto. Resulta que si enviamos la cadena hexadecimal 0 x 00, 0xF8, 0 x 00, 0 x 00, 0 x 00, 0xE0 a 57600 baudios y luego pausa para por lo menos la longitud de una 9600 baudios bits (un milisegundo será más que suficiente; al ralentí es lo mismo que enviar de 1 en el protocolo RS232), que es como enviar 0 x 02, con cuatro fallos (y algunos ceros adicionales en el frente) , cada error que ser 1/6 de una broca de longitud. Si tenemos suerte, el receptor de 9600 baudios ignorará los fallos corto. Y sorprendentemente funciona! El chip cambia al modo 0 x 02, inicia transmisión en baudios 57600, y todo está bien. De hecho, con la HC-06 como el transmisor funcione al 100% del tiempo (usando un Brainlink, a veces requiere un reintento).

Así que hay tres componentes del proyecto:

I. programar la radio Bluetooth HC-06 a 57600 baudios. Esta configuración sobrevive powercycling. Esto es complicado pero debe hacerse sólo una vez.

II. la soldadura de conexiones para los auriculares para conectar a la radio HC-06.

III. Asegúrese que el auricular pasa a modo 0 x 02 enviando la cadena mágica hexagonal (o alguna variante en él) a 57600 baudios. Esto podría hacerse mediante la construcción de la cadena mágica en software de EEG, o escribiendo un sencillo programa que envía la cadena hexagonal mágica al dispositivo, y luego el dispositivo se puede utilizar con cualquier software compatible con el móvil Mindwave. Hice ambos: escribí algunos software de EEG en Java que puede ejecutar en un PC (probablemente también Mac y Linux pero no hemos probado allí) y que envía la cadena mágica antes de mostrar los datos crudos y procesados, y he hecho una aplicación Android sencilla que simplemente envía la cadena mágica (o una variante de ella) a 57600 baudios y activa el modo compatible Mindwave Mobile. Ambos programas son de código abierto.

Artículos Relacionados

Conectar Android con Arduino por Bluetooth Capitulo 1

Conectar Android con Arduino por Bluetooth Capitulo 1

En este primer capitulo veremos como conectar y configurar un modulo Bluetooth HC-05 para conectarlo con nuestro móvil Android.En los siguientes capítulos veremos como hacer una pequeña aplicación para situado y apagar un led desde nuestro móvil.El c
Hacer una aplicación Android para controlar por Bluetooth un Arduino controlar su casa mediante RF, con AppInventor

Hacer una aplicación Android para controlar por Bluetooth un Arduino controlar su casa mediante RF, con AppInventor

Sé que el título es un buen bocado, pero es exactamente lo que es.Hace algún tiempo, hice un instructivo que describe un circuito alrededor de un atmega328 (o un 'Arduino') que era disuadir a ladrones simulando ser en casa.Poco a poco ese sistema en
Programar tu Arduino con un dispositivo Android por Bluetooth

Programar tu Arduino con un dispositivo Android por Bluetooth

Hola mundo, en este Instructable quiero mostrarle, cómo programar tu Arduino Uno con tu dispositivo Android por Bluetooth. Es muy sencillo y tan barato. También nos permite programar el Arduino donde nunca queremos sobre bluetooth inalámbrico... Así
Robot controlado por Bluetooth con la cámara inalámbrica espía

Robot controlado por Bluetooth con la cámara inalámbrica espía

En este instructables que te mostrará cómo hacer robot inalámbrico controlada Bluetooth module.the mejor característica de este robot es inalámbrico, trabajando más de wiffi.in sobre el cuadro que usted puede ver mi trabajo teléfono camera.my teléfon
CxemCAR 1 - coche de RC de Control Android por Bluetooth

CxemCAR 1 - coche de RC de Control Android por Bluetooth

este es un proyecto de código abierto del coche del RC con control de teléfono Android a través de Bluetooth. El controlador se utiliza con Micro net: FEZ Panda II, pero puede utilizar cualquier controlador funciona con Micro net base (Netduino, de l
Coche RC simple para principiantes (controlar Android por Bluetooth)

Coche RC simple para principiantes (controlar Android por Bluetooth)

Este es un proyecto simple de Android Bluetooth coche con Bluetooth control. Controlador Arduino se utilizaPara controlar el coche utiliza dispositivo Android con un acelerómetro incorporado. Inclinación hacia adelante - coche avanza, inclinación hac
Cómo Control arduino por bluetooth (PC, pocket PC PDA)

Cómo Control arduino por bluetooth (PC, pocket PC PDA)

Yo quería hacer posible controlar una placa arduino desde mi teléfono.Por lo que pude controlar otros dispositivos.la forma más sencilla parece ser mediante bluetooth.pero cuando recibí las piezas necesarias se quiere absolutamente tan simple como yo
Frambuesa de Pi de Robot controlado por Bluetooth

Frambuesa de Pi de Robot controlado por Bluetooth

este tutorial se basa en un Instructable anterior -Robustezas del edificio con Raspberry Pi y PythonEl objetivo es presentar un ejemplo de cómo configurar una conexión Bluetooth en serie con Arduino para controlar un robot de Raspberry Pi. Pero permi
Robot Controlado Por Bluetooth

Robot Controlado Por Bluetooth

Prototipo de robot 4 x 4 RC, en el cual se puede manipular el giro del motor (adelante, atras, izquierda y derecha) y su velocidad de 0 a 255 por medio de bluetooth.Paso 1: Materiales Los materiales aumentando para este proyecto son muy comunes y ban
Conectar Arduino Uno con Android via Bluetooth

Conectar Arduino Uno con Android via Bluetooth

En este proyecto un módulo Bluetooth serial se utiliza para crear una conexión entre Arduino Uno y una aplicación para Android que he creado con MIT App Inventor.Arduino escucha los comandos a la luz algunos LED o mostrar su estado. Además, una inter
Robot controlado por Bluetooth usando Arduino

Robot controlado por Bluetooth usando Arduino

Bluetooth coche controlada mediante el uso de Arduino uno de teléfono móvil con AndroidPaso 1: Aparato requerido:1 X Arduino Atmega3281 módulo X Bluetooth (HC-06)1 compatible con chasis de X 4 X (o) 2 x ruedas al chasisSoporta 4 x motores (o) x 2 mot
Reloj despertador con infrarrojo y Bluetooth altavoces

Reloj despertador con infrarrojo y Bluetooth altavoces

INTRODUCCIÓNHola, mi nombre es Ben Hur Gonçalves, soy Ingeniero Mecatrónico graduado en Universidade de São Paulo, Brasil en 2010. Hoy en día trabajo con bienes raíces, pero hacer estos proyectos con arduino en fines de semana, sólo por diversión. Es
Mini coche controlado por bluetooth acelerómetro

Mini coche controlado por bluetooth acelerómetro

Hola amigos,Hace poco entré en el mundo de arduino y su impresionante open source programación y desarrollo. Así que decidí hacer un coche mini cool acelerómetro controlado por Bluetooth. Esto suena increíble pero el concepto es simple es controlado
Cosa de Sparkfun: Cómo activar IFTTT evento y enviar más datos por correo electrónico

Cosa de Sparkfun: Cómo activar IFTTT evento y enviar más datos por correo electrónico

Yo estaba jugando con Sparkfun ESP8266 cosa y IFTTT fabricante de canal. Quería desencadenar un evento IFTTT y luego enviar un correo electrónico a mí mismo con datos adicionales.Por ejemplo, activar Inicio evento de seguridad, envío de datos extras,