construcción de una prótesis de mano, controlada a … para la realización del presente trabajo...

135
Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex. Andrés Mauricio Cruz Rodríguez Universidad Nacional de Colombia Facultad de Ciencias, Departamento de Física Maestría en Ciencias Física – Profundización Bogotá, Colombia 2016

Upload: dohanh

Post on 14-May-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a

través del análisis de una unidad Mindflex.

Andrés Mauricio Cruz Rodríguez

Universidad Nacional de Colombia Facultad de Ciencias, Departamento de Física Maestría en Ciencias Física – Profundización

Bogotá, Colombia 2016

Page 2: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 3: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a

través del análisis de una unidad Mindflex.

Andrés Mauricio Cruz Rodríguez

Tesis o trabajo de investigación presentada(o) como requisito parcial para optar al título

de:

MAGISTER EN CIENCIAS – FÍSICA. PROFUNDIZACIÓN

Director: Doctor PEDRO HERNÁN SÁNCHEZ MACHET.

Línea de Investigación:

Física Experimental aplicada

Universidad Nacional de Colombia Facultad de Ciencias, Departamento de Física Maestría en Ciencias Física – Profundización

Bogotá, Colombia 2016

Page 4: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 5: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Agradecimientos Para la realización del presente trabajo agradezco en primera instancia a Dios por

permitirme construir un nuevo proyecto en el ámbito profesional. También agradezco a mi

familia por su apoyo incondicional en los aspectos económicos y emocionales.

En tercer lugar quiero agradecer enormemente a mi Director de proyecto, el Profesor

Pedro Hernan Sanchez Machet, quien con su dedicación y amplio saber en el campo de

la física, alimentó mi espíritu investigativo y me enseñó a dedicarme a la ciencia con

pasión y esfuerzo; agradezco su compromiso para conmigo y el proyecto, aun en sus

momentos difíciles de salud, en donde se hacia mas fuerte y mas constante para

colaborarme.

Page 6: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 7: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Resumen y Abstract V

Resumen El documento resume en términos generales la propuesta de trabajo en torno a la construcción de una prótesis de mano controlada a través de señales EEG, justificando los elementos fundamentales de la escogencia del tema, planteando los objetivos, los avances conseguidos y la metodología llevada a cabo para alcanzar los mismos. Dentro de la metodología se establecerán algunos parámetros teóricos de lo que es conocido como una unidad Mindflex creada por la empresa Matel® y como un micro controlador puede ser expuesto a procesos de ingeniería inversa para conocerlo detalladamente y ampliar la gama de posibles aplicaciones.

Palabras clave: Electroencefalografía, Mindflex, interfaz, micro controlador, actuadores, Arduino.

Page 8: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

VI Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Abstract The document outlines in general terms the proposed work on the construction of a prosthetic hand controlled by EEG signals, justifying the fundamental elements of the choice of subject, raising the objectives, the progress made and the methodology carried out to achieve the same. Within the methodology some theoretical parameters of what is known as a MindFlex unit created by the company Matel be established and as a microcontroller can be exposed to reverse processes re contrive to know in detail and expand the range of possible applications.

Keywords: Electroencephalography, Mindflex , interface, microcontroller , actuators, Arduino.

Page 9: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Contenido VII

Contenido

Tabla de contenido

1. Generalidades........................................................................................................31.1 ReseñaHistórica...........................................................................................................31.2 InterfacesdeComunicaciónAtravésdeEEG.(BCI).......................................................5

2. ReferentesTeóricos................................................................................................72.1 SeñalesElectroencefalográficas(EEG)...........................................................................7

2.1.1 Potencialdeaccióngeneradoenlasneuronas............................................................82.1.2 GeneracióndelasseñalesEEG...................................................................................102.1.3 Loselectrodos,clasificaciónytiposdeconexión.......................................................11

2.2 Configuracióndelacortezacerebral...........................................................................142.3 ClasificacióndelospotencialesdelasseñalesEEG......................................................17

2.3.1 Ritmoscerebrales.......................................................................................................192.3.2 Potencialesevocados.................................................................................................20

2.4 Potencialesrelacionadosconeventos(P300)..............................................................21

3. Capítulo3.Procesamientoyanálisisdeseñales....................................................233.1 Análisistiempofrecuencia..........................................................................................233.2 Análisistiempofrecuencia(t-f)utilizandoWavelets...................................................24

3.2.1 DescomposiciónWavelet...........................................................................................243.2.2 AnálisisdeseñalesEEG..............................................................................................28

4. Desarrolloexperimentalinicial.............................................................................314.1 UnidadMindflex.........................................................................................................324.2 ElArduinoONEcomomicrocontroladorprimario......................................................354.3 Obtencionprimariadeseñales...................................................................................39

4.3.1 Montajefísicopreliminar...........................................................................................404.3.2 AdaptacionesdeFuncionalidad.................................................................................49

5. Desarrolloexperimentalfinal:Modificacióndelaetapaderecepcióndedatosyaplicaciónalaprótesisdemano..................................................................................59

5.1 Nuevosdispositivosparamejoradelafuncionalidad..................................................595.1.1 ElArduinoMINIcomoNuevoMicroControlador......................................................595.1.2 ModuloFTDI32...........................................................................................................615.1.3 ModuloHC-05............................................................................................................63

Page 10: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

VIII Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

5.2 Configuracióndelmontajefinal..................................................................................65

5.2.1 Diseñodelaprotesis...................................................................................................665.2.2 Montajefísicofinal......................................................................................................67

6. Conclusionesyrecomendaciones..........................................................................756.1 Conclusiones...............................................................................................................756.2 Recomendaciones.......................................................................................................76

Page 11: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Contenido IX

Lista de figuras

Figura1EstructuraGeneralDeUnaBci...........................................................................................................6Figura2LaNeuronaYSuRepresentación.........................................................................................................8Figura3PotencialDeAcciónEnLaMembranaDeUnaNeurona.....................................................................9Figura4GeneraciónDeUnaSeñalEeg.TomadoDe[8]..................................................................................10Figura5ElectrodosSuperficiales.....................................................................................................................11Figura6ElectrodosCorticales.........................................................................................................................12Figura7ElectrodosProfundosOIntracorticales.............................................................................................12Figura8ConfiguraciónDeElectrodos.TomadoDe[1]....................................................................................13Figura9SistemaInternacional10-20.TomadoDe[11]..................................................................................14Figura10LóbulosCerebrales.TomadoDe[8].................................................................................................15Figura11CircunvolucionesCerebrales,VistaLateralIzquierda.TomadoDe[8]............................................15Figura12ÁreasDeBrodmann[8]...................................................................................................................15Figura13ÁreaCerebralesYFunciónDelLóbuloFrontal................................................................................16Figura14ClasificaciónDeLosPotencialesEeg.TomadoDe[1]......................................................................17Figura15EspectroTípicoDeLasSeñalesEeg.TomadoDe[1]........................................................................18Figura16EfectoEspectralDeUnVentaneo.TomadoDe[1]..........................................................................24Figura17EscalonamientosDeWaveletMadreYSusTransformadasDeFourier.TomadoDe[1].................26Figura18UnidadMindflex..............................................................................................................................33Figura19HardwareUnidadMindflex.............................................................................................................34Figura20AlgunosEjemplaresDeLaFamiliaArduino.....................................................................................36Figura21ShieldsMásReconocidosParaArduino...........................................................................................37Figura22DescripciónArduinoUno.................................................................................................................38Figura23ConfiguraciónPreliminarDeHardware...........................................................................................39Figura24VistaDelHandsetSinCubiertaBase................................................................................................40Figura25IdentificaciónDeLosPinesTxYRx..................................................................................................41Figura26UbicaciónDeLaTierraEnLaPlacaPrincipal...................................................................................42Figura27AjusteDeLasConexionesDeSalida................................................................................................43Figura28ConexiónDelHandsetAlArduino....................................................................................................43Figura29DatosCvsRecibidosEnElMonitorSerialDeArduino.....................................................................47Figura30InicioDeLaVisualización,DoceDatosRecibidos............................................................................48Figura31VisualizaciónDespuésDeCientoNoventaYOchoDatosRecibidos................................................49Figura32ConexiónDeTransmisiónPorCable................................................................................................50

Page 12: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

VIII Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Figura33ConexiónDeTransmisiónVíaBluetooth.........................................................................................50Figura34ConfiguraciónDelConectorTs........................................................................................................51Figura35AdaptaciónDelConectorHembraParaConectorTs.....................................................................51Figura36CarcasaCerradaDelHandsetConAdaptadorHembra.................................................................52Figura37ModuloBluetoothEsclavoHC-06....................................................................................................53Figura38ConexiónModuloBluetoothEsclavoHC-06....................................................................................54Figura39VisualizaciónDeLaAplicaciónArdudroidYReconocimientoDelHc-06........................................56Figura40ConexiónFísicaDePruebaDelMódulohc-06..................................................................................57Figura41ConexiónFísicaDelMódulohc-06AlHandset.................................................................................58Figura42ArduinoUno(Izquierda)VersusArduinoMini(Derecha)................................................................60Figura43ModuloFTDI232.............................................................................................................................62Figura44ModuloHC-05.................................................................................................................................63Figura45ConexiònHC-05AArduinoMiniPro...............................................................................................64Figura46DiseñoFinalDeLaPròtesisDeMano..............................................................................................66Figura47EstructuraFinalDelDiseño..............................................................................................................67Figura48DiseñoDeLaPlacaGeneral.............................................................................................................68Figura49MontajeDelArduinoMiniProSobreLaPlaca................................................................................69Figura50MontajeDelMóduloHC-05SobreLaPlaca.....................................................................................70Figura51MontajeDelReguladorSobreLaPlaca............................................................................................70Figura52MontajeDelMóduloFTI232EnElArduinoMiniPro.......................................................................71Figura53MontajeDelServomotor(Actuador)SobreLaPlacaPrincipal........................................................71Figura54UbicaciónDeLasBateríasDeLitioSobreLaPlacaPrincipal............................................................72

Page 13: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Introducción

Una interfaz para control cerebral basada en señales de EEG (electroencefalografía), en

forma general denominada BCI (Brain Computer Interface) (Interfaz cerebro computador)

busca establecer un enlace directo entre el cerebro y una máquina, sin utilizar acciones

motoras directas; Su desarrollo está principalmente orientado hacia la ayuda a personas

con discapacidades motoras severas, que poseen deterioros en el sistema nervioso y

muscular, pero no presentan lesiones cerebrales.

Las BCI sin embargo, son generalmente de un precio tan elevado que la mayoría de

personas con discapacidad en Colombia no tienen acceso a ellas. Consultas realizadas

durante este año 2016 evidencian precios que oscilan entre los nueve y los treinta

millones de pesos colombianos.

Gracias al desarrollo de la tecnología, se han generado máquinas destinadas a juegos u

otras aplicaciones, como es el caso de la unidad MINDFLEX® creada en principio por la

empresa MATEL®, y destinada a labores de entretenimiento.

Analizar esta unidad y entender a partir de la física experimental que su comportamiento

es adaptable a las características de una BCI, se convierte en una tarea fundamental,

que puede ser aprovechada para grandes tareas de diseño a precios mucho más

asequibles.

Sumado a ello, uno de los objetivos fundamentales de la Maestría en Ciencias – Física

de la Universidad Nacional de Colombia, en su trabajo de Grado, en la modalidad de

profundización, pretende el dominio de un tema específico, en este caso el trabajo Físico

Experimental e Instrumental de la obtención y manipulación de señales eléctricas,

convirtiéndose el análisis y manejo de una BCI, en un tema apropiado de trabajo.

Page 14: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

2 Introducción

Implementar sistemas eficientes de comunicación es un reto que la física experimental no

puede dejar de lado, debido a que el entendimiento de este tipo de sistemas donde se

incluyen la captura, la transmisión, y recepción de señales y el procesamiento de

información contenida en las señales eléctricas, en el caso de una BCI (interfaz cerebro

máquina) se convierten en un espacio apropiado de trabajo tanto de diseño como de

análisis físico experimental.

El abordaje y manejo claro de temáticas como la propagación de ondas

electromagnéticas, la generación de señales, los criterios de modulación, ruido y las

densidades espectrales a través de modelamientos matemáticos son el camino justo y

mas conveniente para el desarrollo de esta propuesta, que busca satisfacer una

necesidad actual y contribuir con el desarrollo profesional desde el campo de la física.

Como objetivo general del trabajo, se pretende aplicar señales EEG

(electroencefalográficas) obtenidas desde el lóbulo dorso lateral izquierdo del cerebro

humano, a una prótesis de mano, haciendo uso de una BCI (Interfaz de control cerebral),

mediante una unidad MINDFLEX.

Para alcanzar el objetivo general, se plantean los siguientes objetivos específicos

• Realizar el análisis de un sistema MINDFLEX para obtener señales EEG y

establecer los parámetros básicos de configuración y diseño de una BCI.

• Realizar adaptaciones de funcionalidad de la interfaz a través de diseño

experimental, que permitan mejorar la interpretación de las señales obtenidas.

• Aplicar la BCI en una prótesis de mano, diseñada con impresora 3D y que

responda a la señal eléctrica originada en el lóbulo frontal.

Page 15: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

1. Generalidades

1.1 Reseña Histórica Establecer una relación directa entre cerebro y máquina, tiene sus primeros

antecedentes en 1967 cuando el investigador Edmond Dewan, un científico de los

laboratorios de la Fuerza Aérea estadounidense presentó una hipótesis original sobre la

función del dormir y de los movimientos oculares rápidos que se producían. La hipótesis

es que el cerebro posee esta función de reprogramación que durante el sueño genera

movimientos oculares rápidos, que gracias a cierto montaje experimental, podrían

traducirse en Código Morse. Mas adelante los experimentos confirmaron que la llamada

reprogramación a la que hacia referencia Dewan, correspondía a lo que hoy conocemos

como ritmos cerebrales Alfa [1].

Al mencionar a Dewan, también es necesario reconocer avances previos que le

permitieron a este y a otros científicos ahondar en el concepto de interfaz. Es necesario

entonces mencionar a Richard Caton, quien en 1875 usó el galvanómetro para observar

impulsos eléctricos de la superficie del cerebro vivo de algunos animales; años más

tarde Hans Berger dio continuidad a este trabajo y consiguió registrar la actividad

cerebral mediante electrografía de un cerebro humano en 1924, de ahí que estas ondas

sean conocidas como las ondas alfa u ondas Berger.

Ya en 1970 en la Universidad de California se dan a conocer los primeros dispositivos de

BCI con fines médicos en la recuperación de la audición la vista y la movilidad de algunos

individuos. En 1988 Farwell and Donchin de la University of Illinois implementaron un

Page 16: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

4 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

sistema que a partir del potencial P300 (una onda positiva que se produce alrededor de

300 ms luego de observar un evento poco probable) permitía seleccionar letras en una

pantalla [1].

Alrededor de 1994 en la Universidad de Tecnología en Graz, Austria, comenzaron a

trabajar en BCI dedicándose al trabajo experimental para la identificación de los ritmos

cerebrales, fundamentalmente aquellos relacionados con actividades motoras.

En 1996, la Universidad de New Hampshire, USA, combinando la BCI de la universidad

de Graz con la de Dewan, desarrollan en forma simple y práctica la primera interfaz que

proporciona las funciones de un "ratón". Esta BCI permite desplazar el cursor en dos

dimensiones en la pantalla y además realizar la activación o "click", permitiendo mediante

un esquema de menús, realizar distintas tareas y además ejecutar programas estándar

[1].

En Latinoamérica, los avances también han sido satisfactorios en trabajos de diseño

experimental evidenciados en trabajos como Miguel Nicolelis (Brasil), en la universidad

de Duke, en Carolina del Norte (USA), donde se diseñó y se construyó un Exoesqueleto,

cuyo producto fue presentado finalmente en el partido inaugural de la copa mundial de

futbol de la FIFA en el año 2014. Uno de los registros recientes de trabajo es el de la

Universidad de Colima en México, quienes desarrollan la investigación del control

robótico por medio de ondas cerebrales, de un brazo robótico con cinco grados de

libertad e inalámbrico, especificando que la diadema de captación del impulso eléctrico

posee solo un electrodo, que hace que todo el diseño sea poco robusto y económico.

En Colombia también se han venido desarrollando propuestas de trabajo en torno a las

BCI; entre los trabajos mas destacados se encuentra el del Doctor José Borrego de la

universidad de Antioquia, quien ¨presenta un sistema operante cuyo motor o unidad

Page 17: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 1 5

central la constituye un módulo de interfaz y un programa especial de computación. Este

módulo de interfaz integra: Una computadora comercial, un estroboscopio, un

electroencefalógrafo, un osciloscopio, estimuladores y otros accesorios. El conjunto

permite la medición de los potenciales evocados y variadas aplicaciones en

neurofisiología¨ [2]; Este trabajo obtuvo el premio de Ciencias Físicas y Naturales Ángel

Escobar entregado a nivel nacional en el año 1983.

Gracias a este tipo de trabajos se han venido presentando diferentes tipos de

propuestas, dentro de las cuales se pretende enfocar este trabajo de grado, para optar

por el título de Magister en Ciencias – Física.

1.2 Interfaces de Comunicación A través de EEG. (BCI) Una interfaz basada en EEG, es un montaje de comunicación que permite establecer una

relación directa entre el cerebro humano que reacciona ante un estímulo, y un

computador que lo interpreta y lo traduce en otro tipo de señal que puede ser utilizada

para generar trabajos con otros dispositivos.

Podemos dividir los sistemas BCI en tres grupos diferentes [3] :

Activo: se caracteriza por permitir el control de manera consciente y voluntaria de un

sistema BCI, independientemente de los eventos externos.

Reactivo: el control de la aplicación, está directamente relacionado con un estímulo

externo que indirectamente, modela la actividad cerebral.

Pasivo: se deriva del procesamiento de señales cerebrales arbitrarias y sin ninguna

