Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Señales EEG a movimiento del raton del PC

 

Hola a todos.

 

Tras mucho tiempo leyendoos me he decido a pedir un poco de ayuda si fuera posible. Estoy con un proyecto de domotica para una aplicacion mediante BCI y la estoy programando con Labview, la cosa es que tengo ya la parte que capta las señales del BCI (son señales de movimientos de musculos de la cara o del cerebro), por lo cual estan en hz y ahora necesito coger estas señales y pasarlas a un movimiento del raton del PC, el tema del movimiento del raton del PC mas o menos lo tengo, pero no se como enlazar estas señales a que realicen el movimiento del raton del PC.

Por ejemplo las señales que moverian el raton hacia arriba son las de frecuencia 100 a 250 hz y las que lo moverian hacia abajo serian las de -100hz a -250 hz, la banda comprendida entre -100 a 100 hz el raton esatria kieto.

Os adjunto la parte de adquisiion de datos por si viendola os ayuda, la verdad que estoy totalmente atascada en esto.

Muchas gracias por adelantado.

 

0 kudos
Mensaje 1 de 36
4.388 Vistas

Añado lo siguiente:

 

El programa creado es el mostrado en la siguiente figura numero de la figura. En él, se van leyendo palabras de 56 Bytes desde el USB y se va refrescando esta lectura según el tiempo indicado por el usuario desde su interfaz gráfica.

 

Por si sirve de ayuda.

0 kudos
Mensaje 2 de 36
4.380 Vistas

Hola,

 

Te paso unos cuantos links que creo que te pueden ser de ayuda:

 

http://zone.ni.com/devzone/cda/epd/p/id/2315

 

https://decibel.ni.com/content/docs/DOC-17667

 

Y este por si lo que quieres es simplemente ver que funciona (puedes crear cuatro controles nuevos, y establecer el foco en el que corresponda):

 

http://digital.ni.com/public.nsf/allkb/CE444CEDEEBA5776862575D6005DD62D?OpenDocument

 

Ya me contarás si consigues resolver tu problema, un saludo!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 kudos
Mensaje 3 de 36
4.357 Vistas

Muchisimas gracias Jorge C, el tema de movimiento del rato creo q ya lo tengo y ademas varios d esos enlaces que me comentas me ayudaron bastante, el segundo no puedo abrirlo ya que tengo el Labview 8.5 pero bueno creo q lo tengo solucionado, ahora el problema que no acabo a resolver, es como el .vi que me recoge las señales lo enlazo con el .vi que mueve el raton, es decir como con las señales que obtengo hago que ese raton se mueva, a ver si alguien tiene alguna ideilla por aqui xq la verdad que estoy volviendome loca con ese tema.

Muchas gracias otra vez.

0 kudos
Mensaje 4 de 36
4.355 Vistas

De nada!

 

Yo lo que haría es al arrancar el VI poner el cursor en una posición media de la pantalla, y en cada iteración del bucle sumar o restar un número fijo (o variable para que de ser una actividad más grande vaya más rápido) al valor de la iteración anterior y volver a llamar a la función externa para mover el cursor.

 

Al ver tu VI, no sé exactamente como sacas la información de la frecuencia, ni a que frecuencia te refieres cuando dices que vas a utilizarla para mover el cursor. En la señal de EEG hay varias bandas de frecuencia, como bien sabrás, y no sé como haces para sacar una única frecuencia de esa señal. Además... cuando hablas de frecuencias negativas me he descolocado un poco.

 

En cualquier caso, si la señal que entra en el VI ya tiene codificada esa información y lo que hay que hacer es leer directamente un valor, y dependiendo de éste cambiar la posición, se puede hacer muy fácilmente.

 

Si me puedes explicar un poco mejor estas cosillas te intento ayudar en lo que pueda.

 

Un saludo!!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 kudos
Mensaje 5 de 36
4.352 Vistas

Veamos q si creo q lo que explico quizas este demasiado lioso, olvidate de las señales de frecuencia negativa que soy un poco tonta y me equivoque totalmente jaja

 

El VI que adjunto es el que realice para que un dispositivo basado en BCI recoga las señales EEG o de movimiento facial de una persona, es decir me recoge las señales y me las muestra en las graficas del VI, tras muuuchas pruebas con el aparato, llegamos a la conclusion de que x ej, cuando el usuario movia la frente hacia arriba la frecuencia de la señal oscilaba entre 150hz y 250 hz aproximadamente y en caso de que estuviera sin hacer movimiento ninguno la señal solo variaba entre la franja 140a 100hz (aproximado smpr), por eso considere que esto podia genera que el raton fuera hacia arriba, y en caso de que la persona "arrugara la frente" la oscilacion era por debajo de 100 hz siempre, los movimientos laterales del raton estan en pruebas basicamente porque no encontramos un patron para ellos, pero de momento lo que quiero es el movimiento hacia arriba y abajo y tengo esto que te comento.

Espero haberme explicado algo mejor ahora.Muchas gracias por la ayuda a ver si podemos sacar algo en claro y puedo realizar esto jeje.

 

 

0 kudos
Mensaje 6 de 36
4.348 Vistas

Ok, entonces entiendo que lo que tienes que hacer con señal que entra en el sistema es comprobar si es mayor o menor que un determinado valor, sin hacer ninguna tranformada adicional.

 

Si es así, simplemente pon una función "greater than?" y le cableas por ejemplo el valor 150. Cablea la salida de dicha función a una estructura case y según sea mayor o menor, mueves hacia un lado u hacia otro, de la manera que vimos más arriba.

 

Ya me dirás si consigues que se mueva!!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 kudos
Mensaje 7 de 36
4.344 Vistas

Ok Jorge voy a intentar hacer eso nada mas que llegue a casa y a ver como sale, te comento con lo que sea, pero una preguntilla?Ahora mismo tengo los 2 VI's por separado, es decir uno el de las señales y el otro el del movimiento del rato, creo q seria mejor meter todo en un VI y asi poder "cablearlos" no?seria posible tener los dos juntos verdad?esque me puse hacerlos por separado y no estoy segura que ahora pueda meter lo del movimiento del raton en el de las señales.

Nada mas que pruebe lo que me dices comento a ver que tal, aunque espero que me salga jeje.

muchas gracias

0 kudos
Mensaje 8 de 36
4.337 Vistas

Hola!

 

Puedes hacerlo como prefieras. Si quieres tenerlos separados, puedes hacer que el VI que mueve el raton tenga unos parámetros de entrada. Después utilizas este VI como subVI del principal pasándole estos parámetros y ya está.

 

Si pones el código puede que te resulte más fácil. Si necesitas ayuda para esto dímelo también.

 

Un saludo!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
0 kudos
Mensaje 9 de 36
4.335 Vistas

Ok a lo largo de esta semana espero poder hacerlo, sino a muy tardar el finde lo tengo nikelado, a ver como hago lo de los dos VI porque con el tema de los subVI me lio pero bueno, si tengo alguna dudo te comento y te mantengo informado q la ayuda que me estar prestando lo merece jeje.

0 kudos
Mensaje 10 de 36
4.329 Vistas