intencionalidad por el usuario. La información recogida se utiliza para saber nuestro

estado cognitivo, como nuestros niveles de atención, relajación, etc.

Toda interfaz basada en EEG posee la siguiente estructura como se muestra en la Figura

1.

Page 18: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

6 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

La gráfica anterior muestra la estructura general de una BCI, en donde la primera etapa

consiste en la adquisición de las señales provenientes del cerebro. Esta adquisición se

realiza a través de electrodos que son capaces captar las señales eléctricas ubicadas en

el cuero cabelludo.

Luego se encuentra la etapa del procesamiento, donde las señales eléctricas captadas

son traducidas en estimaciones de energía, que será analizada en una frecuencia de

muestreo acorde al ancho de banda de la señal EEG, que generalmente está en el

rango de 128 a 256 muestras por segundo, que luego se utilizarán en la etapa de

control.

En tercer lugar tenemos el clasificador que seleccionará las señales necesarias que

serán traducidas en señales provenientes del lóbulo que quiere ser trabajado y que

pueda representar estados de acción cerebral motora, visual, auditiva, de concentración,

etc.

En último lugar del proceso se tiene el trasladador que finalmente traduce la señal o

potencial eléctrico en una respuesta de acción como el movimiento de un motor o el

registro de una señal lumínica, o el deseado por el diseñador de la interfaz.

Figura 1 Estructura General de una BCI. Tomado de [1].

Page 19: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

2. Referentes Teóricos

2.1 Señales Electroencefalográficas (EEG) Las señales EEG se obtienen gracias a las corrientes de naturaleza iónica presentes en

la corteza cerebral, las cuales se producen por la actividad en alguna región del cerebro,

provocada por acciones voluntarias o involuntarias del sujeto y pueden ser captadas con

unos electrodos que según su configuración pueden ser ubicados en diferentes lugares

de la cabeza para conseguir los registros deseados.

El sistema nervioso es un de tejido encargados de captar y procesar rápidamente las

señales internas y externas, tomando el control y coordinación sobre los demás órganos,

para así, lograr una oportuna y eficaz interacción con el medio ambiente cambiante. La

unidad básica del sistema nervioso es la neurona, la cual tiene la capacidad de

comunicarse eléctricamente con otras células, sean éstas nerviosas o no [3].

La información viaja entre neuronas por medio de impulsos eléctricos que se transmiten

de unas neuronas a otras. Estos impulsos, se reciben de otras neuronas en las dendritas

y pasan a través de la neurona hasta ser conducidas por el axón a los terminales de

salida, los cuales pueden conectarse con otra neurona, fibras musculares o glándulas [3,

4].

Cuando se produce un estimulo externo, el sistema nervioso actúa de la siguiente

manera; El estímulo es recibido en alguna región sensorial capturando alguna

información, la cual es transportada por el sistema nervioso a través de las neuronas

hasta una componente integradora en donde se analiza. Esta componente elabora la

respuesta, que es conducida a través de las neuronas hacia fibras musculares (respuesta

motora) o hacia glándulas (secreción glandular).

Page 20: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

8 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Hay que tener en cuenta que la actividad cerebral es producida por un número muy

elevado de neuronas (aproximadamente cien mil millones en un cuerpo humano medio) y

cada una de las tareas que nuestro cuerpo puede realizar provoca una actividad cerebral

con forma e intensidad diferentes, además de localizarse en distintas zonas del sistema

nervioso [5].

2.1.1 Potencial de acción generado en las neuronas El cerebro está compuesto por millones de neuronas. Cada neurona está conformada por

un cuerpo celular llamado soma, dendritas, axones y terminaciones nerviosas Figura 2

[6].

La información llega a la neurona a través de las dendritas, las cuales reciben

información de en promedio 10000 neuronas. Con relación a la membrana celular, el

exterior de la neurona tiene mayor concentración de iones Na+ y el interior mayor

concentración de iones K+. Con esta concentración, el potencial de membrana es -70mV,

donde la parte interna se carga negativamente y la parte externa positivamente [6, 7].

Figura 2 La Neurona y su representación. Tomado de [4].

Page 21: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 9

En la despolarización de la neurona debido a la información recibida en las dendritas, se

produce un potencial de acción que viaja a través del axón como se ve en la Figura 3 [8].

El mecanismo que produce el potencial de acción está relacionado con la bomba de

sodio potasio. En la despolarización se alcanza un umbral entre -70mV a -55mV los

canales de sodio dejan entrar los iones Na+, invirtiendo la polaridad de la membrana [7].

Esta alcanza un valor promedio de 30mV [8].

Cuando se ha producido la despolarización, se cierren los canales de sodio y se abren

los canales de potasio [7]. De esta forma salen los iones K+, produciéndose la

repolarización de la membrana. Cuando se alcanza el valor de -90mV este proceso se

denomina hiperpolarización, y sirve para que en esa etapa la neurona no reciba otro

estímulo [6]. Posteriormente la bomba de sodio potasio restablece el potencial de

membrana a -70mV.

El potencial de acción viaja a través del axón a una velocidad de entre 1 y 100 m/s, y

transmite la información a otras neuronas a través de un proceso químico denominado

Figura 3 Potencial de acción en la membrana de una neurona. Tomado de [4].

Page 22: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

10 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

sinapsis. La suma de las sinapsis excitadoras e inhibidoras que ingresan por las

dendritas de una neurona establece si la neurona conduce o no conduce [6].

2.1.2 Generación de las señales EEG La corteza cerebral está conformada principalmente por neuronas piramidales [9], y las

señales EEG son producidas por la sincronización local de miles de neuronas

piramidales [6]. Esta sincronización se presenta por la sumatoria de sinapsis excitadoras

en las dendritas de miles de neuronas piramidales. Esto genera en cada neurona un

dipolo conformado entre la carga del soma y la carga de las dendritas, Figura 4.

De esta manera, la corriente en el cerebro está conformada por el bombeo de iones Na+,

K+, Ca++ y Cl− a través de la membrana de las neuronas [8].

En consecuencia, las señales electroencefalográficas EEG consisten en un conjunto de

ondas eléctricas generadas por la corteza cerebral [4].

Cuando se mide con electrodos superficiales (Scalp o no invasivos), el rango de voltajes

está entre 0 a 300µV, con frecuencias que oscilan entre 0.5 y 100 Hz. Dentro de las

Figura 2.18: Generacion de una senal EEG. Adaptado de [39].

En consecuencia, las senales electroencefalograficas (EEG) consisten en un conjunto deondas electricas generadas por la corteza cerebral (Fig. 2.18) [39]. Cuando se mide con elec-trodos superficiales, el rango de voltajes esta entre 0 a 300 µV , con frecuencias que oscilanentre 0.5 y 100 Hz. Dentro de las ventajas que tienen este tipo de senales, estan la buenaresolucion temporal (ms), el hecho de que las senales estan listas para ser capturadas, que lagrabacion es sencilla y el costo de los equipos es bajo. Una desventaja de las senales EEG essu baja resolucion espacial (cm) [62].

Ritmos cerebrales Las senales cerebrales se agrupan en cinco ritmos: delta (�), teta (✓),alfa (↵), beta (�) y gama (�) [62].

Los ritmos delta (�) son ondas cerebrales en el rango de 0.5-4 Hz. Se presentan con masfrecuencia en ninos y adolescentes. De igual forma, estan asociadas a estados de sueno y seatenuan con abrir los ojos y estados de somnolencia [63].

Los ritmos teta (✓) son ondas cerebrales en el rango de 4-8 Hz. Estas ondas se presentancon mas frecuencia en ninos y tienden a disminuir con la adultez. En los adultos tienen mayoractividad en Fz y Cz. Los ritmos (✓) se han asociado a estados de meditacion profunda [62].

Los ritmos alfa (↵) son ondas cerebrales en el rango de 8-13 Hz. Se presentan en todaslas etapas de la vida y tienden a tener la misma intensidad. Se presentan principalmentecuando la persona esta despierta, en reposo y con los ojos cerrados. Los ritmos (↵) presentanla mayor amplitud en los lobulos occipitales y desaparecen cuando la persona esta dormida[63].

22

Figura 4 Generación de una señal EEG. Tomado de [4].

Page 23: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 11

ventajas que tienen este tipo de señales, están la buena resolución temporal (ms), el

hecho de que las señales están listas para ser capturadas, que la grabación es sencilla y

el costo de los equipos es bajo.

2.1.3 Los electrodos, clasificación y tipos de conexión. Un electrodo es una celda electroquímica en donde se busca la electrólisis mediante

corrientes eléctricas de sustancias ionizadas llamadas electrolitos, que pueden ser

ácidos, bases o sales.

La primera fase de la electrólisis es la ionización, siendo previa a la aplicación de la

corriente, luego viene la ionización donde los iones se dirigen, dependiendo de su carga

hacia los polos positivos o negativos, provocando entonces el tercer momento llamado

descarga, donde los aniones ceden electrones y los cationes toman electrones del

cátodo.

Existen básicamente tres tipos de electrodos para captar los biopotenciales cerebrales y

en términos generales, la calidad de las señales obtenidas aumenta conjuntamente con

la invasividad de la técnica utilizada. Los electrodos pueden ser [1] :

Superficiales (scalp): Están colocados sobre el cuero cabelludo. Para esta técnica, que

es la menos invasiva, se reserva la denominación Electroencefalograma (EEG).

Figura 5 Electrodos superficiales. Tomado de [4].

Page 24: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

12 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Corticales: Se colocan directamente sobre la superficie expuesta de la corteza cerebral

(cortex). Este tipo de registro se denomina Electrocortigrama.

Profundos o Intracorticales. En este caso se utilizan electrodos tipo aguja, que pueden

contener varias secciones aisladas a fin de registrar potenciales a distintas

profundidades. Esta técnica se suele Electroencefalografía Profunda.

Figura 6 Electrodos corticales. Tomado de [4].

Figura 7 Electrodos Profundos o intracorticales. Tomado de [4].

Page 25: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 13

Existen básicamente tres configuraciones típicas (Figura 4) para captar los potenciales

cerebrales a partir de electrodos superficiales[1]:

Monopolar: Se registra el potencial de cada electrodo respecto de uno particular utilizado

como referencia que usualmente se coloca en la oreja.

Bipolar: Se utilizan canales diferenciales que registran la diferencia de potencial entre dos

electrodos.

Laplaciana: Se rodea al electrodo principal o activo con 4 o más electrodos auxiliares

registrándose la diferencia de potencial entre el electrodo activo y el promedio de los

circundantes. Esta promediación puede realizarse en forma analógica pero lo usual es

realizarla en forma digital.

Las anteriores configuraciones cumplen con el sistema de referencia llamado 10-20 como

se observa en la figura 9, que se basa en la relación comprobada que existe entre un

sitio medido de electrodos, las estructuras y áreas corticales subyacentes. El sistema se

denomina 10-20, porque los electrodos se colocan espaciados al 10 o 20% de la

distancia total entre un determinado par de marcas en el cráneo. El sistema 10-20, se

diseñó para dar una cobertura adecuada de la cabeza, con flexibilidad para la colocación

de electrodos adicionales, dentro del marco establecido, empleando la nomenclatura 10-

20 [11] .

Capítulo 2: La señal de EEG

Interfaces para Control Cerebral 9

Existen básicamente tres configuraciones típicas (Figura 2.2) para captar los potenciales cerebrales a partir de electrodos superficiales:

! Monopolar: Se registra el potencial de cada electrodo respecto de uno

particular utilizado como referencia que usualmente se coloca en la oreja.

! Bipolar: Se utilizan canales diferenciales que registran la diferencia de potencial entre dos electrodos.

! Laplaciana: Se rodea al electrodo principal o activo con 4 o más electrodos auxiliares registrándose la diferencia de potencial entre el electrodo activo y el promedio de los circundantes. Esta promediación puede realizarse en forma analógica pero lo usual es realizarla en forma digital.

Figura 2.2: Distintas configuraciones de electrodos.

Existen 20 posiciones básicas normalizadas para colocar los electrodos sobre el cuero cabelludo, el conjunto de estas posiciones se conoce como “Sistema 10/20” y se muestra en la Figura 2.3. Su nombre deriva del hecho que en algunas ocasiones se utiliza un subconjunto reducido de solo 10 electrodos.

Figura 2.3: El Sistema 10/20

Cada posición se identifica con una letra que corresponde a su zona craneana, (O: occcipital, P: pariental, C: central, T: temporal y F: frontal), y un sufijo que define su posición precisa. Por ejemplo O1 corresponde a la zona occipital izquierda y F4 a la frontal derecha. Si bien en algunas ocasiones se utilizan electrodos emplazados en posiciones intermedias, y comienzan a aparecer denominaciones como C4', C3', es importante en lo posible respetar las normalizadas a fin de obtener datos comparables. Para especificar un registro es necesario informar la posición de los electrodos y el tipo de derivación utilizada: monopolar, bipolar o laplaciana. En el caso de utilizar canales monopolares, debe indicarse además la posición del electrodo de referencia. Asi, Por ejemplo “O1-O2 bipolar” corresponde a un registro tomado en forma diferencial entre los electrodos O1 y O2 ubicados en la región occipital.

Σ/N

Monopolar Bipolar Laplaciana.

Figura 8 Configuración de electrodos. Tomado de [1].

Page 26: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

14 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

2.2 Configuración de la corteza cerebral El cerebro está compuesto por dos hemisferios (izquierdo y derecho) separados por un

cuerpo calloso. La corteza de cada hemisferio cerebral posee una serie de pliegues

denominados circunvoluciones o giros, que se encuentran separados por fisuras o surcos

[4, 10] (Figura 10).

Dentro de las circunvoluciones se encuentran: la circunvolución frontal superior (CFS), la

circunvolución frontal medial (CFM), la circunvolución frontal inferior (CFI), la

circunvolución temporal superior (CTS), la circunvolución temporal medial (CTM), la

circunvolución temporal inferior (CTI), la circunvolución parietal superior (CPS), la

circunvolución parietal inferior (CPI), la circunvolución supramarginal (CS), la

circunvolución angular (CA), la circunvolución precentral (Cpre), la circunvolución

postcentral (Cpos), pars opercular (PO), pars triangular (PT), pars orbitaria (Por); de

forma complementaria, se especifica el surco temporal superior (STS) y el surco temporal

inferior (STI) [10] (Figura 11).

14

regular y amplio de diez ciclos por segundo surgía de las áreas visuales de asociación y no de

todo el cerebro. Años más tarde se apreció la importancia de tal descubrimiento.

Se avanzó mucho en este campo, comenzando a interesar, entre los investigadores del EEG, el

estudio de la epilepsia y otras enfermedades mentales, poniéndose de relieve la complejidad

del tema y la imposibilidad de aislamiento de funciones simples, siendo necesario estudiar al

cerebro como un órgano total.

2.4.2 Sistema Internacional 10-20

En 1958 el neurobiólogo Herbert Jasper supervisó la reunión de Sociedades de

Electroencefalografía, la cual desarrolló el sistema de localización de electrodos. Estos siguen

una colocación definida. El esquema a seguir se llama sistema internacional 10-20, es

un procedimiento para colocar y medir las posiciones a espacios iguales en el cuero cabelludo,

utiliza marcas identificables en el cráneo que sirven como punto de referencia.

El sistema 10-20, se basa en la relación comprobada que existe entre un sitio medido de

electrodos, las estructuras y áreas corticales subyacentes. El sistema se denomina 10-20,

porque los electrodos se colocan espaciados al 10 o 20% de la distancia total entre un

determinado par de marcas en el cráneo. El sistema 10-20, se diseñó para dar una cobertura

adecuada de la cabeza, con flexibilidad para la colocación de electrodos adicionales, dentro del

marco establecido, empleando la nomenclatura 10-20.

Figura 6. Sistema internacional 10-20 de colocación de electrodos

La cabeza se divide en seis zonas: frontopolar (Fp), frontal (F), central (C), parietal (P), occipital

(O) y temporal (T). A los electrodos situados en el hemisferio izquierdo se les asigna números

impares y a los situados en el hemisferio derecho se les asigna números pares.

Figura 9 Sistema internacional 10-20. Tomado de [5].

Page 27: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 15

Las subdivisiones de cada hemisferio se basan en varios surcos de la corteza cerebral y

se denominan lóbulos. Para referenciar partes de la corteza cerebral se utiliza,

complementariamente, las áreas de Brodmann, que están numeradas del 1 al 51 por la

citoarquitectura o disposición de las neuronas que conforman la corteza cerebral (Figura

12) [4].

Figura 2.4: Vista lateral izquierda de la corteza cerebral. Circunvolucion frontal superior(CFS), circunvolucion frontal medial (CFM), circunvolucion frontal inferior (CFI), circun-volucion temporal superior (CTS), circunvolucion temporal medial (CTM), circunvoluciontemporal inferior (CTI), circunvolucion parietal superior (CPS), circunvolucion parietal infe-rior (CPI), circunvolucion supramarginal (CS), circunvolucion angular (CA), circunvolucionprecentral (Cpre), circunvolucion postcentral (Cpos), pars opercular (PO), pars triangular(PT), pars orbitaria (Por). Surco temporal superior (STS) y surco temporal inferior (STI).

Figura 2.5: Lobulos del cerebro

media y tambien esta relacionada con el movimiento motor [43].El campo ocular frontal se encuentra sobre partes de la circunvolucion frontal media

relacionada con las areas 6,8 y 9 BD (Fig. 2.6). La funcion principal de esta area es controlarel movimiento voluntario de los ojos.

8

Figura 2.4: Vista lateral izquierda de la corteza cerebral. Circunvolucion frontal superior(CFS), circunvolucion frontal medial (CFM), circunvolucion frontal inferior (CFI), circun-volucion temporal superior (CTS), circunvolucion temporal medial (CTM), circunvoluciontemporal inferior (CTI), circunvolucion parietal superior (CPS), circunvolucion parietal infe-rior (CPI), circunvolucion supramarginal (CS), circunvolucion angular (CA), circunvolucionprecentral (Cpre), circunvolucion postcentral (Cpos), pars opercular (PO), pars triangular(PT), pars orbitaria (Por). Surco temporal superior (STS) y surco temporal inferior (STI).

Figura 2.5: Lobulos del cerebro

media y tambien esta relacionada con el movimiento motor [43].El campo ocular frontal se encuentra sobre partes de la circunvolucion frontal media

relacionada con las areas 6,8 y 9 BD (Fig. 2.6). La funcion principal de esta area es controlarel movimiento voluntario de los ojos.

8

Figura 10 Lóbulos cerebrales. Tomado de [4].

Figura 11 Circunvoluciones cerebrales, vista lateral izquierda. Tomado de [4].

Figura 12 Áreas de Brodmann Tomado de [8].

Page 28: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

16 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

El lóbulo frontal, siendo de vital importancia para este estudio, posee tres áreas

reconocidas con funciones determinadas. El área precentral que se divide en posterior

(motora primaria) y anterior (motora secundaria) encargadas de los movimientos

individuales de diferentes partes del cuerpo. Otra área de este lóbulo, es la ocular frontal

donde están determinados los movimientos conjugados de los ojos, a la vez que controla

los movimientos oculares voluntarios producidos independientemente de los estímulos

visuales.

La tercera área es la llamada área de lenguaje o de broca y como su nombre lo indica

está encargada principalmente de la producción del habla; y finalmente se encuentra el

área de corteza prefontal y que se asocia a la meditación, la atenciòn y la concentración

del sujeto, además que tiene fuerte conexión con la personalidad del individuo y su

expresión de sentimientos [11].

Así cada área del cerebro tiene a su cargo unas funciones específicas que pueden ser

visualizadas en la figura 13.

.

Figura 13 Área cerebrales y función del lóbulo frontal. Tomado de [4].

Page 29: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 17

2.3 Clasificación de los potenciales de las señales EEG Los potenciales de EEG pueden clasificarse en Potenciales Evocados si se producen

como consecuencia de un estímulo externo y Potenciales Espontáneos si nacen de la

“voluntad” del sujeto.

Dentro de los potenciales espontáneos podemos diferenciar los Ritmos Cerebrales que

se registran en condiciones de reposo, cuando las neuronas no procesan información, y

los Potenciales Relacionados RP (Related Potentials), que se producen como

consecuencia de algún evento puntual. Generalmente los RP son de reducida amplitud

comparados con la actividad de base ("background"). Por ejemplo, las señales de EEG

en scalp relacionadas a una actividad motora (MRP: Movement Related Potential)

presentan relaciones señal-ruido menores a -10 dB [1, 12] .

Cuando el análisis se efectúa en el dominio de la frecuencia se incorporan los términos

ERS (Event Related Sincronization), para describir el incremento de la energía en alguna

banda como consecuencia de un evento, y ERD (Event Related Desinchronization), para

su decremento [1, 12] (Figura 2-13).

El espectro de frecuencias de las señales electroencefalográficas se extiende desde

algunas décimas de Hz hasta aproximadamente 100 Hz. En el análisis espectral de

señales de EEG, se definen ciertas bandas de importancia clínica que se denominan con

Capítulo 2: La señal de EEG

10 Interfaces para Control Cerebral

2.4. Tipos de Potenciales de EEG. De acuerdo a su origen los potenciales de EEG pueden clasificarse1 en Potenciales Evocados si se producen como consecuencia de un estímulo externo y Potenciales Espontáneos si se producen espontáneamente, podríamos decir que estos últimos nacen de la “voluntad” del sujeto. Dentro de los potenciales espontáneos podemos diferenciar los Ritmos Cerebrales que se registran en condiciones de reposo, cuando las neuronas no procesan información, y los Potenciales Relacionados RP (Related Potentials), que se producen como consecuencia de algún evento puntual. Generalmente los RP son de reducida amplitud comparados con la actividad de base ("background"). Por ejemplo, las señales de EEG en scalp relacionadas a una actividad motora (MRP: Movement Related Potential) presentan relaciones señal-ruido menores a -10 dB (Lange, 1996). Cuando el análisis se efectúa en el dominio de la frecuencia se incorporan los términos ERS (Event Related Sincronization), para describir el incremento de la energía en alguna banda como consecuencia de un evento, y ERD (Event Related Desinchronization), para su decremento.

A modo de resumen, en la Figura 2.4, se esquematizan los distintos tipos de potenciales en EEG.

Figura 2.4: Clasificación de potenciales de EEG

2.5. El espectro de EEG.

El espectro de frecuencias de las señales electroencefalográficas se extiende desde algunas décimas de Hz hasta aproximadamente 100 Hz. En el análisis espectral de señales de EEG, se definen ciertas bandas de importancia

clínica que se denominan con las letras griegas δ, θ, α, β y γ. Si bien estas bandas no tienen límites precisos abarcan aproximadamente los siguientes intervalos:

δ < 4 Hz

θ 4-8 Hz

α 8-12 Hz

β 12-32 Hz

γ > 32 Hz

Tabla 2.1: Bandas espectrales utilizadas en EEG

1 Esta clasificación no pretende ser general ni definitiva, solo intenta establecer un marco donde describir las señales de EEG como causa/efecto.

Estímulo Potenciales Evocados Potenciales Espontáneos

Ritmos Cerebrales Potenciales Relacionados

Sincronización ERS Desincronización ERD

F

Sujeto

Figura 14 Clasificación de los potenciales EEG. Tomado de [1].

Page 30: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

18 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

las letras griegas δ, θ, α, β y γ. Si bien estas bandas no tienen límites precisos abarcan

aproximadamente los siguientes intervalos [1]:

La distribución espectral de la energía de las señales de EEG depende de la actividad

mental en ejecución. En la Figura 15 se muestran espectros típicos de EEG; estos

corresponden a registros tomados con electrodos superficiales en la zona occipital con

ojos abiertos y con ojos cerrados sobre un ancho de banda de 32 Hz. Se puede observar,

en ambos casos, una predominancia de la banda alfa.

Capítulo 2: La señal de EEG

10 Interfaces para Control Cerebral

2.4. Tipos de Potenciales de EEG. De acuerdo a su origen los potenciales de EEG pueden clasificarse1 en Potenciales Evocados si se producen como consecuencia de un estímulo externo y Potenciales Espontáneos si se producen espontáneamente, podríamos decir que estos últimos nacen de la “voluntad” del sujeto. Dentro de los potenciales espontáneos podemos diferenciar los Ritmos Cerebrales que se registran en condiciones de reposo, cuando las neuronas no procesan información, y los Potenciales Relacionados RP (Related Potentials), que se producen como consecuencia de algún evento puntual. Generalmente los RP son de reducida amplitud comparados con la actividad de base ("background"). Por ejemplo, las señales de EEG en scalp relacionadas a una actividad motora (MRP: Movement Related Potential) presentan relaciones señal-ruido menores a -10 dB (Lange, 1996). Cuando el análisis se efectúa en el dominio de la frecuencia se incorporan los términos ERS (Event Related Sincronization), para describir el incremento de la energía en alguna banda como consecuencia de un evento, y ERD (Event Related Desinchronization), para su decremento.

A modo de resumen, en la Figura 2.4, se esquematizan los distintos tipos de potenciales en EEG.

Figura 2.4: Clasificación de potenciales de EEG

2.5. El espectro de EEG.

El espectro de frecuencias de las señales electroencefalográficas se extiende desde algunas décimas de Hz hasta aproximadamente 100 Hz. En el análisis espectral de señales de EEG, se definen ciertas bandas de importancia

clínica que se denominan con las letras griegas δ, θ, α, β y γ. Si bien estas bandas no tienen límites precisos abarcan aproximadamente los siguientes intervalos:

δ < 4 Hz

θ 4-8 Hz

α 8-12 Hz

β 12-32 Hz

γ > 32 Hz

Tabla 2.1: Bandas espectrales utilizadas en EEG

1 Esta clasificación no pretende ser general ni definitiva, solo intenta establecer un marco donde describir las señales de EEG como causa/efecto.

Estímulo Potenciales Evocados Potenciales Espontáneos

Ritmos Cerebrales Potenciales Relacionados

Sincronización ERS Desincronización ERD

F

Sujeto

Capítulo 2: La señal de EEG

Interfaces para Control Cerebral 11

Si bien en aplicaciones clínicas se utilizan fundamentalmente la zona de bajas frecuencias, actualmente también son motivo de interés las componentes de alta frecuencia, especialmente alrededor de 40 Hz La distribución espectral de la energía de las señales de EEG depende de la actividad mental en ejecución. En la Figura 2.5 se muestran espectros típicos de EEG. Corresponden a registros tomados con electrodos superficiales en la zona occipital con ojos abiertos y con ojos cerrados sobre un ancho de banda de 32 Hz. Se puede observar, en ambos casos, una predominancia de la banda alfa. El fenómeno de intensificación de la energía en esta banda al cerrar los ojos, conocido como ritmo alfa, se analizará en detalle en la sección 2.6.

Figura 2.5: Espectro típico de señales de EEG 2.6. Ritmos cerebrales.

El cerebro tiene la capacidad de describir, bajo ciertas circunstancias, actividad rítmica. Estas oscilaciones, denominadas ritmos cerebrales (García Austt y Bruño, 1979), pueden observarse claramente aun utilizando técnicas de EEG no invasivas (scalp). Ritmos en la denominada "banda alfa" fueron reportados desde los inicios del EEG por Berger en 1930. Esta actividad rítmica aparece en distintas zonas espectrales. Entre ellas merecen destacarse la banda alfa (8-12Hz.) y la beta (12-24Hz.). En general, la amplitud que alcanzan los ritmos decrece con la frecuencia. Esto se debe a que las oscilaciones más rápidas involucran grupos de neuronas más reducidos que en el caso de las más lentas (Pfurtscheller, 1997a). Existen diversos tipos de ritmos cerebrales que se producen e inhiben según mecanismos asociados a distintas actividades mentales (por ejemplo, tareas motoras, visuales, etc.). Cada uno de ellos posee características propias, aunque en líneas generales (Pfurtscheller, 1997a, Pfurtscheller, 1997b), se observa lo siguiente:

! Los ritmos se producen sobre grupos neuronales que no se encuentran

realizando su tarea específica, es decir, aparecen en condición de reposo (iddling rhythms) o de descanso2 (resting rhythms). Un claro ejemplo de este

2 Entiéndase aquí como “descanso” el período inmediato a la culminación de un esfuerzo. Digamos que transcurrido un tiempo prolongado el “descanso” se transforma en “reposo”.

5 10 15 20 25 30 35Frecuencia [Hz]

δδδδ θθθθ αααα ββββ γγγγ→→→→

Ojos Cerrados

Ojos Abiertos

Figura 15 Espectro típico de las señales EEG. Tomado de [1].

Page 31: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 19

2.3.1 Ritmos cerebrales El cerebro tiene la capacidad de describir, bajo ciertas circunstancias, actividad rítmica.

Estas oscilaciones, denominadas ritmos cerebrales [13], pueden observarse claramente

aun utilizando técnicas de EEG no invasivas (scalp) [1].

Esta actividad rítmica aparece en distintas zonas espectrales. Entre ellas merecen

destacarse la banda alfa (8-12Hz.) y la beta (12-24Hz.). En general, la amplitud que

alcanzan los ritmos decrece con la frecuencia, debido a que las oscilaciones más rápidas

involucran grupos de neuronas más reducidos que en el caso de las más lentas [1].

Existen diversos tipos de ritmos cerebrales que se producen e inhiben según

mecanismos asociados a distintas actividades mentales (por ejemplo, tareas motoras,

visuales, etc.), cada uno de ellos posee características propias, aunque en líneas

generales, se observa que los ritmos se producen sobre grupos neuronales que no se

encuentran realizando su tarea específica, es decir, aparecen en condición de reposo

(iddling rhythms) o de descanso (resting rhythms).

Un claro ejemplo de este fenómeno se observa en la zona occipital, donde se concentra

el procesamiento visual: al cerrar los ojos y no procesar información, esta zona cortical

presenta una marcada actividad rítmica denominada "ritmo alfa"[1].

Los ritmos son bloqueados o atenuados cuando se producen eventos que implican que el

área cortical involucrada procese o se prepare a procesar información. Este fenómeno se

denomina desincronización asociada al evento: ERD (Event Related Desincronization)

[13].

Page 32: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

20 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Finalizado el evento que produjo la ERD el ritmo suele reaparecer intensificado. Este

fenómeno se denomina Sincronización Relacionada al Evento: ERS (Event Related

Sinchronization) [13].

Ritmos delta δ: Son las ondas de mayor amplitud y menor frecuencia. Nunca llegan a

cero, pues eso significaría la muerte cerebral. Es un estado de sueño profundo. Si se

presenta en un sujeto despierto puede derivarse a un síntoma patológico [5].

Ritmos theta θ: Se trata de un estado de meditación profunda. A menudo, una persona

tiene las mejores ideas cuando predominan este tipo de ondas. Se trata de un estado en

el que las tareas realizadas se han vuelto tan automáticas, que no se necesita tener un

control consciente de su realización [5].

Ritmos alfa α: Se produce en cualquier persona con los ojos cerrados o en estado de

relajación y poca actividad mental. Este ritmo se atenúa con los ojos abiertos. Es más

prominente en la región posterior del cerebro [5].

Ritmos beta β: Se producen en estados de concentración mental. Son ondas amplias y

las más rápidas de las cuatro. Denotan una actividad mental intensa. Cuando una

persona está dando un discurso, estudiando, realizando un problema de matemáticas,

etc. También se encuentra estrechamente relacionado con el movimiento de las

extremidades y se lo detecta principalmente en la región central y frontal del cerebro [3].

2.3.2 Potenciales evocados Son cambios en la actividad eléctrica cerebral, producidos por la percepción de estímulos

captados por un sujeto a través de los sentidos. Estos estímulo se conducen a modo de

impulsos nerviosos desde los órganos perceptivos hasta el cerebro, donde serán

interpretados y se les atribuye un significado.

Page 33: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 2 21

De este modo, la exposición a un flash, un ruido intenso o un estimulo táctil van a dar

lugar a unas ondas eléctricas cerebrales características. Si el estimulo visual, auditivo, o

la sensación eléctrica dada en pies y manos no produce la onda esperable, en el tiempo

y lugar adecuados, quiere decir que hay algún problema de la vía nerviosa. El estudio de

los potenciales evocados es, por tanto, un procedimiento neurofisiológico que evalúa la

función y la integridad del sistema perceptivo y sus vías.

2.4 Potenciales relacionados con eventos (P300) El P300 es un PRE (potencial relacionado a eventos) endógenos, generado por un

estímulo visual, auditivo o somatosensorial, infrecuente o particularmente significativo,

combinado con un estímulo frecuente o rutinario, típicamente evocan un pico positivo

cercano a los 300 ms sobre la corteza parietal en el EEG; De ahí su nombre del P300, un

potencial positivo aproximadamente en el milisegundo 300 [14].

Una de las grandes ventajas que tiene el uso de este potencial evocado es que el sujeto

no requiere un entrenamiento previo, lo cual le brinda al sistema una mayor flexibilidad en

su uso y abre las puertas para que un sin número de personas que requieran su uso no

tengan que invertir tiempo para realizar extensas jornadas de entrenamiento [14].

Page 34: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 35: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

3. Capítulo 3. Procesamiento y análisis de señales

En el procesamiento de señales, se hace importante determinar en un mismo momento

lo que sucede con el tiempo y el espectro de energía, mediante algún método

matemático, en este caso a través de la descomposición en Wavelets que permite

realizar análisis espectral y a la vez análisis de tiempo – frecuencia [1, 15].

3.1 Análisis tiempo frecuencia La Transformada de Fourier, permite entender cómo se encuentra distribuida la energía

de una señal en distintas frecuencias, lo que se conoce como distribución espectral, sin

embargo no permite conocer información acerca del tiempo en que aparece la señal, es

decir que desconocemos la evolución temporal.

Una forma sencilla de resolver este problema, es tomar intervalos de tiempo T sobre la

señal que estamos analizando, sin descuidar su posición y sobre ellos realizar

transformadas de Fourier, así se puede entender cómo evoluciona el espectro de la

energía de la señal en el tiempo.

Cada uno de los intervalos determinados son los que se conocen como ventana

temporal.

La multiplicación en el tiempo de la señal x(t) por v(t) ("ventaneo"), en el dominio de la

frecuencia es equivalente a una convolución de su transformada X(f) con la transformada

de la ventana V(f). La duración efectiva Df de esta última determinará la resolución

espectral.

La Figura 16 muestra un ejemplo: supongamos una señal sinusoidal x(t)=sin (2π⋅f0⋅t)

cuya transformada de Fourier X(f)=δ(f-f0)/2 + δ(f+f0)/2 está totalmente localizada en ±1.

Page 36: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

24 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Cuando se multiplica x(t) por v(t), la transformada de la señal resultante es conocida

como la convolución de X(f) con V(f), y esta señal ya no presenta la energía concentrada

en 𝑓! sino distribuida al rededor de esta frecuencia.

Para tener un análisis más preciso del tiempo, se puede utilizar una ventana v1(t) más

pequeña en el dominio transformado la convolución con su transformada V1(f), que

tendrá una duración Df mayor y degradará la resolución espectral.

3.2 Análisis tiempo frecuencia (t-f) utilizando Wavelets

3.2.1 Descomposición Wavelet Si se tiene una señal x(t), se puede conocer su espectro de energía descomponiéndola

en varias funciones con buena localización espectral, es decir con Df pequeños. Si x(t) es

limitada en frecuencia (0, BW), utilizando como base exponenciales complejas e j2πkfo·,

(senos y cosenos), en un intervalo (0,T) x(t) puede escribirse como:

Capítulo 4: Análisis tiempo-frecuencia de señales de EEG

46 Interfaces para Control Cerebral

Al multiplicar x(t) por la ventana v(t), la transformada de la señal resultante (convolución de X(f) con V(f)), ya no presenta la energía concentrada en fo sino distribuida en un entorno de esta frecuencia. Si a fin de conseguir una mejor resolución temporal, utilizamos una ventana v1(t) más estrecha (Dt menor), en el dominio transformado la convolucion con su transformada V1(f), que tendrá una duración Df mayor1 degradará la resolución espectral.

Figura 4.1: efecto "espectral" de una ventana temporal

Existe una relación de compromiso entre la resolución temporal y la espectral, solo puede mejorarse una a expensas de la otra. Además, el producto de ambas nunca puede ser mejor que una cota dada por el Principio de Incertidumbre (Apéndice 1) que establece:

π41≥⋅ ft DD (4.1)

La igualdad (mejor caso) se alcanza cuando v(t) es gaussiana. Utilizando esta ventana, llegamos a la Transformada de Gabor que está dada por:

∫∞

∞−

⋅−−− ⋅⋅⋅== dteetxbfGtxG tfjbt t πσ 22/)( 22

)(),()}({ (4.2)

Esta transformada tiene dos variables, una espectral f y una temporal b. Sus resoluciones o incertidumbres asociadas Dt y Df son (Apéndice 1):

tf

tt DD

πσσ

⋅==

8

1;

2 (4.3)

Podemos observar que elegida la ventana v(t), es decir su varianza σt , quedan fijadas Dt y Df. Este es el principal inconveniente de este método de análisis t-f: las resoluciones temporales y espectrales son fijas. Supongamos un caso con Dt=1 seg., y Df=1/(4π)=0.08 Hz. Estas incertidumbres son razonables para detectar una componente de algunos Hz. Para frecuencias mayores, digamos centenas de Hz, la resolución espectral de 0.08Hz en términos relativos es

1 Recordar la propiedad de cambio de escala de la T.de Fourier: si F{x(t)}=X(f), F {x(a·t)}=1/a· F {f/a}

f0

f0

f0

Tiempo Frecuencia

x(t)

x(t)·v(t)

v(t)

x(t)·v1(t)

v1(t)

X(f)

X(f)*V(f)

X(f)*V1(f)

Figura 16 Efecto espectral de un ventaneo. Tomado de [1].

Page 37: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 3 25

𝑥 𝑡 = 𝐶𝜅 ∙ 𝑒!!!!"#$⋅!!!

!!!!

Válida para 0 < 𝑡 < 𝑇 con 𝑓𝑜 = 1 𝑇 𝑦 𝑁 = 𝐵𝑊𝐴 ∕ 𝑓𝑜

Donde los ck son los coeficientes del desarrollo en serie de Fourier de x(t) dados por

𝑐! 𝑡 =1𝑇⋅ 𝑥 𝑡 ⋅ 𝑒!!!!"#$∙!

!

!

.𝑑𝑡

Hallados estos coeficientes, que son escalares, x(t) puede expresarse como:

𝑥 𝑡 = 𝑐!! ∙ 𝑒!!!!∙!"#∙! +∙∙∙ +𝑐!! ⋅ 𝑒!!!!∙!!!∙! + 𝑐!! ∙ 𝑒!!!!∙!"#∙! + 𝐶! + 𝐶! ∙ 𝑒!!!!∙!!!∙! + 𝑐!∙ 𝑒!!!!∙!!!∙! +∙∙∙ +𝑐! ∙ 𝑒!!!∙!!!∙! + 𝑐! ∙ 𝑒!!!!∙!!"∙! +∙∙∙ +𝑐! ∙ 𝑒!!!∙!"#∙!

Ya que una función de la forma ej2πkfo·t, tiene toda su energía en k·f0, un coeficiente ck

grande nos informa que la señal presenta un componente de energía alrededor de f=k·f0.

Así si se conocen los cj es posible saber como se distribuye espectralmente la energía de

x(t).

Las funciones utilizadas como base de descomposición e j2πkfo·, tienen toda su energía se

f(0), que permite conocer como se distribuye la energía de x(t) en las distintas

frecuencias. Pero no tenemos información alguna de cómo evoluciona esta energía en el

tiempo, pues las funciones e, comienzan en -∞ y terminan en +∞, o visto desde 0-T , la

abarcan completamente. La localización temporal de estas funciones es nula.

Para realizar un análisis t-f es necesario descomponer x(t) en una base compuesta por

funciones localizadas en t y en f. Supongamos una función ψ (t) tal que su energía esté

localizada tanto temporal como espectralmente.

Si ψ (t) tiene su energía concentrada alrededor de f0, una versión escalada ψ (a·t) la

tendrá en f0·a, así, a partir del factor de escala a, es posible generar una familia de curvas

con su energía espectralmente localizada en distintas frecuencias.

Page 38: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

26 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

El factor de escala se toma de la forma a=2j y la familia será ψ (2j ·t). Para conseguir

describir energías a lo largo del eje del tiempo, se debe incorporar a la base versiones

desplazadas de estas funciones. Asociando al desplazamiento un nuevo índice k, la

familia finalmente está dada por:

Ψ!" 𝑡 = 2!!∕! ⋅Ψ 2! ∙ 𝑡 − 𝑘

El factor 2-j/2 se incluye para normalizar en energía.

Descomponiendo x(t) en la base ψ jk(t), la misma queda expresada como una suma de

escalamientos y desplazamientos de la función ψ (t), que se denomina Wavelet madre.

𝑥 𝑡 = 𝑊!" ∙Ψ!" 𝑡

De esta forma x(t) puede componerse a partir de una suma ponderada (los Wjk son

escalares) de funciones básicas con energía localizada en un determinado rango de

frecuencia y de tiempo.

Un coeficiente Wlm elevado implica que la energía es importante en el tiempo y en el

rango de frecuencias dondese encuentra localizada ψ lm(t).

Capítulo 4: Análisis tiempo-frecuencia de señales de EEG

48 Interfaces para Control Cerebral

Recordando que una función de la forma ej2πkfo·t, tiene toda su energía localizada en k·f0 , un coeficiente ck grande nos informa que la señal analizada presenta una energía importante alrededor de f=k·f0. De esta manera, a partir de los cj podemos determinar como se distribuye espectralmente la energía de x(t). Ahora bien, las funciones utilizadas como base de descomposición ej2πf·t, presentan una excelente localización en frecuencia (su T. F es δ(f±f0): toda su energía se encuentra en f0), que nos permiten conocer con precisión como se distribuye la energía de x(t) en las distintas frecuencias. Pero no tenemos información alguna de cómo evoluciona esta energía en el tiempo, pues las funciones ej2πf·t, comienzan en -∞ y terminan en +∞, o visto desde nuestra ventana de observación 0-T , la abarcan completamente. La localización temporal de estas funciones es nula. Para realizar un análisis t-f es necesario descomponer x(t) en una base compuesta por funciones localizadas en t y en f. Supongamos una función ψ(t) tal que su energía esté localizada tanto temporal como espectralmente (ver Figura 4.3). Si ψ(t) tiene su energía concentrada alrededor de f0, una versión escalada ψ(a·t) la tendrá en f0·a, así, a partir del factor de escala a, es posible generar una familia de curvas con su energía espectralmente localizada en distintas frecuencias.

Figura 4.3: Escalamientos de la wavelet madre y sus transformadas de Fourier

Usualmente el factor de escala se toma de la forma a=2j (descomposición diádica o en octavas) y la familia será ψ(2j ·t). Para conseguir describir energías a lo largo del eje del tiempo, debemos incorporar a la base versiones desplazadas de estas funciones. Asociando al desplazamiento un nuevo índice k, la familia finalmente está dada por:

)2(2)( 2/ ktt jjjk −⋅⋅= − ψψ (4.7)

El factor 2-j/2 se incluye para normalizar en energía. En la Figura 4.4 se muestran algunas ψjk(t).

Descomponiendo x(t) en la base ψjk(t), la misma queda expresada como una suma de escalamientos y desplazamientos de la función ψ(t), que se denomina Wavelet madre.

∑ ⋅= )()( tWtx jkjk ψ (4.8)

De esta forma x(t) puede componerse a partir de una suma ponderada (los Wjk son escalares) de funciones básicas o "átomos" cada uno de ellos con energía localizada en un determinado rango de frecuencia y de tiempo. Un coeficiente Wlm elevado implica que la energía es importante en el tiempo y en el rango de frecuencias donde se encuentra localizada ψlm(t).

t →

ψ(t)ψ(2·t)

ψ(4·t)

f →

F{ψ(t)}

F{ψ(2·t)}

F{ψ(4·t)}

f0 2f0 4f0

Figura 17 Escalonamientos de wavelet madre y sus transformadas de Fourier. Tomado de [1].

Page 39: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 3 27

ψ (t) para ser una wavelet madre debe corresponder a la respuesta impulsiva de un filtro

pasabanda, es decir

Ψ(𝑓) 2𝑓

!

!!∙ 𝑑𝑓 < +∞

Ψ 𝑓 = 𝐹 Ψ 𝑡

Para que ψ jk(t) constituya una base ortogonal, esta debe verificar que:

Ψ!" 𝑡 ,Ψ!" 𝑡 = 0 ∀ 𝑗, 𝑘

Donde

𝑓 𝑡 ,𝑔 𝑡 = 𝑓 𝑡 ∙ 𝑔 𝑡 ∙ 𝑑𝑡!

!!

denota producto interno en L2. En este caso los coeficientes Wjk se obtendrán

proyectando x(t) sobre ψ jk(t):

𝑊!" = 𝑥 𝑡 ,Ψ!" 𝑡 = 𝑥 𝑡 ∙Ψ!" 𝑡 ∙ 𝑑𝑡!

!!

Y para el caso biortogonal, es necesario proyectar sobre el espacio dual ψ * jk (t) ø , es

decir aquel que verifica:

Ψ!" 𝑡 ,Ψ ∗ 𝑎𝑟𝑟𝑖𝑏𝑎!" 𝑡 = 0 ∀ 𝑗, 𝑘

y los Wjk estarán dados por:

𝑊!" = 𝑥 𝑡 ∙Ψ ∗!" 𝑡 = 𝑥 𝑡 ∙Ψ ∗!" 𝑡 ∙ 𝑑𝑡!

!!

Page 40: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

28 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

La descomposición en bandas se consigue a través de la aplicación sucesiva de filtros

pasabajos L(z), pasaltos H(z) y decimaciones. Los filtros L(z) y H(z) se obtienen a partir

de la wavelet madre elegida y deben ser simétricos [16].

3.2.2 Análisis de señales EEG Para analizar una señal, lo primero que debe hacerse es elegir la wavelet madre ψ (t)

que generará la base de descomposición [1, 17]. Para que la descomposición de x(t) en

la base ψ jk(t), pueda hacerse, es importante que esta base esté adaptada a la señal a

representar, es decir que el "aspecto" de ψ (t) sea similar al de la señal de EEG x(t).

Para el estudio de las interfaces implementadas fue necesario analizar

fundamentalmente la banda α (8-12 Hz) y la β inferior (16-24 Hz) que se evidenciaron

como las más reactivas para aplicaciones en BCI.

Para calcular la energía de la señal a partir de los Wjk es necesario que la base ψ jk(t)

sea biortogonal con espacio dual ψ * jk(t), x(t) y que pueda expresarse como:

𝑥 𝑡 = 𝑤!"Ψ!" 𝑡

La energía de x(t), está dada por:

∥ 𝑥 𝑡 ∥= 𝑥 𝑡 , 𝑥 𝑡 = 𝑥 𝑡 ∙ 𝑥 𝑡 ∙ 𝑑𝑡!

!!

Reescribiendo la expresión

∥ 𝑥 𝑡 ∥= 𝑤!"Ψ!" 𝑡 , 𝑤 ∗!"∙Ψ ∗!" 𝑡 𝑥(𝑡)

y sabiendo que

Ψ!" 𝑡 ,Ψ ∗!" = 0 ∀ 𝑗 ≠ 𝑙; 𝑘 ≠ 𝑚

Page 41: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 3 29

finalmente tenemos que

∥ 𝑥 𝑡 ∥= 𝑊!" ⋅𝑊 ∗!"!!!!!!

Vemos que para calcular la energía es necesario calcular tanto los Wjk como los W*jk, sin

embargo, si la base es ortogonal ψjk(t)= ψ* jk(t) se reduce a

𝑥(𝑡) = 𝑊 2!"

Esta expresión permite calcular la energía total de x(t). Usualmente se desea la

secuencia "temporal" de la energía en determinada escala (rango de frecuencias), que

estará dada, en el caso ortogonal por

𝑒! 𝑘 = 𝑊2!(𝑘)

Es decir que en el caso de una base ortogonal, los coeficientes wavelets elevados al

cuadrado nos indican la energía de la señal en la zona o casillero (j,k) del plano t-f.

Con base en las transformadas de Wavelets es posible escribir los códigos que bajo el

microcontrolador tendran la oportunodad de establecer los espectros de energía que

serán mostrados en las gráficas de las señales obtenidas a partir del Handset.

Page 42: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 43: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

4. Desarrollo experimental inicial

Para el desarrollo del trabajo experimental se hizo necesario dividir el proceso en

diferentes etapas que describen a continuación.

En la primera etapa se realizó el análisis respectivo de una unidad MINDFLEX de doble

comando, para entender la técnica electrónica usada para obtener señales EEG. En esta

etapa se hace indispensable medir de señales eléctricas con osciloscopios, para

garantizar la obtención de señales en bruto captadas por los electrodos que estarán

disponibles en los Handset de la unidad Mindflex con un tipo de conexión monopolar.

En la segunda etapa se dío inicio al diseño y construcción de una BCI simple y funcional,

para ello se prevé diseñar un modo de lectura de datos, a través de transmisión por

puerto serial para graficar cada una de las señales obtenidas y posteriormente adecuar

esta transmisión con sistemas bluetooth que hagan menos robusto el sistema y que

permita una lectura de datos mas sencilla y trabajable desde cualquier plataforma como

el Tracker; es decir que se busca realizar adaptaciones electrónicas a la unidad

Mindflex, a través de instrumentación, que permitan hacerla menos robusta y que faciliten

la obtención de las señales EEG tomadas desde el hemisferio frontal cerebral.

En esta etapa se establecieron las posibles configuraciones del microprocesador para

hacer un remodelamiento basados en sistema Arduino® Nano o Uno que haga mas

eficiente el sistema y que permita el control de los actuadores dispuestos para el fin, en

este caso los servomotores que harán que la mano cierre o abra según el estimulo.

Page 44: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

32 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Modelar el código con el cual el microprocesador trabajará las señales capturadas y que

se ajuste a los potencial obtenidos, para luego utilizarlos en la conexión de los servo

motores y controlar su movimiento, se conviertío en la tercera etapa de trabajo.

En un cuarto momento se trabajó en conjunto con la empresa PROTOTYPE, quien

elaborará la prótesis de mano a través de impresión 3D, basándose en las características

de diseño que se establezcan para la prueba asertiva del dispositivo .

Adaptar los servomotores a la prótesis, a través de experimentación electrónica, para

garantizar funcionalidad se consolidará como la etapa final experimental.

4.1 Unidad Mindflex Mindflex es un juego creado por la empresa Mattel y puesto en venta en el mercado

estadounidense en el año 2009 y que consiste en controlar una bola con la concentración

pues a medida en que ésta se incrementa la bola subirá o bajará venciendo obstáculos

para ganarle al oponente.

La concentración y la atención se hacen vitales ya que si por algún momento el jugador

se desconcentra, la bola caerá y se perderá el juego.

La unidad Mindflex se ofrece en diferentes presentaciones, entre ellas la que se muestra

en la figura 4.1 conocida como Mindflex Duel, que consta de la consola de encendido y

obstáculos y dos Handset, uno para cada jugador.

Page 45: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 33

Estas consolas cuentan con un micro controlador EEG producido por la empresa

Neurosky [18], lideres en este tipo de tecnología, siendo capaz de medir la actividad

eléctrica cerebral a través del Handset que se ubica en el lóbulo frontal derecho del

jugador.

Básicamente la unidad esta compuesta por dos partes: el Handset y el Mindflex Base

Station cuyo hardware se describe en la figura 18.

Figura 18 Unidad Mindflex® Tomado de [18].

Page 46: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

34 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Como se aprecia en la Figura 19, los tres electrodos están ubicados en el Handset, cuya

colocación debe corresponder a la configuración monopolar correcta, que propone un

electrodo ubicado en el lóbulo frontal derecho, y los otros dos en una zona sin

terminaciones nerviosas u óseas, que se comporten como una tierra para el circuito.

Figura 19 Hardware Unidad Mindflex® Tomado de [18].

Page 47: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 35

La zona que se determina propicia para la configuración de la tierra es el lóbulo de la

oreja que no presenta actividad nerviosa que pueda generar algún registro de voltaje

para los electrodos.

Internamente el Handset también guarda el chip diseñado por Neurosky, un micro

controlador y un emisor de señales de radio. Por otra parte el Base Station, esta

conformado por el receptor de ondas de radio, un micro controlador conectado a cinco

LED, que indicarán el nivel de concentración que tenga el individuo, y finalmente un

motor conectado a un ventilador que mantendrá en el aire la bola mientras los niveles de

concentración sean los adecuados.

4.2 El Arduino ONE como micro controlador primario El micro controlador que recibirá las señales captadas por los electrodos será una

plataforma Italiana libre, que permite la creación de proyectos basados en software y

hardware libre con una amplia gama de posibilidades de uso gracias a una gran cantidad

de sensores diseñados para ser compatibles con este micro controlador.

El micro controlador mencionado anteriormente se conoce como Arduino y su utilidad

esta en la posibilidad de captar dos tipos de señales principales de entrada, análogas y

digitales, pero además tiene la posibilidad de trabajar señales PWM (modulación por

ancho de pulso), que son útiles para manejar motores entre muchas otras aplicaciones

gracias a la posibilidad que se brinda para modificar el ciclo de trabajo de una señal

periódica, para transmitir información a partir de cierto protocolo o para controlar la

cantidad de voltaje con el que se controle un actuador.

El micro controlador de la placa Arduino es programable con un lenguaje basado en

Wiring, compatible con C++, Flash, MaxMSP y otros.

Page 48: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

36 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

La plataforma Arduino como software es gratuita y sus extensiones conocidas como

librerías para aplicaciones de sensores, instrumentación o actuadores, son descargables

en periodos de tiempo cortos después de que un nuevo sensor o elemento es puesto en

el mercado.

Otra ventaja importante de esta plataforma es que permite el envió de información bit a

bit a un computador u otra plataforma, posibilitando el monitoreo serial de transmisión y

recepción de datos y con algunos cambios sencillos en la programación, poderlos

graficar en tiempo real cuando ya está en ejecución el protocolo de comunicación.

Arduino cuenta con una amplia gama de posibilidades en cuanto su escogencia que

varían en el tamaño, la cantidad de entradas y salidas y los accesorios que tienen

incluidos para tareas específicas. Entre los más reconocidos están el Arduino Uno, el

Mega, el Mini, el Nano, el Leonardo, entre otros.

44

Familia Arduino Como toda familia que se respete, tenemos de los integrantes más grandes a los más pequeños, te invitamos a conocerlos:

6B

El m

ás v

endi

do,

todo

en

uno

Arduino UNO Arduino Mega2560

Muc

has

entr

adas

y

salid

as

Arduino Pro

Ligero y práctico

Arduino Fio

Programación XBee

Arduino Mini

Pequeño, ideal para protoboard

Programación vía bluetooth

Arduino Bluetooth Arduino Mega ADK

Para conectar el Android

Para artistas y manejar e-textils

Arduino LyliPad

Arduino Nano

Un pequeño pode-roso

Arduino Serial

El inicio del pro-yecto Arduino

Arduino Leonardo

El más joven y económico

44

Familia Arduino Como toda familia que se respete, tenemos de los integrantes más grandes a los más pequeños, te invitamos a conocerlos:

6B

El m

ás v

endi

do,

todo

en

uno

Arduino UNO Arduino Mega2560

Muc

has

entr

adas

y

salid

as

Arduino Pro

Ligero y práctico

Arduino Fio

Programación XBee

Arduino Mini

Pequeño, ideal para protoboard

Programación vía bluetooth

Arduino Bluetooth Arduino Mega ADK

Para conectar el Android

Para artistas y manejar e-textils

Arduino LyliPad

Arduino Nano

Un pequeño pode-roso

Arduino Serial

El inicio del pro-yecto Arduino

Arduino Leonardo

El más joven y económico

44

Familia Arduino Como toda familia que se respete, tenemos de los integrantes más grandes a los más pequeños, te invitamos a conocerlos:

6B

El m

ás v

endi

do,

todo

en

uno

Arduino UNO Arduino Mega2560

Muc

has

entr

adas

y

salid

as

Arduino Pro

Ligero y práctico

Arduino Fio

Programación XBee

Arduino Mini

Pequeño, ideal para protoboard

Programación vía bluetooth

Arduino Bluetooth Arduino Mega ADK

Para conectar el Android

Para artistas y manejar e-textils

Arduino LyliPad

Arduino Nano

Un pequeño pode-roso

Arduino Serial

El inicio del pro-yecto Arduino

Arduino Leonardo

El más joven y económico

Figura 20 Algunos ejemplares de la familia Arduino

Page 49: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 37

La expansiones para cada uno de los arduinos están disponibles para diferentes tareas;

estas expansiones reciben el nombre de Shields, y permiten por ejemplo conectarse a

una red WiFi, conectar una pantalla LCD, poseer un puerto USB Host, conectar motores,

adaptar Joysticks o lementos de comunicación como XBee, entre otros

45

Expandir Arduino con los shields

Un Shield o escudo es una placa que permite expandir funcionalidades a tu Arduino, con lo cual puedes conectar motores, o a la red celular, a una red WiFi, a una red Ethernet o tener un MP3 en el Arduino, entre muchos más solo mira:

6C

ESCANEA CON TU SMARTPHONE

BUSCA ASÍ

VISITA LA OPCIÓN DE

T01AB

VID

EO

TU

TO

RIA

L H

D

Celular Ethernet Proto GPS

XBee

Joystick Motores DC SD Card

WiFi LCD a color USB host

Figura 21 Shields más reconocidos para Arduino.

Page 50: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

38 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

La plataforma que se utilizó para el montaje preliminar fue el Arduino Uno, debido a la

versatilidad de uso de sus salidas análogas y digitales y además por su bajo precio. Su

descripción aparece a continuación:

1. Conector USB

2. Pulsador Reset

3. Pines de entrada y salida digitales y PWM

4. LED verde de Placa encendida

5. LED naranja de conexión al pin 13

6. Microprocesador ATmega 16U2 encargado de la comunicación al PC

46

Vistas auxiliares

Vista frontal

Placa Arduino Uno y sus partes 6D

9

10

1

2 3

4

8

7

6 5

11

12

13 14

9

Figura 22 Descripción Arduino Uno.

Page 51: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 39

7. LEDS TX y RX de la comunicación serial

8. Puerto para programación serial

9. Micro controlador principal ATmega 328

10. Cristal de cuerzo de 16Mhz

11. Regulador de voltaje

12. Conector a adaptador de voltaje

13. Pines de salida de voltaje y tierra

14. Entradas análogas

4.3 Obtencion primaria de señales La captura e interpretación primaria de las señales provenientes del lóbulo frontal es la

primera tarea, para que en una etapa posterior se realice el nuevo diseño de BCI basado

en las referencias y datos obtenidos en primera instancia.

El montaje experimental que permitirá la obtención preliminar de datos puede explicarse

en diagrama de bloque de la siguiente forma:

En esta primera configuración se realiza un trabajo experimental de captación de

señales eléctricas en el Handset, tomando las señales provenientes del Chip EEG

de Neurosky y transmitiéndolas por medio de alambres de cobre a un micro

controlador Arduino Uno, emulando el micro controlador interno del Handset, para

Figura 23 Configuración preliminar de hardware. Tomado de [18].

Page 52: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

40 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

luego llevar estas señales a un computador, para que a través de diseño de código

de programación y con ayuda de diferentes librerías que ofrece la plataforma

Arduino, poder registrar los datos obtenidos, en formato ASCII o CVS, para luego

ser interpretados y graficados.

Esta configuración fue realizada con case en el trabajo hecho por Frontinerds

Brain Hack [19], quienes proponen una forma sencilla y clara para una primera

intervención del Handset.

Para la conexión se utilizaron los siguientes materiales:

Hardware

· Un Handset de la unidad Mindflex.

· Tres baterías AAA para el Handset.

· Un Arduino Uno con cable USB.

· Dos alambres de 10cm de longitud, de núcleo sólido calibre número 22 o número

24.

· Un PC o Mac para controlar los datos de serie

Software

· Plataforma Arduino, descargable de forma gratuita desde www.arduino.com

· Librería Visualizer, compatible con Arduino Uno.

· Librería IP5 de procesamiento para Arduino Uno.

4.3.1 Montaje físico preliminar En primer lugar se debe desmontar la cubierta de base del Handset y buscar los

pines TX y RX, que corresponden a transmisión y recepción de datos digitales

desde la palca del Handset como se observa en la figura 24.

Figura 24 Vista del Handset sin cubierta base.

Page 53: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 41

Los pines pueden ser fácilmente identificados en una sobre base de la plataforma

principal con las letras TX y RX, o en algunos casos solo con las letras T y R; también es

posible identificarlos rápidamente junto al condensador electrolítico de 50mf y otro de

100mf, sobre la placa principal como se muestra en la Figura 25.

Figura 25 Identificación de los pines TX y RX

Page 54: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

42 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

El paso siguiente consiste en identificar una tierra común que puede ser extraída

del mismo Handset y que será posteriormente conectada a la tierra del

microcontrolador Arduino que hará el proceso de manejo de las señales captadas

por los electrodos.

El punto de tierra puede ubicarse justo al borde de la placa principal, acompañada

de la línea de alimentación reconocida por un cable rojo y junto a el cable negro

que corresponde a la tierra común deseada; junto a ellos se encuentran tres

condensadores electrolíticos y muy cercano a ellos el micro cristal del micro

controlador como puede observarse en la figura 29.

Identificados los puntos de conexión, se procede a soldar dos alambres, uno sobre el

punto de tierra y el otro sobre el punto TX que corresponde a transmisión de datos y de

donde se obtendrá la señal que será posteriormente llevada al micro controlador.

Figura 26 Ubicación de la tierra en la placa principal.

Page 55: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 43

Se hace necesario ajustar los alambres de conexión de salida internamente, a la base del

Handset con algún tipo de pegamento o silicona, como se observa en la figura 27 que

garantice que no se desprenderán debido a algún tirón o estiramiento posterior a la hora

de conectarlo con el micro controlador y así poder cerrar el Handset definitivamente.

.

Ajustados los alambres de salida y cerrada la carcaza del Handset, se procede a

conectar el Arduino teniendo en cuenta que el pin que soldamos sobre el Handset fue el

TX que corresponde a transmisión y que debemos conectarlo a RX sobre el Arduino que

corresponde a recepción de datos, y el otro pin fue el tierra que vendrá conectado al pin

GND del Arduino como se ve en la figura 28.

Figura 27 Ajuste de las conexiones de salida.

Figura 28 Conexión del Handset al Arduino.

Page 56: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

44 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Habiendo realizado las conexiones, el paso siguiente consiste en conectar Arduino

e instalar en el la librería gratuita disponible de nombre Brian Serial Out y seguido a

ello escribimos un código de prueba sobre la ventana de trabajo Arduino, que nos

permita visualizar en datos CVS las señales que se están transmitiendo desde el

Handset.

Es importante decir que habiendo escrito el código, es vital desconectar del Arduino

el pin RX, para que la placa no presente ningún inconveniente y el proceso para

subir el código consiste en primer lugar en verificar que la placa que se está

trabajando, ya haya sido reconocida por el computador y esto se consigue

haciendo clic en la pestaña herramientas y verificar que la esta sea efectivamente

Arduino UNO, y el puerto haya sido identificado correctamente, en caso contrario

escoger el COM adecuado. . El código escrito es el siguiente:

#include <Brain.h>

// Configurar el analizador cerebro, pasarlo al objeto de serie del hardware que desea

escuchar.

Page 57: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 45

Cerebro cerebro ( de serie ) ;

void setup ( ) {

// Inicia la serie del hardware.

Serial. comenzar ( 9600 ) ;

}

void loop ( ) {

// Espera paquetes enviados una vez por segundo.

// La función .readCSV () devuelve una cadena que enumera los datos más

recientes del cerebro, en el siguiente formato:

// "Poor signal o calidad de la señal, la atención, la meditación, delta, theta, alfa baja,

alta alfa, beta baja, alta beta, gamma baja y alta gamma"

si ( cerebro. actualización ( ) ) {

. Serie println ( cerebro. readCSV ( ) ) ;

}

}

El 9600 descrito en el código, es una medida en Baudios que es una unidad utilizada en

telecomunicaciones, que representa el número de símbolos por segundo en un medio de

transmisión digital. Cada símbolo puede comprender 1 o más bits, dependiendo de los

parámetros de modulación que se hayan planeado.

Arduino uno cuenta con la posibilidad de transmitir a 9600 baudios, 57000 baudios y

algunos otros dependiendo de la versión instalada.

Page 58: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

46 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Cuando se abre el monitor serial de Arduino, se puede observar que aparecen repetidos

números que corresponden en su orden, como lo indica el programa, la calidad de la

señal, el nivel de atención, meditación, delta, theta, alfa baja, alfa alta, beta baja, beta

alta, gama baja y gama alta, ver figura 29, siendo estos los valores discriminados por

Neurosky para la modulación de la señal y la transmisión de los datos.

También se hace importante notar algunos aspectos que pueden ser de alta importante

para la recepción y transmisión de datos. En primer lugar se hace vital estar verificando

en la placa Arduino el LED TX, quien debe estar destellando intermitentemente,

indicando que la transmisión de datos se esta realizando en forma correcta hacia el PC.

El segundo elemento que cobra importancia, es la lectura del primer número el panel del

monitor serial del software Arduino, que indica la calidad de la señal; este debe acercarse

a cero y en caso óptimo, ser cero, indicándonos que no hay pérdidas de señal por ruido,

ocasionadas por diferentes factores, entre ellos, la sudoración excesiva de la persona

que tiene puesto el Handset.

Para disminuir este error, se hace necesario muchas veces limpiar la piel del lóbulo

lateral de la persona que usará el Handset, con un paño húmedo con base alcohólica,

incluso dejar el paño puesto el intermedio entre el electrodo y la piel, para garantizar una

perfecta conducción de las señales eléctricas.

Ahora se hace necesario poder graficar dichos datos, para que posteriormente se hagan

reajustes a los códigos consiguiendo que los espectros de energía, se acerquen mas a

los modelamientos teóricos consultados.

Page 59: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 47

Para graficar se utiliza un software libre de aplicación que es compatible con Arduino,

conocida como Processing 2.2.1, y que permite en tiempo real graficar datos obtenidos

en formato CVS, modelando los diferentes espectros de energía que se reciben desde el

electrodo en el Handset.

Es necesario Programar el Processing con extensión PDE, vinculando el código escrito

en Arduino, con el nuevo código e lectura de las señales y para ellos de deben descargar

dos librerías prediseñada gratuitas conocidas como Brain Grapher y control IP5 que

garantizaran la vinculación y grafica de los datos.

El código escrito finalmente posee la siguiente estructura y fue desarrollado por Eric Mika

Figura 29 Datos CVS recibidos en el monitor serial de Arduino.

Page 60: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

48 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

in Fall 2010, updates Spring 2012 and again in early 2014 en Kitspatrol Brain Grapher y

está constituido por cinco plataformas cuyo código se puede analizar en el anexo 1.

Las plataformas constituyen los códigos para el Barin grapher, Channel, ConnectionLigth,

Graph y Monitor, que en términos generales estructuran los parámetros necesarios para

establecer las gráficas de salida para cada una de las señales obtenidas desde el

Handset.

La visualización de los datos habiendo aplicado los códigos decritos en el anexo A,

habiendo compilado y corrido el programa se muetran a constinuación.

Figura 30 Inicio de la visualización, doce datos recibidos

Page 61: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 49

4.3.2 Adaptaciones de Funcionalidad Disminuir el tamaño del equipo construido y adaptarlo a nuevas características de

funcionalidad se convierten en el paso siguiente de trabajo para conseguir un dispositivo

con más posibilidades de uso y con la capacidad de ser mejorado continuamente.

El primer cambio significativo está en la transmisión de datos, cambiando el sistema de

cable por un sistema inalámbrico, que será diseñado con un sistema Bluetooth

compatible con Arduino.

Figura 31 Visualización después de ciento noventa y ocho datos recibidos.

Page 62: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

50 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

En las Figuras 32 y 33 se aprecia la primera disminución de tamaño del dispositivo, en

donde el cable de datos es reemplazado por un dispositivo Bluetooth HC-06 y soldado a

un plug o conector TS (Tip-sleeve) de 6.35mm y que encaja perfectamente el la entrada

Figura 32 Conexión de transmisión por cable.

Figura 33 Conexión de transmisión vía Bluetooth.

Page 63: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 51

adaptada del Handset.

En un conector TS tal y como aparece en la figura 34, se encuentra el cuerpo que

corresponde a tierra en el número 1, en el dos conocido como aro se encuentra la

conexión negativa, en el número tres el denominado punta que corresponde a la

conexión positiva y en el número 4 los anillos aislantes.

Se hace necesario conectar una entrada hembra en el Handset que se ajuste

correctamente al conector TS, y esta entrada hembra se conectara a los pines TX, RX y

tierra que se utilizaron en el montaje preliminar para generar el proceso de transmisión,

esta elaboración puede observarse en las figuras 4.18 a y 4.18 b.

Figura 34 Configuración del conector TS. Tomado de [20].

Figura 35 Adaptación del conector hembra para conector TS

Page 64: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

52 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

En cuanto al dispositivo Bluetooth HC-06 es un módulo muy popular para aplicaciones

con Arduino o micro controladores mas poderosos, que posee un modo de comando AT,

es decir que recibe instrucciones codificadas que establecen un lenguaje de

comunicación inalámbrica entre un dispositivo de uso común como un teléfono celular y

un terminal modem.

El HC-06 trabaja como un módulo esclavo, es decir que necesita de otro dispositivo

bluetooth que haga las veces de maestro y envíe la orden de emparejamiento, en el caso

de ser trabajado con un teléfono celular o una tableta, ellos se convierten en el maestro y

el HC-06 será el esclavo.

Figura 36 Carcasa cerrada del Handset con adaptador hembra

Page 65: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 53

Las características técnicas mas relevantes del módulo HC-06 pueden describirse a

continuación.

. Especificación bluetooth v2.0 + EDR (Enhanced Data Rate)

. Modo esclavo (Solo puede operar en este modo)

. Puede configurarse mediante comandos AT (Deben escribirse en mayúscula)

. Chip de radio: CSR BC417143

. Frecuencia: 2.4 GHz, banda ISM

. Modulación: GFSK (Gaussian Frequency Shift Keying)

. Antena de PCB incorporada

. Potencia de emisión: ≤ 6 dBm, Clase 2

. Alcance 5 m a 10 m

. Sensibilidad: ≤ -80 dBm a 0.1% BER

. Velocidad: Asincrónica: 2 Mbps (max.)/160 kbps, sincrónica: 1 Mbps/1 Mbps

. Seguridad: Autenticación y encriptación (Password por defecto: 1234)

. Perfiles: Puerto serial Bluetooth

. Módulo montado en tarjeta con regulador de voltaje y 4 pines suministrando

acceso a VCC, GND, TXD, y RXD

. Consumo de corriente: 30 mA a 40 mA

. Voltaje de operación: 3.6 V a 6 V

. Dimensiones totales: 1.7 cm x 4 cm aprox.

. Temperatura de operación: -25 ºC a +75 ºC

Figura 37 Modulo bluetooth esclavo HC-06. Tomado de [20].

Page 66: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

54 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Para analizar con mayor detalle las características propias del dispositivo se puede

acceder al data sheet del dispositivo, que proporciona el fabricante.

Se deben realizar algunas pruebas preliminares que garanticen el funcionamiento

correcto de conexión de vías de transmisión y recepción de datos y para ello se

sugiere el siguiente montaje cuya representación gráfica es realizada en un software

libre de nombre Fritzing y que es descargable desde Fritzing.org y al cual se le

deben estar descargando periódicamente la inclusión de diferentes dispositivos que

salen al mercado en cuanto accesorios, sensores y extensiones que son compatibles

con la plataforma Arduino Uno.

Figura 38 Conexión Modulo bluetooth esclavo HC-06.

Page 67: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 55

Como se analizó en el montaje preliminar existen dos condiciones fundamentales para el

correcto funcionamiento del módulo HC-06. La primera consiste en que el código de

prueba que se subirá a la Placa Arduino, debe subirse sin ningún tipo de conexión de los

pines VCC, GND, TX y RX, pues si el módulo se encuentra conectado en el momento de

subir el código mostrará el mensaje de error.

Es importante recordar también la verificación en herramientas, del la placa y el COM de

conexión correcto, al igual que las conexiones deben ir cruzadas TX con RX y RX con

TX, copiar el código, hacer clic en compilar para comprobar errores y finalmente subir.

El código de prueba es descargable desde la plataforma Arduino en ejemplos modulo

HC-06 o en la página del desarrollador Hazim Bitar de licencia pública cuya estructura se

puede analizar en el anexo B.

Después de subido el código a la placa Arduino, se puede realizar la prueba de control

con una aplicación disponible para sistemas operativos ANDROID de nombre

ARDUDROID que dispone el mismo desarrollador del código de prueba.

Se conecta en forma cruzada los pines RX y TX, luego se conectan los pines VCC y

GND, con lo cual el módulo HC-06 empezara un parpadeo de un LED rojo que indica que

el dispositivo se encuentra correctamente conectado.

Además según la programación ejecutada es posible conectar el ánodo de un LED de

prueba en el PIN 13 o en cualquiera de las salidas análogas dispuestas para los

comandos de prueba y el negativo al GND de las entradas análogas.

Page 68: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

56 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Teniendo descargada la aplicación activamos en el dispositivo Android la función

Bluetooth, luego se escoge el modulo correspondiente en las herramientas propias de la

aplicación en la opción que dice connect me to a bluetoohth device, donde generalmente

aparecerá un código como el HC-06 20:16:03:30:27:30

Una vez escogido el dispositivo correctamente, el módulo dejará de parpadear y

continuará encendido hasta que se presente una desconexión de la fuente de

alimentación o se desconecte del maestro que este caso es el teléfono móvil.

El montaje físico se puede visualizar de la siguiente forma:

Figura 39 Visualización de la aplicación Ardudroid y reconocimiento del HC-06.

Page 69: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 4 57

Activando desde el teléfono móvil el pin 13 deberá encender el LED y con otro comando

apagarse comprobando así que el módulo esta trabajando adecuadamente.

Habiendo realizado la prueba del módulo se realiza la conexión al conector TS, se

conecta a la entrada hembra y habilitando la alimentación del Handset con las baterías

requeridas, se da el encendido y el HC-06 iniciará el parpadeo indicando que ha iniciado

la trasmisión de datos 9600 baudios o una tasa mayor según la programación que se

configurará mas adelante.

Figura 40 conexión física de prueba del móduloHC-06

Page 70: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

58 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Con esta etapa de trabajo se ha culminado el mejoramiento de la etapa de

transmisión y la nueva labor se configura en rediseñar la etapa de recepción de

datos a través de un nuevo modelamiento de funcionalidad que se basará en dos

alternativas de trabajo, una ya conocida, que se basa en los ritmos cerebrales

obtenidos de la concentración y ahora el modelamiento del parpadeo voluntario

como posibilidad de generación de impulsos eléctricos para controlar la prótesis.

Figura 41 conexión física del móduloHC-06 al Handset.

Page 71: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

5. Desarrollo experimental final: Modificación de la etapa de recepción de datos y aplicación a la prótesis de mano.

En el capítulo anterior se realizó la modificación del sistema de transmisión de datos

sobre el Handset y seguido a ello se utilizaron las señales que se captarán desde este, y

donde se comprobó que efectivamente existen, para no solamente hacerles un proceso

de lectura y graficación, sino la aplicación a un actuador, en este caso un motoreductor

que accionará la prótesis.

5.1 Nuevos dispositivos para mejora de la funcionalidad

5.1.1 El Arduino MINI como Nuevo Micro Controlador La Arduino Mini Pro es in instrumento muy útil, debido a que tiene catorce entradas

digitales (6 de las cuales se puedes utilizar como salidas PWM), seis entradas

analógicas, botón de reset y agujeros para el montaje de tiras de pines. Al dispositivo se

le conectar una tira de 6 pines para la conexión a un cable FTDI o a una placa

adaptadora para dotarla de comunicación USB y alimentación.

El Arduino Mini Pro puede ser alimentado por el cable FTDI o por un módulo DFIT 232

que permite la conexión a puerto USB; También se puede alimentar mediante una fuente

de regulada de 3.3v ó 5v (dependiendo del modelo) por el pin Vcc o por una fuente no

regulada conectada al pin RAW.

Los pines de alimentación son los siguientes:

Page 72: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

60 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

. RAW. Para alimentación en “bruto” (no regulada) a la placa.

. VCC. Suministro regulado de 3.3 o 5 voltios.

. GND. Pines de tierra o negativos.

El procesador del Arduino Mini es el ATmega168 que posee un total de 16KB de

memoria para el almacenamiento de sketches de los cuales 2KB están reservados

para el gestor de arranque. También tiene 1KB de SRAM y 512 bytes de EEPROM

en los cuales se puede leer y escribir mediante la librería EEPROM.

Cada uno de los 14 pines digitales puede ser configurado tanto como entrada o

como salida usando las funciones pinMode(), digitalWrite() y digitalRead(). Estos

pines operan a 3.3v o 5v dependiendo del modelo. Cada pin puede suministrar o

recibir una corriente máxima de 40mA y tienen resistencias pull-up internas

(desconectadas por defecto) de 20 a 50 kOhms. Además algunos de los pines

tienen funciones especiales:

• Serie: 0 (RX) y 1 (TX). Usados para recibir (RX) y transmitir (TX) datos serie TTL.

Estos pines están conectados con los pines TX-0 y RX-1 del conector de 6 pines.

• Interrupciones Externas: 2 y 3. Estos pines pueden ser configurados para actuar

como disparadores de interrupciones en caso de que cambien a estado bajo, un

pico de subida o bajada o simplemente en un cambio de estado. Ver la

Figura 42 Arduino Uno (izquierda) versus Arduino Mini (Derecha)

Page 73: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 61

función attachInterrupt()para más detalles.

• PWM: 3, 5, 6, 9, 10 y 11. Generan una señal PWM de salida con la

función analogWrite().

• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan

comunicación SPI, la cual no está, de momento, incluida en el lenguaje de

programación de Arduino.

• LED: 13. Hay un LED integrado en la placa conectado al pin 13. Cuando este pin

se pone en estado HIGH el LED se enciende, cuando el pin cambia a estado

LOW el LED se apaga.

El Arduino Mini Pro tiene 6 entradas analógicas, cada una tiene una resolución de 10 bits

(esto son 1024 valores). Cuatro de ellas estás en el conector lateral de la placa, otras dos

( la 4 y la 5) en agujeros en el interior de la placa. La medida de los valores analógicos se

hace entre VCC y GND.

Este dispositivo puede comunicarse con un computador, con otro Arduino o micro

controladores. El procesador ATmega168 tiene implementada comunicación serial UART

TTL en sus pines 0 (RX) y 1 (TX). El software de Arduino incluye un monitor serial que

permite que datos sencillos puedan ser enviados y recibidos desde la placa por medio de

la conexión USB.

La librería SoftwareSerial permite la comunicación Serie en cualquiera de los pines

digitales de la Mini Pro.

Para mayor información técnica es posible acceder al Data Sheet del dispositivo que

suministra el fabricante.

5.1.2 Modulo FTDI32 Otro dispositivo elegido para lograr efectos de mejora en cuanto la funcionalidad es el

módulo de coneción USB, que ademas de permitir una ganancia considerable de

espacio, proporciona una mejora en la velocidad de transmisión de datos.

Page 74: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

62 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Este módulo remplaza el puerto común RS232 por los puertos de conexión USB de

cuarta generación como se aprecia en la figura 43. Este dispositivo dispone de drivers

libres compatibles con los diferentes sistemas operativos, siendo una óptima posibilidad

de reducción de tamaño y ganancia en la velocidad de transmisión de datos

aproximadamente del 5%.

Las características técnicas del dispositivo que vale la pena tener encuenta son:

Posee un único chip maneja tanto el USB como la transferencia serie asíncrona.

Trabaja con una tasa de tranferencia de 300 Baudios a 3 mega Baudios.

Posee un soporte para USB suspend/resume a través de los pines SLEEP# y RI# y junto

a el mantiene un soporte para alimentar dispositivos directamente del bus USB a través

del pin PWREN#.

Posee un circuito Power-On-Reset incluido.

El voltaje de alimentación es menor al del Arduino Uno, por lo que significa tambien un

Figura 43 Modulo FTDI 232.

Page 75: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 63

ahorro de energía, la alimentación puede variar entre los 3,3V a 5,25V.

Este módulo ofrece una ventaja impotante frente al montaje anterior, pues ademas que

puede trabajar como elemento de comunicación hacia un computador a través de la

coneccion USB, para hacer lectura de los datos transmitidos, tambien puede servir como

un dispositivo de alimentación en caso tal de que las baterias que se han conectado

previamente no esten dando la respuesta deseada para hacer que el dispositivo trabaje

correctamente.

5.1.3 Modulo HC-05 Este nuevo módulo al igual que el HC-06 es un dispositivo Bluetooth pero que posee la

capacidad de trabajar como Maestro o como esclavo según la configuración que se

disponga y de la aplicación que se le vaya a dar.

Cuando su configuración se realiza como Esclavo, este puede ser vinculado a un

dispositivo Bluetooth externo como el de un celular, una tableta o un PC, y su

configuración de código no varía a la mostrada en el módulo HC-06.

Cuando la configuración se realiza para trabajarlo como Maestro, este dispositivo debe

iniciar el protocolo de conexión y comunicación hacia un dispositivo esclavo únicamente,

refiriendo un código de conexión estándar, que tanto para el HC-05 como para el HC-06

es 1234 o 0000. Para este caso, la conexión básica se muestra a continuación

Figura 44 Modulo HC-05.

Page 76: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

64 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

combinando el Arduino mini pro con el HC-05.

Respecto al código de interaccion de dispositivos para la configuración de Maestro, su

estructura general se muestra en el anexo C.

Teniendo estos pasos claros, el montaje de esta etapa correspondiente a la ejecución de

tareas sobre la placa Mini, esta lista y resta hacer una diagramación en bloques del

funcionamiento final del circuito, junto con la escritura del código.

Figura 45 Conexiòn HC-05 a Arduino mini pro.

Page 77: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 65

5.2 Configuración del montaje final

Diseñar una estructura final donde actúen los diferentes dispositivos que se analizaron

por separado en el anterior capÍtulo es una de las partes finales del trabajo, donde las

tareas de mejora de funcionalidad se han cumplido respecto a la escogencia de los

dispositivos.

En este diseño de circuito final donde interactúan las diferentes partes, y que facilitan a

su vez la escritura del protocolo de comunicación, es fácilmente comprensible a través de

diagramas de bloque y luego a través de imágenes con cada una de las partes en su

construcción, facilitar la construcción del mismo , para finalmente escribir el código o

protocolo para la placa Arduino Mini y mostrar los resultados con el actuador dispuesto

que en este caso será la prótesis de mano.

El diagrama de bloques que describe el montaje final del sistema se presenta a

continuación:

Page 78: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

66 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

5.2.1 Diseño de la protesis La protesis fué diseñada y digitalizada por la empresa PROTOTYPE 3D, donde se

fabrican prototipos y modelos para generar impresión y escaneo 3D, a través de corte

laser, según las indicaciones suministradas por el usuario del producto.

Los modelamientos finales pueden ser realizados en plástico, acrílico, madera, textiles,

entre otros; sin embargo para la impresión 3D se utilizan filamentos de 1.75mm hasta

3mm en plástico PLA o ABS.

El diseño final de la protesis se muestra en la suguiente imagen.

Figura 46 Diseño final de la pròtesis de mano.

Page 79: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 67

5.2.2 Montaje físico final La imagen que aparece a continuación muestra la implementación final del montaje

eléctronico que en conjunto es la reunion de las partes descritas anteriormente, y que en

términos generales permiten establecer el vínculo entre los dos módulos Bluetooth y asi

permitr la transmisión de datos que posteriormente son trabajados por el micro

controlador que en este caso es el Arduino Mini pro.

En esta estructura se pueden observar cada una de las partes que conforman el

prototypo final donde es importante reslatar algunos elemtos no descritos anteriormente.

Figura 47 Estructura final del diseño.

Page 80: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

68 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

1. Handset: sistema de captación y envio de señales eléctricas, configurado

básicamente con el módulo HC-04.

2. Módulo de recepción de señales, conformado por el Arduino Mini Pro y cuyo

elemento de recepción es el módulo HC-05.

3. Modulo FTDI232: Encargado de posibilitar la conexión vía USB entre el Arduino

Mini pro y un computador para hacer lectura del estado de las señales o

captación de los niveles de POOR SIGNAL (ruido) que suministra el software.

4. Baterías de litio de 3.7v a 250 mAh, encargadas de la alimentación del

servomotor (actuador), que fue diseñado con alimentación independiente para no

afectar en caso de sobrecarga los diferentes módulos conectados en el sistema.

5. Prótesis diseñada por PROTOTYPE.

El montaje general que tiene la placa, se describe a continuación.

Figura 48 Diseño de la placa general.

Page 81: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 69

En la figura 47 se identifican los siguientes elementos:

1. Ranuras de conexión para Arduino Mini Pro.

2. Ranuras de conexión para módulo Bluetooth HC-05.

3. Pines de conexión para baterías de litio de 3,7v que alimentarán los actuadores.

4. Ranuras de conexión para regulador de voltaje.

5. Pines de conexión para 5 actuadores diferentes.

6. Alimentación externa del Prototipo, baterías de litio de 3,7v.

7. LED RGB que indica el modo de selección (parpadeo o relajación).

8. Sistema de encendido o apagado general.

9. Sistema de encendido o apagado de actuadores.

10. Selección de modo parpadeo o relajación.

A continuación a partir de imágenes se muestra en detalle el montaje de cada una de las

partes sobre la placa principal

Figura 49 Montaje del Arduino mini pro sobre la placa.

Page 82: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

70 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Figura 50 Montaje del módulo HC-05 sobre la placa.

Figura 51 Montaje del regulador sobre la placa.

Page 83: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 71

Figura 52 Montaje del módulo FTI232 en el Arduino Mini pro.

Figura 53 Montaje del servomotor (actuador) sobre la placa principal.

Page 84: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

72 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Como se muestra en las imágenes anteriores, cada una de las piezas fue diseñada para

acceder a un montaje independiente, garantizando que en caso de corto o daño de

alguna de las partes, no afecte en su totalidad al prototipo.

Con el montaje de cada una de las partes y dispuesta su configuración final, es necesario

ahora hacer revisión del código que hará posible el funcionamiento final. Este código

puede analizarse en el anexo D.

El código inicia con la declaración de las variables de ejecución para cada uno de los

pines del Arduino mini, luego la definición de las variables para cada una de las señales

en sus respectivos espectros de frecuencia, seguido de los comandos de envío hacia

puerto serial de los datos recibidos, con la opción de selección de modo entre parpadeo o

Figura 54 Ubicación de las baterías de litio sobre la placa principal.

Page 85: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Capítulo 5 73

relajación que hará que el actuador se accione en el momento adecuado. Cada uno de

los detalles pueden ser analizados en el anexo correspondiente.

Page 86: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 87: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

6. Conclusiones y recomendaciones

6.1 Conclusiones Los protocolos de comunicación entendidos como un conjunto de reglas que gobiernan

un intercambio organizado de bits a través de canales digitales, pueden ser ejecutados a

través de códigos de estructuras simples que proporcionan entendimiento y claridad en la

ejecución de tareas de control de señales, para ejecutar tareas específicas a través de

actuadores.

La presencia de potenciales en las diferentes regiones cerebrales, especialmente en la

región dorso lateral izquierda donde se realizaron las mediciones gráficas confrontadas

con la teoría, corresponden a los niveles de atención, meditación y relajación reconocidos

como señales alfa, beta, gama, entre otras, que un individuo puede generar a partir de

cierta práctica sencilla antes de controlar la prótesis por primera vez, verificando despues

de la práctica que estas potenciales se producen y se capturan en los electrodos de

forma mas rápida y ámplia.

Las señales obtenidas a partir del ritmo alfa, establecidas a partir del canal de

comunicación digital de la plataforma Arduino,establece una velocidad cercana a los

57600 baudios que concuerda claramente con lo establecido con la teoría, disminuyendo

los porcentajes de error o POOR Signal de 24 a a 0 según lo estimado en el código

programado.

Manipular desde la teoría y luego en los montajes electrónicos, cada uno de los

dispositivos que se dispusieron para comprender el funcionamiento del sistema inicial,

especialmente del microprocesador del Mindflex, y luego en la adaptación de

funcionalidad y disminución de robustez del equipo, genera interesantes opciones de

Page 88: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

76 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

trabajo en la física, donde se hace posible abrir una amplia gama de opciones de

simulación de sistemas físicos a partir del trabajo con micro controladores Arduino, que

en su programación y modelamiento electrónico, no proporcionan mayor dificultad, pero

si se consigue gran aprendizaje y verificación de los fenómenos.

La construcción de la prótesis bajo el proceso de análisis de un juego producido por una

empresa como Matel, con base en trabajo experimental basado en el análisis de señales,

se convierte en una gran oportunidad en reducción de costos frente a otro tipo de

prótesis que se encuentran en el mercado, reduciéndolos hasta en un 80% su costo

comercial y presentando una funcionalidad apropiada para respuestas eficientes en

tiempo y ejecución de tareas simples.

Involucrar la física y el estudio del cerebro sigue abriendo puertas para dedicarse desde

trabajos concretos en neurología o electrofisiología, en donde la física cobra un papel

fundamental y se relaciona con muchísimas ramas de la ciencia que permiten trabajos

posteriores.

Herramientas como Arduino, Processing o Eagle, se convierten en posibilidades de fácil

uso y gran cobertura de aplicaciones para el análisis de sistemas electromagnéticos, que

en cuanto a sus simulaciones, dejan la posibilidad al estudiante de abordar trabajos con

diferentes sensores o dispositivos electrónicos concretos que contribuyen a simular

sistemas físicos con gran detalle y modelamiento matemático.

6.2 Recomendaciones Aunque el dispositivo obtenido como producto final cumple con los objetivos dispuestos

desde la concepción de la idea, incluso en cuanto a la disminución de costos y tamaño,

se hace pertinente la continuidad de trabajos, que desde la física puedan hacer análisis

de nuevos dispositivos electrónicos que aparezcan en el mercado y que con trabajo

experimental puedan adaptarse de mejor manera a nuevos propósitos para mejorar la

funcionalidad de la prótesis y además disminuir mucho más el tamaño que se obtuvo den

este trabajo.

Page 89: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 77

A. Anexo: Código de BrainGrapher elaborado en Processing 2.2.1

Brain Grapher

// Main controller / model file for the the Processing Brain Grapher.

// See README.markdown for more info.

// See http://frontiernerds.com/brain-hack for a tutorial on getting started with the Arduino

Brain Library and this Processing Brain Grapher.

// Latest source code is on https://github.com/kitschpatrol/Processing-Brain-Grapher

// Created by Eric Mika in Fall 2010, updates Spring 2012 and again in early 2014.

import processing.serial.*;

import controlP5.*;

ControlP5 controlP5;

Serial serial;

Channel[] channels = new Channel[11];

Monitor[] monitors = new Monitor[10];

Graph graph;

ConnectionLight connectionLight;

int packetCount = 0;

int globalMax = 0;

String scaleMode;

void setup() {

// Set up window

size(1024, 768);

frameRate(60);

Page 90: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

78 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

smooth();

frame.setTitle("Processing Brain Grapher");

// Set up serial connection

println("Find your Arduino in the list below, note its [index]:\n");

for (int i = 0; i < Serial.list().length; i++) {

println("[" + i + "] " + Serial.list()[i]);

}

// Put the index found above here:

serial = new Serial(this, Serial.list()[1], 9600);

serial.bufferUntil(10);

// Set up the ControlP5 knobs and dials

controlP5 = new ControlP5(this);

controlP5.setColorLabel(color(0));

controlP5.setColorBackground(color(0));

controlP5.disableShortcuts();

controlP5.disableMouseWheel();

controlP5.setMoveable(false);

// Create the channel objects

channels[0] = new Channel("Signal Quality", color(0), "");

channels[1] = new Channel("Attention", color(100), "");

channels[2] = new Channel("Meditation", color(50), "");

channels[3] = new Channel("Delta", color(219, 211, 42), "Dreamless Sleep");

channels[4] = new Channel("Theta", color(245, 80, 71), "Drowsy");

channels[5] = new Channel("Low Alpha", color(237, 0, 119), "Relaxed");

channels[6] = new Channel("High Alpha", color(212, 0, 149), "Relaxed");

channels[7] = new Channel("Low Beta", color(158, 18, 188), "Alert");

channels[8] = new Channel("High Beta", color(116, 23, 190), "Alert");

Page 91: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 79

channels[9] = new Channel("Low Gamma", color(39, 25, 159), "Multi-sensory

processing");

channels[10] = new Channel("High Gamma", color(23, 26, 153), "???");

// Manual override for a couple of limits.

channels[0].minValue = 0;

channels[0].maxValue = 200;

channels[1].minValue = 0;

channels[1].maxValue = 100;

channels[2].minValue = 0;

channels[2].maxValue = 100;

channels[0].allowGlobal = false;

channels[1].allowGlobal = false;

channels[2].allowGlobal = false;

// Set up the monitors, skip the signal quality

for (int i = 0; i < monitors.length; i++) {

monitors[i] = new Monitor(channels[i + 1], i * (width / 10), height / 2, width / 10, height /

2);

}

monitors[monitors.length - 1].w += width % monitors.length;

// Set up the graph

graph = new Graph(0, 0, width, height / 2);

// Set yup the connection light

connectionLight = new ConnectionLight(width - 140, 10, 20);

}

void draw() {

// Keep track of global maxima

if (scaleMode == "Global" && (channels.length > 3)) {

for (int i = 3; i < channels.length; i++) {

Page 92: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

80 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

if (channels[i].maxValue > globalMax) globalMax = channels[i].maxValue;

}

}

// Clear the background

background(255);

// Update and draw the main graph

graph.update();

graph.draw();

// Update and draw the connection light

connectionLight.update();

connectionLight.draw();

// Update and draw the monitors

for (int i = 0; i < monitors.length; i++) {

monitors[i].update();

monitors[i].draw();

}

}

void serialEvent(Serial p) {

// Split incoming packet on commas

// See https://github.com/kitschpatrol/Arduino-Brain-Library/blob/master/README for

information on the CSV packet format

String incomingString = p.readString().trim();

print("Received string over serial: ");

println(incomingString);

String[] incomingValues = split(incomingString, ',');

Page 93: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 81

// Verify that the packet looks legit

if (incomingValues.length > 1) {

packetCount++;

// Wait till the third packet or so to start recording to avoid initialization garbage.

if (packetCount > 3) {

for (int i = 0; i < incomingValues.length; i++) {

String stringValue = incomingValues[i].trim();

int newValue = Integer.parseInt(stringValue);

// Zero the EEG power values if we don't have a signal.

// Can be useful to leave them in for development.

if ((Integer.parseInt(incomingValues[0]) == 200) && (i > 2)) {

newValue = 0;

}

channels[i].addDataPoint(newValue);

}

}

}

}

// Utilities

// Extend Processing's built-in map() function to support the Long datatype

long mapLong(long x, long in_min, long in_max, long out_min, long out_max) {

return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;

}

// Extend Processing's built-in constrain() function to support the Long datatype

long constrainLong(long value, long min_value, long max_value) {

Page 94: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

82 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

if (value > max_value) return max_value;

if (value < min_value) return min_value;

return value;

}

Channel

class Channel {

// Value object class to store EEG power information for each channel.

// One instance per EEG channel.

String name;

int drawColor;

String description;

boolean graphMe;

boolean relative;

int maxValue;

int minValue;

ArrayList points;

boolean allowGlobal;

Channel(String _name, int _drawColor, String _description) {

name = _name;

drawColor = _drawColor;

description = _description;

allowGlobal = true;

points = new ArrayList();

}

void addDataPoint(int value) {

long time = System.currentTimeMillis();

if (value > maxValue) maxValue = value;

Page 95: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 83

if (value < minValue) minValue = value;

points.add(new Point(time, value));

}

Point getLatestPoint() {

if (points.size() > 0) {

return (Point)points.get(points.size() - 1);

}

else {

return new Point(0, 0);

}

}

}

Connection Ligth

class ConnectionLight {

// View class to display EEG connection strength.

// Used as a singleton.

int x, y, diameter, latestConnectionValue;

int currentColor = 0;

int goodColor = color(0, 255, 0);

int badColor = color(255, 255, 0);

int noColor = color(255, 0, 0);

Textlabel label;

Textlabel packetsRecievedLabel;

ConnectionLight(int _x, int _y, int _diameter) {

x = _x;

y = _y;

diameter = _diameter;

Page 96: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

84 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

// Set up the text label

label = new Textlabel(controlP5, "CONNECTION QUALITY", 32, 11, 200, 30);

label.setMultiline(true);

label.setColorValue(color(0));

packetsRecievedLabel = new Textlabel(controlP5, "PACKETS RECEIVED: 0", 5, 35,

200, 30);

packetsRecievedLabel.setMultiline(false);

packetsRecievedLabel.setColorValue(color(0));

}

void update() {

// Show red if no packets yet

if (channels[0].points.size() == 0) {

latestConnectionValue = 200;

}

else {

latestConnectionValue = channels[0].getLatestPoint().value;

}

if (latestConnectionValue == 200) currentColor = noColor;

if (latestConnectionValue < 200) currentColor = badColor;

if (latestConnectionValue == 00) currentColor = goodColor;

packetsRecievedLabel.setText("PACKETS RECIEVED: " + packetCount);

}

void draw() {

pushMatrix();

translate(x, y);

Page 97: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 85

noStroke();

fill(255, 150);

rect(0, 0, 132, 50);

noStroke();

fill(currentColor);

ellipseMode(CORNER);

ellipse(5, 4, diameter, diameter);

label.draw();

packetsRecievedLabel.draw();

popMatrix();

}

}

Graph

class Graph {

// View class to draw a graph of the channel model's values over time.

// Used as a singleton.

int x, y, w, h, pixelsPerSecond, gridColor, gridX, originalW, originalX;

long leftTime, rightTime, gridTime;

boolean scrollGrid;

String renderMode;

float gridSeconds;

Slider pixelSecondsSlider;

RadioButton renderModeRadio;

RadioButton scaleRadio;

Graph(int _x, int _y, int _w, int _h) {

x = _x;

y = _y;

w = _w;

Page 98: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

86 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

h = _h;

pixelsPerSecond = 50;

gridColor = color(0);

gridSeconds = 1; // seconds per grid line

scrollGrid = false;

originalW = w;

originalX = x;

// Set up GUI controls

pixelSecondsSlider = controlP5.addSlider("PIXELS PER SECOND", 10, width, 50, 16,

16, 100, 10);

pixelSecondsSlider.setColorForeground(color(180));

pixelSecondsSlider.getCaptionLabel().setColor(color(0));

pixelSecondsSlider.setColorActive(color(180));

renderModeRadio = controlP5.addRadioButton("RENDER MODE", 16, 36);

renderModeRadio.setColorForeground(color(255));

renderModeRadio.setColorActive(color(0));

renderModeRadio.setColorBackground(color(180));

renderModeRadio.setSpacingRow(4);

renderModeRadio.addItem("Lines", 1);

renderModeRadio.addItem("Curves", 2);

renderModeRadio.addItem("Shaded", 3);

renderModeRadio.addItem("Triangles", 4);

renderModeRadio.activate(0);

scaleRadio = controlP5.addRadioButton("SCALE MODE", 104, 36);

scaleRadio.setColorForeground(color(255));

scaleRadio.setColorActive(color(0));

scaleRadio.setColorBackground(color(180));

Page 99: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 87

scaleRadio.setSpacingRow(4);

scaleRadio.addItem("Local Maximum", 1);

scaleRadio.addItem("Global Maximum", 2);

scaleRadio.activate(0);

}

void update() {

// Set pixels per second from GUU slider

pixelsPerSecond = round(pixelSecondsSlider.value());

// Set render mode from GUI radio buttons

switch (round(renderModeRadio.value())) {

case 1:

renderMode = "Lines";

break;

case 2:

renderMode = "Curves";

break;

case 3:

renderMode = "Shaded";

break;

case 4:

renderMode = "Triangles";

break;

}

// Set scale mode from GUI radio buttons

switch(round(scaleRadio.value())) {

case 1:

scaleMode = "Local";

break;

case 2:

scaleMode = "Global";

break;

Page 100: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

88 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

}

// Smooth drawing kludge

w = originalW;

x = originalX;

w += (pixelsPerSecond * 2);

x -= pixelsPerSecond;

// Figure out the left and right time bounds of the graph, based on

// the pixels per second value

rightTime = System.currentTimeMillis();

leftTime = rightTime - ((w / pixelsPerSecond) * 1000);

}

void draw() {

pushMatrix();

translate(x, y);

// Background

fill(220);

rect(0, 0, w, h);

// Draw the background graph paper grid

strokeWeight(1);

stroke(255);

if (scrollGrid) {

// Start from the first whole second and work right

gridTime = (rightTime / (long)(1000 * gridSeconds)) * (long)(1000 * gridSeconds);

Page 101: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 89

}

else {

gridTime = rightTime;

}

while (gridTime >= leftTime) {

int gridX = (int)mapLong(gridTime, leftTime, rightTime, 0L, (long)w);

line(gridX, 0, gridX, h);

gridTime -= (long)(1000 * gridSeconds);

}

// Draw square horizontal grid for now

int gridY = h;

while (gridY >= 0) {

gridY -= pixelsPerSecond * gridSeconds;

line(0, gridY, w, gridY);

}

// Draw each channel

noFill();

if (renderMode == "Shaded" || renderMode == "Triangles") noStroke();

if (renderMode == "Curves" || renderMode == "Lines") strokeWeight(2);

for (int i = 0; i < channels.length; i++) {

Channel thisChannel = channels[i];

if (thisChannel.graphMe) {

// Draw the graph line

if (renderMode == "Lines" || renderMode == "Curves")

stroke(thisChannel.drawColor);

if (renderMode == "Shaded" || renderMode == "Triangles") {

noStroke();

fill(thisChannel.drawColor, 120);

Page 102: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

90 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

}

if (renderMode == "Triangles") {

beginShape(TRIANGLES);

}

else {

beginShape();

}

if (renderMode == "Curves" || renderMode == "Shaded") vertex(0, h);

for (int j = 0; j < thisChannel.points.size(); j++) {

Point thisPoint = (Point)thisChannel.points.get(j);

// check bounds

if ((thisPoint.time >= leftTime) && (thisPoint.time <= rightTime)) {

int pointX = (int)mapLong(thisPoint.time, leftTime, rightTime, 0L, (long)w);

int pointY = 0;

if ((scaleMode == "Global") && (i > 2)) {

// Global scale

pointY = (int)map(thisPoint.value, 0, globalMax, h, 0);

}

else {

// Local scale

pointY = (int)map(thisPoint.value, thisChannel.minValue, thisChannel.maxValue,

h, 0);

}

if (renderMode == "Curves") {

curveVertex(pointX, pointY);

}

Page 103: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 91

else {

vertex(pointX, pointY);

}

}

}

}

if (renderMode == "Curves" || renderMode == "Shaded") vertex(w, h);

if (renderMode == "Lines" || renderMode == "Curves" || renderMode == "Triangles")

endShape();

if (renderMode == "Shaded") endShape(CLOSE);

}

popMatrix();

// GUI background matte

noStroke();

fill(255, 150);

rect(10, 10, 195, 81);

}

}

Monitor

class Monitor {

// View class showing a bar-graph of each channel's

// One instance per EEG channel.

int x, y, w, h, currentValue, targetValue, backgroundColor;

Channel sourceChannel;

CheckBox showGraph;

Textlabel label;

Toggle toggle;

Page 104: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

92 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Monitor(Channel _sourceChannel, int _x, int _y, int _w, int _h) {

sourceChannel = _sourceChannel;

x = _x;

y = _y;

w = _w;

h = _h;

currentValue = 0;

backgroundColor = color(255);

// Create GUI

showGraph = controlP5.addCheckBox("showGraph" + sourceChannel.name, x + 16, y

+ 32);

showGraph.addItem("GRAPH" + sourceChannel.name, 0);

showGraph.activate(1);

showGraph.setColorForeground(sourceChannel.drawColor);

showGraph.setColorActive(color(180));

showGraph.setColorBackground(color(0));

toggle = showGraph.getItem(0);

toggle.setLabel("GRAPH");

label = new Textlabel(controlP5, sourceChannel.name.toUpperCase(), x + 12, y + 15);

label.setColorValue(0);

}

void update() {

sourceChannel.graphMe = (showGraph.getItem(0).value() == 0);

}

void draw() {

pushMatrix();

translate(x, y);

Page 105: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo A. Código de Braingrapher elaborado en Processing 2.2.1 93

// Background

noStroke();

fill(backgroundColor);

rect(0, 0, w, h);

// Border line

strokeWeight(1);

stroke(220);

line(w - 1, 0, w - 1, h);

// Bar graph

if (sourceChannel.points.size() > 0) {

Point targetPoint = (Point)sourceChannel.points.get(sourceChannel.points.size() - 1);

targetValue = round(map(targetPoint.value, sourceChannel.minValue,

sourceChannel.maxValue, 0, h));

if ((scaleMode == "Global") && sourceChannel.allowGlobal) {

targetValue = (int)map(targetPoint.value, 0, globalMax, 0, h);

}

// Calculate the new position on the way to the target with easing

currentValue = currentValue + round(((float)(targetValue - currentValue) * .08));

// Bar

noStroke();

fill(sourceChannel.drawColor);

rect(0, h - currentValue, w, h);

}

// Draw the checkbox matte

noStroke();

fill(240, 150);

rect(10, 10, w - 20, 40);

Page 106: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

94 Construcción de una prótesis de mano, controlada a través de señales EEG obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

popMatrix();

label.draw();

}

}

Page 107: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

B. Anexo: Estructura del código para el módulo HC-06

#define CARACTER_INICIO_CMD '*'

#define CARACTER_FINAL_CMD '#'

#define CARACTER_DIV_CMD '|'

#define ESCRITURA_DIGITAL_CMD 10

#define ESCRITURA_ANALOGA_CMD 11

#define TEXTO_CMD 12

#define LECTURA_ARDUDROID_CMD 13

#define MAX_COMMAND 20

#define MIN_COMMAND 10

#define LONGITUD_ENTRADA_STRING 40

#define ESCRITURA_ANALOGICA_MAX 255

#define PIN_ALTO 3

#define PIN_BAJO 2

String inText;

Page 108: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

96 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

void setup() {

Serial.begin(9600);

Serial.println("elprofegarcia.com");

Serial.flush();

}

void loop()

{

Serial.flush();

int ard_command = 0;

int pin_num = 0;

int pin_value = 0;

char get_char = ' '; //lee serial

// esperar a que los datos entren

if (Serial.available() < 1) return; // si no hay datos en el serial retornar al Loop().

// analizar entrada de indicador de inicio de comando

get_char = Serial.read();

if (get_char != CARACTER_INICIO_CMD) return; // si no hay indicación de inicio del

sistema, volver loop ().

// parse incoming command type

Page 109: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo B. Estructura del código para el módulo HC-06 97

ard_command = Serial.parseInt(); // read the command

// analizar el tipo de comando entrante

pin_num = Serial.parseInt(); // leer el pin

pin_value = Serial.parseInt(); // leer el valor

// 1) OBTENER COMANDO DE TEXTO PARA ARDUDROID

if (ard_command == TEXTO_CMD){

inText =""; // borra variable para nueva entrada

while (Serial.available()) {

char c = Serial.read(); // recibe un byte de la memoria intermedia serie

delay(5);

if (c == CARACTER_FINAL_CMD) { // si la cadena completa ha sido leida

// add your code here

break;

}

else {

if (c != CARACTER_DIV_CMD) {

inText += c;

delay(5);

}

}

Page 110: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

98 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

}

}

// 2) OBTENER DATOS DE digitalWrite ARDUDROID

if (ard_command == ESCRITURA_DIGITAL_CMD){

if (pin_value == PIN_BAJO) pin_value = LOW;

else if (pin_value == PIN_ALTO) pin_value = HIGH;

else return; // error en el valor de PIN. regresar.

set_digitalwrite( pin_num, pin_value); // Eliminar el comentario de esta función para

utilizarla

return; // regrese al inicio de loop()

}

// 3) GET analogWrite DATA FROM ARDUDROID

if (ard_command == ESCRITURA_ANALOGA_CMD) {

analogWrite( pin_num, pin_value );

// add your code here

return; // Done. return to loop();

}

// 4) Enviar datos a ARDUDROID

if (ard_command == LECTURA_ARDUDROID_CMD) {

Page 111: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo B. Estructura del código para el módulo HC-06 99

// char send_to_android[] = " Coloca el texto aquí." ;

// Serial.println(send_to_android); // Ejemplo: Envío de texto

Serial.print(" Analogo 0 = ");

Serial.println(analogRead(A0)); // Ejemplo: Leer y enviar valor analógico del Pin de

Arduino

return; // Listoe. regrese al loop();

}

}

// 2a) seleccionar el pin # solicitado para la acción digitalWrite

void set_digitalwrite(int pin_num, int pin_value)

{

switch (pin_num) {

case 13:

pinMode(13, OUTPUT);

digitalWrite(13, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 12:

pinMode(12, OUTPUT);

digitalWrite(12, pin_value);

Page 112: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

100 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

// adicione su código aquí, para este número de pin del Arduino

break;

case 11:

pinMode(11, OUTPUT);

digitalWrite(11, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 10:

pinMode(10, OUTPUT);

digitalWrite(10, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 9:

pinMode(9, OUTPUT);

digitalWrite(9, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 8:

pinMode(8, OUTPUT);

Page 113: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo B. Estructura del código para el módulo HC-06 101

digitalWrite(8, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 7:

pinMode(7, OUTPUT);

digitalWrite(7, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 6:

pinMode(6, OUTPUT);

digitalWrite(6, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 5:

pinMode(5, OUTPUT);

digitalWrite(5, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 4:

pinMode(4, OUTPUT);

Page 114: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

102 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

digitalWrite(4, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 3:

pinMode(3, OUTPUT);

digitalWrite(3, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

case 2:

pinMode(2, OUTPUT);

digitalWrite(2, pin_value);

// adicione su código aquí, para este número de pin del Arduino

break;

// por defecto

// si nada más fue seleccionado, hacer el defecto (default)

// default es opcional

}

}

Page 115: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

C. Anexo: Configuración del código para el módulo HC-05

#include <SoftwareSerial.h> // Incluimos la librería SoftwareSerial

SoftwareSerial BT(10,11); // Definimos los pines RX y TX del Arduino conectados al

Bluetooth

void setup()

{

BT.begin(9600); // Inicializamos el puerto serie BT (Para Modo AT 2)

Serial.begin(9600); // Inicializamos el puerto serie

}

void loop()

{

if(BT.available()) // Si llega un dato por el puerto BT se envía al monitor serial

{

Serial.write(BT.read());

}

if(Serial.available()) // Si llega un dato por el monitor serial se envía al puerto BT

{

Page 116: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

104 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

BT.write(Serial.read());

}

}

La preparación para la ejecución del módulo en modo maestro, se realizará a una

velocidad o Baud rate de 57600 Baudios y los pasos de la configuración estarían dados

de la siguiente forma a manera de ejemplo [22] :

Entrar en modo AT 1 o Modo AT 2

- Verificar si estamos en modo AT

Enviar: AT

Recibe: OK

- Establecer el Role como Maestro

Enviar: AT+ROLE=1

Respuesta: OK

- Configurar el Nombre del modulo

Enviar: AT+NAME=Naylamp

Respuesta: OK

- Establecer el Pin de vinculación

Enviar: AT+PSWD=1465

Respuesta: OK

Page 117: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 105

- Configura la Velocidad

Enviar: AT+UART=57600,0,0

Respuesta: OK

- Configurar el modo de conexión

Enviar: AT+CMODE=0

Respuesta: OK

- Especificar la dirección del dispositivo a conectarse

Enviar: AT+BIND=98D3,31,203AD0

Respuesta: OK

- Verificar los parámetros cambiados

Enviar:

AT+ROLE?

AT+PSWD?

AT+UART?

AT+CMODE?

AT+BIND?

Respuesta:

+ROLE:1

OK

Page 118: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

106 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

+PSWD:1465

OK

+UART:57600,0,0

OK

+CMOD:0

OK

+BIND:98d3:31:203ad0

OK

- Resetear el modulo

Enviar: AT+RESET

Respuesta: OK

Page 119: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

D. Anexo: Estructura del código final, parpadeo – relajación

// Mindflex with Arduino //

// HC-05 Bluetooth Module //

#define BAUDRATE 57600

#define LED 12

#define LEDR 14

#define LEDG 15

#define LEDB 16

#define SELEC 2

#define Theshold_Eyeblink 120

#define EEG_AVG 70

#define DEBUGOUTPUT 0

#include <SoftwareSerial.h>

#include <Servo.h>

SoftwareSerial Bluetooth (3,2);

long payloadDataS[5] = {0};

long payloadDataB[32] = {0};

byte payloadData[64] = {0};

byte checksum=0,generatedchecksum=0;

byte poorQuality = 0;

byte attention = 0;

Page 120: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

108 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

byte meditation = 0;

int powerLength = 3;

short raw;

unsigned int Raw_data,Poorquality,Plength,vLength,Eye_Enable=0,On_Flag=0,Off_Flag=1 ;

unsigned int s=0,j,n,p,k=0;

boolean b;

unsigned int delta;

unsigned int theta;

unsigned int alpha1;

unsigned int alpha2;

unsigned int beta1;

unsigned int beta2;

unsigned int gamma1;

unsigned int gamma2;

long Temp,Avg_Raw,Temp_Avg;

boolean datos = false;

long lastReceivedPacket = 0;

Servo hand;

void setup()

{

Serial.begin(BAUDRATE);

Bluetooth.begin(BAUDRATE);

Page 121: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 109

pinMode(LED, OUTPUT);

pinMode(LEDR, OUTPUT);

pinMode(LEDB, OUTPUT);

pinMode(LEDG, OUTPUT);

pinMode(SELEC, INPUT);

hand.attach(6);

}

byte ReadOneByte()

{

int ByteRead;

while(!Serial.available());

ByteRead = Serial.read();

#if DEBUGOUTPUT

Serial.print((char)ByteRead);

#endif

return ByteRead;

}

void loop()

{

if(ReadOneByte() == 170)

{

if(ReadOneByte() == 170)

{

Page 122: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

110 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Plength = ReadOneByte();

if(Plength == 4)

{

Small_Packet ();

}

else if(Plength == 2)

{

b=digitalRead(SELEC);

Big_Packet ();

performance();

dat();

}

}

}

}

void Big_Packet()

{

generatedchecksum = 0;

for(int i = 0; i < Plength; i++)

{

payloadDataB[i] = ReadOneByte();

generatedchecksum += payloadDataB[i] ;

}

Page 123: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 111

generatedchecksum = 255 - generatedchecksum;

checksum = ReadOneByte();

if(checksum == generatedchecksum)

{

for(int i = 0; i < Plength; i++)

{

switch (payloadDataB[i])

{

case 2:

i++;

poorQuality = payloadDataB[i];

if (poorQuality==0 )

{

Eye_Enable = 10;

}

else

{

Eye_Enable = 0;

}

break;

case 4:

Page 124: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

112 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

i++;

attention = payloadDataB[i];

break;

case 5:

i++;

meditation = payloadDataB[i];

break;

case 0x80: // raw data

i++;

vLength = payloadDataB[i];

raw = 0;

for (int j=0; j<vLength; j++) {

raw = raw | ( payloadDataB[i+vLength-j]<<(8*j) );

}

i += vLength;

break;

case 0x83:

i++;

vLength = payloadDataB[i];

k = 0;

gamma2 = 0; // mid-gamma (41 - 49.75Hz)

for (int j=0; j<powerLength; j++) {

Page 125: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 113

gamma2 = gamma2 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

gamma1 = 0; // low-gamma (31 - 39.75Hz)

for (int j=0; j<powerLength; j++) {

gamma1 = gamma1 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

beta2 = 0; // high-beta (18 - 29.75Hz)

for (int j=0; j<powerLength; j++) {

beta2 = beta2 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

beta1 = 0; // low-beta (13 - 16.75Hz)

for (int j=0; j<powerLength; j++) {

beta1 = beta1 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

alpha2 = 0; // high-alpha (10 - 11.75Hz)

for (int j=0; j<powerLength; j++) {

alpha2 = alpha2 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

alpha1 = 0; // low-alpha (7.5 - 9.25Hz)

Page 126: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

114 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

for (int j=0; j<powerLength; j++) {

alpha1 = alpha1 | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

theta = 0; // theta (3.5 - 6.75Hz)

for (int j=0; j<powerLength; j++) {

theta = theta | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

delta = 0; // delta (0.5 - 2.75Hz)

for (int j=0; j<powerLength; j++) {

delta = delta | ( payloadDataB[i+vLength-k]<<(8*j) ); // bit-shift little-endian

k++;

}

i += vLength;

break;

default:

break;

} // switch

} // for loop

}

}//bigpacket

Page 127: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 115

void Onesec_Rawval_Fun ()

{

Avg_Raw = Temp/2;

if (On_Flag==0 && Off_Flag==1)

{

if (n<3)

{

Temp_Avg += Avg_Raw;

n++;

}

else

{

Temp_Avg = Temp_Avg/0.222;

if (Temp_Avg<EEG_AVG)

{

On_Flag=1;Off_Flag=0;

}

n=0;Temp_Avg=0;

}

}

Eye_Blink ();

j=0;

Temp=0;

}

Page 128: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

116 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

void Eye_Blink ()

{

if (Eye_Enable)

{

if (On_Flag==1 && Off_Flag==0)

{

if ((

}

}

else

{

digitalWrite(LEDB,LOW);

}

}

else

{

digitalWrite(LEDB,LOW);

}

}

void performance(){

if(b==LOW){

digitalWrite(LEDR,HIGH);

digitalWrite(LEDR,LOW);

Page 129: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 117

s++;};

switch(s){

case 0:

blinkeyes();

break;

case 1:

attentionfunc();

break;

case 2:

s=0;

break;

}

}

void dat(){

Serial.print(poorQuality, DEC);

Serial.print(",");

Serial.print(attention, DEC);

Serial.print(",");

Serial.print(meditation, DEC);

Serial.print(",");

Serial.print(raw, DEC);

Page 130: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

118 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Serial.print(",");

Serial.print(delta, DEC);

Serial.print(",");

Serial.print(theta, DEC);

Serial.print(",");

Serial.print(alpha1, DEC);

Serial.print(",");

Serial.print(alpha2, DEC);

Serial.print(",");

Serial.print(beta1, DEC);

Serial.print(",");

Serial.print(beta2, DEC);

Serial.print(",");

Serial.print(gamma1, DEC);

Serial.print(",");

Serial.print(gamma2, DEC);

Serial.print(",");

Serial.print(s, DEC);

Serial.print("\n");

}

void blinkeyes(){

switch(p){

Page 131: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 119

case 0:

hand.write(20);

break;

case 1:

hand.write(160);

break;

case 2:

p=0;

break;

}

}

void attentionfunc(){

}

}

Page 132: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto
Page 133: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Bibliografía [1] Spinelli Mario, Martinez Nolberto. Interfaces para Control Cerebral. Facultad de

Ingeniería. Universidad Nacional de la Plata Argentina, 2000

[2] Borrego C.J. Diseño de un sistema y construcción de un modulo para la medición de

potenciales evocados y otras aplicaciones en neurofisiología. Departamento de Física de

la Universidad de Antioquia, Colombia. Premio Fundación Ángel Escobar 1983.

[3] Barraza, Juan I. Brain Computer Interface. Universidad Politécnica de Cataluña, 2015

[4] De la Torre Javier. Procesado de señales EEG para un Interfaz Cerebro Máquina.

Departamento de Teoría de la Señal y Comunicaciones. Universidad Carlos III de Madrid.

Octubre de 2012.

[5] Neuroscience, Purves, Dale and Augustine, George and Fitzpatrick, David,

year=2004.

[6] M. F. Bear, B. W. Connors, and M. A. Paradiso, NEUROCIENCIA La exploración.

2008.

[7] S. Sanei and J. A. Chambers, EEG signal processing. John Wiley & Sons, 2013.

Q

[8] R. S. Snell, Clinical neuroanatomy. Lippincott Williams & Wilkins, 2010.

[9] Sarmiento Vela Luis C. Reconocimiento del Habla Silenciosa con Señales

Electroencefalográficas EEG para Interfaces Cerebro Computador. Facultad de

Page 134: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

122 Construcción de una prótesis de mano, controlada a través de señales EEG

obtenidas del lóbulo frontal, a través del análisis de una unidad Mindflex.

Ingeniería Mecátrónica, Doctorado en Ingeniería. Universidad Nacional de Colombia,

2015.

[10] A. Muzumdar, Powered Upper Limb Prostheses: Control, Implementation and

Clinical Application; 11 Tables. Springer Science & Business Media, 2004.

[11] Snell, Richard S. (5ta edición). Neuroanatomía Clínica

[12] Lange, D. and Inbar, G. , 1996, "A Robust Parametric Estimator for Single -Trial

Movement Related Brain Potentials", IEEE Transactions on Biomedical Engineering, Vol

433.

[13] García Austt, E. & Bruño, W., 1979, "Ritmos eléctricos del cerebro e integración

sensoriomotriz", Investigación y Ciencia, No 38, pp. 150-162, Nov 1979.

[14] Gracía Cossio, Gentiletti Gerardo. Interfaz cerebro computadora (ICC) basada en el

potencial relacionado con eventos P300: análisis del efecto de la dimensión de la matriz

de estimulación sobre su desempeño. Ingeniería Biomédica. Universidad Nacional de

Entre Rios, Argentina.

[15] Daubechies Ingrid, Ten lectures on wavelet, SIAM, Septima Edición, 2002.

[16] Estepa Fredy A, Procesamiento Y Análisis De Señales Electroencefalográficas,

Obtenidas Durante La Aplicación De Una Prueba De Memoria Emocional. Universidad

Industrial de Santander Facultad de Ingeniería.

[17] Faundes Pablo, Fuentes Álvaro, “Procesamiento digita de señales acústicas

utilizando wavelets”

[18] Neurosky, Body and Mind. Quantified. www.neurosky.com - oficial site, consultado en

línea setiembre 19 de 2016.

Page 135: Construcción de una prótesis de mano, controlada a … Para la realización del presente trabajo agradezco en primera instancia a Dios por permitirme construir un nuevo proyecto

Anexo C. Estructura del código final, parpadeo – relajación. 123

[19] Frontinerds Brain Hack. http://frontiernerds.com/brain-hack Oficial site, consultado en

línea mayo 5 de 2016.

[20] Instructables. Add bluetoohth to you Arduino Project.

http://www.instructables.com/id/Add-bluetooth-to-your-Arduino-project-ArduinoHC-06/.

consultado en línea mayo 5 de 2016.

[21] Electronica: teoría y práctica http://electronica-teoriaypractica.com/caracteristicas-

arduino-nano-328/ consultado en línea junio 18 de 2016.

[22] Naylamp. Configutación AT de HC-05.

http://www.naylampmechatronics.com/blog/24_Configuración--del-módulo-bluetooth-HC-

05-usa.html. Consultado en línea junio 24 de 2016.