Está en la página 1de 145

Repblica Bolivariana de Venezuela Universidad del Zulia Facultad de Ingeniera Escuela de Ingeniera Elctrica

SISTEMA DE ENTRENAMIENTO VIRTUAL PARA EL CONTROL DE PROTESIS DE MIEMBROS SUPERIORES UTILIZANDO SEALES MIOELECTRICAS

Trabajo especial de trabajo de Grado presentado ante la Ilustre Universidad del Zulia para optar al ttulo de Ingeniero Electricista.

Autores:

Br. Juan Carlos Marcano Portillo C.I.: V-22.177.825

Br. Carlos Enrique Muoz Trochez C.I.: V-19.988.237

Tutor Acadmico: Ing. Jacobo Ramrez

Maracaibo, Junio de 2013

Repblica Bolivariana de Venezuela Universidad del Zulia Facultad de Ingeniera Escuela de Ingeniera Elctrica

SISTEMA DE ENTRENAMIENTO VIRTUAL PARA EL CONTROL DE PROTESIS DE MIEMBROS SUPERIORES UTILIZANDO SEALES MIOELECTRICAS

Trabajo especial de trabajo de Grado presentado ante la Ilustre Universidad del Zulia para optar al ttulo de Ingeniero Electricista.

Autores:

Br. MARCANO, Juan C.I.: V-22.177.825

____________________

Br. MUOZ, Carlos C.I.: V-19.988.237

_____________________

Maracaibo, Junio de 2013.

II

APROBACIN

Este jurado aprueba el Trabajo Especial de Grado titulado SISTEMA DE ENTRENAMIENTO VIRTUAL PARA EL CONTROL DE PROTESIS DE MIEMBROS SUPERIORES UTILIZANDO SEALES MIOELECTRICAS que Juan C. Marcano P. C.I:22.177.825 y Carlos E. Muoz T

C.I:19.988.237 presentan ante el concejo de Facultad de Ingeniera de la ilustre Universidad del Zulia, en cumplimiento de los requisitos sealados en la seccin II del captulo III del reglamento de la Facultad de Ingeniera de la Universidad del Zulia para optar al Grado Acadmico de Ingeniero Electricista.

________________________ Presidente del Jurado Jacobo Ramrez C. I: 13.050.324

________________________ Miriam Borjas C. I: 5.851.348

________________________ Cesar lvarez C. I: 5.114.433

Maracaibo, Junio de 2013

III

DEDICATORIA

IV

DEDICATORIA

AGRADECIMIENTO

VI

AGRADECIMIENTO

VII

NDICE DE CONTENIDO

APROBACIN ............................................................................................................................................III DEDICATORIA ......................................................................................................................................... IV AGRADECIMIENTO................................................................................................................................. VI NDICE DE CONTENIDO ....................................................................................................................... VIII NDICE DE TABLAS ................................................................................................................................ XI NDICE DE FIGURAS .............................................................................................................................. XII RESUMEN............................................................................................................................................. XVIII ABSTRACT ............................................................................................................................................. XIX CAPTULO I EL PROBLEMA ...................................................................................................................20 1.1. Planteamiento del Problema ..................................................................................................................20 1.2. Formulacin del Problema ....................................................................................................................21 1.3. Objetivos ...............................................................................................................................................21 1.3.1. Objetivo General ............................................................................................................................21 1.3.2. Objetivos Especficos.....................................................................................................................21 1.4. Justificacin de la Investigacin ...........................................................................................................22 1.5. Delimitacin de la Investigacin ...........................................................................................................23 1.6. Alcance de la Investigacin...................................................................................................................23 CAPTULO II MARCO TERICO ............................................................................................................24 2.1. Antecedentes de la investigacin ..........................................................................................................24 2.2. Bases Tericas .......................................................................................................................................25 2.2.1. Fisiologa de la seales Mioelctricas ...........................................................................................25 2.2.2. Tejido Excitable y Potencial de Accin .........................................................................................25 2.2.3. Seales EMGS ...............................................................................................................................26 2.2.4. Anatoma muscular del brazo y antebrazo .....................................................................................28 2.2.5. Estado de las seales EMG ............................................................................................................38

VIII

2.2.6. Electrodos ......................................................................................................................................38 2.2.7. Prtesis ...........................................................................................................................................41 2.2.8. Prtesis Mioelctrica.....................................................................................................................43 2.2.9. Amplificador Operacional ............................................................................................................43 2.2.10. Filtros Activos.............................................................................................................................48 2.2.11. Rectificador de media onda ........................................................................................................52 2.2.12. Conversin AC/DC. .....................................................................................................................53 2.2.13. Ruido en seales Mioelctricas ...................................................................................................54 2.2.14. Realidad Virtual ...........................................................................................................................55 2.2.15. Arduino ........................................................................................................................................59 CAPTULO III MARCO METODOLGICO ...................................................................................62 3.1 . Tipo de investigacin .......................................................................................................................62 3 2. Diseo de investigacin ....................................................................................................................62 3 3. Etapas de la investigacin .................................................................................................................62 3.3.1. Revisin documental.....................................................................................................................63 3 3.2 Verificacin de las etapas del circuito ............................................................................................63 3.3.3 . Preparacin del material ...............................................................................................................64 CAPTULO IV DESARROLLO Y CONSTRUCCIN DE LAS FASES DEL PROYECTO ..........65 4.1. FASE I: REVISIN Y CONSTRUCCIN DE ETAPAS DEL CIRCUITO .......................................66 4.1.1. Etapa 1: Pre-Amplificacin............................................................................................................66 4.1.2. Etapa 2: Filtrado.............................................................................................................................68 4.1.3. Etapa 3: Amplificacin Final .........................................................................................................71 4.1.4. Etapa 4: Rectificacin y conversion AC-DC .................................................................................72 4.2. FASE II: UBICACIN Y SELECCIN DE PUNTOS DE MEDICIN Y MOVIMIENTOS A EJECUTAR ..................................................................................................................................................74 4.2.1. Seleccin de electrodos de medicin .............................................................................................77 4.2.2. Seleccin de Movimientos a ejecutar.............................................................................................78 4.3. FASE III: CONSTRUCCIN DE APLICACIN BAJO ENTORNO DE REALIDAD VIRTUAL ..79

IX

4.4. FASE IV: CONSTRUCCIN DE MODELO EN SIMULINK - MATLAB .......................................85 4.4.1. Modelo en Simulink.......................................................................................................................85 4.4.2. Bloques empleados en el modelo Simulink ...................................................................................88 4.4.3. Construccin del men de seleccin de movimientos ...................................................................96 4.5. FASE V: CONFIGURACIN DE LA TARJETA DE ADQUISICIN DE DATOS ARDUINO ......98 CAPTULO V ANLISIS DE RESULTADOS ..............................................................................103 5.1. Pruebas de la fase de acondicionamiento ............................................................................................131 5.1.1. Caso 1: Pruebas con generador de seales ...................................................................................103 5.1.2. Caso 2: Pruebas con ejecucin de movimientos ..........................................................................106 5.2. Pruebas Finales de los movimientos en el modelo Simulink ..............................................................117 5.3. Presupuesto de instrumentos utilizados en el proyecto .......................................................................131 CONCLUSIONES .....................................................................................................................................133 RECOMENDACIONES ............................................................................................................................135 REFERENCIAS BIBLIOGRFICAS .......................................................................................................136 ANEXOS....................................................................................................................................................139

INDICE DE TABLAS

Tabla

Pg.

1.- Caractersticas tcnicas y descripciones del Arduino ............................................................................29 2.- Valores del amplificador de instrumentacin .........................................................................................66 3.- Parametros del Filtro Butterworth ..........................................................................................................69 4.- Valores del Filtro Pasabandas Butterworth.............................................................................................69 5.- Parmetros del filtro notch ......................................................................................................................70 6.- Valores del filtro notch ...........................................................................................................................70 7.- Valores del rectificador de media onda...................................................................................................73 8.- Comparacin de seales de entrada y seal en el amplificador final ....................................................104 9.- Valores de voltaje para la salida del rectificador .................................................................................105 10.- Muestreo de flexin del bceps braquial .............................................................................................110 11.- Muestreo de extensin de la mueca ..................................................................................................114 12.- Muestreo de flexin de la mueca ......................................................................................................116 13.- Rangos de voltaje rms por movimiento ..............................................................................................116 14.- Parmetros de la seccin de acondicionamiento de la seal en modelo simulink ..............................118 15.- Resultados de muestras en flexin de bceps braquial ........................................................................121 16.- Resultados de muestras en flexin de la mueca ................................................................................125 17.- Resultados de muestras en extensin de la mueca ............................................................................128 18.- Presupuesto de Instrumentos Utilizados para el proyecto...................................................................131

XI

INDICE DE FIGURAS

Figura

Pg.

Figura 1 - Estimulante de potenciales de accin ..........................................................................................26 Figura 2 Seales EMG tomadas del antebrazo ..........................................................................................27 Figura 3 - Bceps Braquial ...........................................................................................................................29 Figura 4 - Trceps Braquial ..........................................................................................................................30 Figura 5 - Msculo Ancneo ........................................................................................................................31 Figura 6 - Msculo Abductor largo del pulgar .............................................................................................32 Figura 7 - Msculo Ancneo del antebrazo .................................................................................................32 Figura 8 - Msculo Supinador Largo ...........................................................................................................33 Figura 9 - Msculo Extensor Radial Corto ..................................................................................................33 Figura 10 - Msculo Cubital Posterior .........................................................................................................34 Figura 11 - Msculo Extensor Digitorum Communis ..................................................................................35 Figura 12 - Msculo Flexor Carpi Radialis ..................................................................................................35 Figura 13 - Msculo Flexor Carpi Ulnaris ...................................................................................................36 Figura 14 - Msculo Pronador Redondo ......................................................................................................37 Figura 15 - Msculo Supinador ....................................................................................................................37 Figura 16 - Electrodo ...................................................................................................................................39 Figura 17 - Electrodo de aguja .....................................................................................................................40 Figura 18 - Electrodo de superficie .............................................................................................................40 Figura 19 - Prtesis de mano y antebrazo ....................................................................................................41 Figura 20 - Prtesis rgida ............................................................................................................................42 Figura 21 - Prtesis articulada ......................................................................................................................42 Figura 22 - Prtesis mioelctrica ..................................................................................................................43 Figura 23 - Esquema interno del amplificador operacional .........................................................................44 Figura 24 - Diagrama del amplificador inversor ..........................................................................................45 Figura 25 - Diagrama del amplificador no inversor .....................................................................................45

XII

Figura 26 - Diagrama de la configuracin del seguidor de voltaje ..............................................................46 Figura 27 - Diagrama del amplificador diferencial ......................................................................................46 Figura 28 - Amplificador diferencial basado en 3 opam ..............................................................................48 Figura 29 - Grficos de filtros pasa baja de segundo orden .........................................................................49 Figura 30 - Graficas de filtros Butterworth de distinto orden con la misma frecuencia de corte. ................50 Figura 31 - Diagrama de conexin y grfica de filtros pasa-baja................................................................50 Figura 32 - Diagrama del filtro pasa-alta .....................................................................................................51 Figura 33 - Grfica del filtro pasa-alta .........................................................................................................51 Figura 34 - Grfica de filtros pasa-banda .....................................................................................................52 Figura 35 - Grfico de filtro rechaza-banda y diagrama de bloques de filtro rechaza banda .......................52 Figura 36 - Circuito y grfica de respuesta del rectificador de media onda .................................................53 Figura 37 - Generadores de Ruido ...............................................................................................................54 Figura 38 - Guantes simuladores de movimiento de la mano ......................................................................58 Figura 39 - Partes del Arduino .....................................................................................................................61 Figura 40 - Diagrama de etapas de construccin del sistema de entrenamiento virtual para prtesis .........65 Figura 41 - Diagrama de conexin del Amplificador de Instrumentacin ...................................................67 Figura 42 - Filtro Pasabandas Butterworth...................................................................................................69 Figura 43 - Diagrama de conexin del filtro notch ......................................................................................70 Figura 44 - Diagrama de conexiones amplificador no inversor ...................................................................71 Figura 45 - Diagrama de conexiones rectificador de instrumentacin de media onda con amplificador pperacional ...................................................................................................................................................72 Figura 46 - Vo2 seal de salida del rectificador de media onda ..................................................................73 Figura 47 - Rectificador de media onda y conversor AC-DC ......................................................................73 Figura 48 - Salidas del rectificador con conexin y sin conexin de capacitor electroltico .......................74 Figura 49 - Msculo Braquiorradial .............................................................................................................76 Figura 50 - Msculo Flexor Cubital del Carpo ............................................................................................75 Figura 51 Msculo Bceps Braquial .........................................................................................................76 Figura 52 - Ubicacin del punto de tierra comn para cada msculo ..........................................................76

XIII

Figura 53 - Disposicin de electrodos en el brazo y antebrazo ....................................................................77 Figura 54 - Electrodos superficiales para nios y adultos respectivamente .................................................77 Figura 55 - Flexin y extensin de Bceps Braquial ....................................................................................78 Figura 56 - Flexin de Mueca ....................................................................................................................78 Figura 57 - Extensin de mueca .................................................................................................................79 Figura 58 - Toolbox del Vrealm Builder con zoom en las figuras geomtricas...........................................79 Figura 59 - Montaje del torso .......................................................................................................................80 Figura 60 - Montaje del hombro ..................................................................................................................81 Figura 61 - Montaje del brazo ......................................................................................................................81 Figura 62 - Montaje del codo .......................................................................................................................82 Figura 63 - Montaje del antebrazo ...............................................................................................................82 Figura 64 - Montaje de la mano ...................................................................................................................83 Figura 65 - Montaje final .............................................................................................................................83 Figura 66 - Rotacin del Eje Z en el codo....................................................................................................84 Figura 67 - Rotacin del Eje X y Z en la mano ...........................................................................................84 Figura 68 - Rotacin del Eje Z en la mano ..................................................................................................85 Figura 69 - Ubicacin del bloque de animaciones 3D en Simulink .............................................................86 Figura 70 - Ventana para cargar el modelo de RV al VR sink .....................................................................87 Figura 71 - Primer montaje en simulink.......................................................................................................87 Figura 72 - Montaje final en simulink ..........................................................................................................88 Figura 73 - Configuracin del Arduino IO Setup.........................................................................................89 Figura 74 - Configuracin del Arduino Real-time Pacer .............................................................................89 Figura 75 - Configuracin del Arduino IO analog read ...............................................................................90 Figura 76 - Configuracin del bloque de Ganancia global del circuito .......................................................91 Figura 77 - Configuracin de parmetros del Discrete Shift Register .........................................................91 Figura 78 - Configuracin del bloque de ganancia de rapidez de respuesta ................................................92 Figura 79 - Configuracin del bloque de Saturacin ...................................................................................93 Figura 80 - Ventana del Scope .....................................................................................................................93

XIV

Figura 81 - Animacin en 3D .......................................................................................................................94 Figura 82 - Modelo final de simulink con el programa de entorno en realidad virtual ................................95 Figura 83 - Guide Quick Start + toolbox......................................................................................................96 Figura 84 - Men final .................................................................................................................................97 Figura 85 - Software arduino .......................................................................................................................98 Figura 86 - Carga de algoritmo al software arduino ....................................................................................99 Figura 87 - Librera Arduino IO .................................................................................................................100 Figura 88 - Comparacin de seales de entrada y salida del circuito ........................................................101 Figura 89 - Seales a la salida de la etapa de rectificacin y conversin AC-DC del circuito ..................103 Figura 90 - Comportamiento del filtro con capacitor conectado a tierra en la salida.................................104 Figura 91 - Muestra 1 para flexin del biceps braquial ..............................................................................104 Figura 92 - Muestra 2 para flexin del biceps braquial ..............................................................................105 Figura 93 - Muestra 3 para flexin del biceps braquial ..............................................................................105 Figura 94 - Muestra 4 para flexin del biceps braquial ..............................................................................105 Figura 95 - Muestra 5 para flexin del biceps braquial ..............................................................................106 Figura 96 - Muestra 6 para flexin del biceps braquial ..............................................................................106 Figura 97 - Muestra 7 para flexin de bceps braquial ..............................................................................106 Figura 98 - Muestra 8 para flexin de bceps braquial ...............................................................................107 Figura 99 - Muestra 9 para flexin de bceps braquial ...............................................................................107 Figura 100 - Muestra 10 para flexin de bceps braquial ...........................................................................107 Figura 101 - Muestra 1 para extensin de la mueca .................................................................................108 Figura 102 - Muestra 2 para extensin de la mueca .................................................................................109 Figura 103 - Muestra 3 para extensin de la mueca .................................................................................109 Figura 104 - Muestra 4 para extensin de la mueca .................................................................................109 Figura 105 - Muestra 5 para extensin de la mueca .................................................................................110 Figura 106 - Muestra 6 para extensin de la mueca .................................................................................110 Figura 107 - Muestra 7 para extensin de la mueca .................................................................................110 Figura 108 - Muestra 8 para extensin de la mueca .................................................................................111

XV

Figura 109 - Muestra 9 para extensin de la mueca .................................................................................111 Figura 110 - Muestra 10 para extensin de la mueca ...............................................................................111 Figura 111 - Muestra 1 para flexin de la mueca .....................................................................................112 Figura 112 - Muestra 2 para flexin de la mueca .....................................................................................112 Figura 113 - Muestra 3 para flexin de la mueca .....................................................................................113 Figura 114 - Muestra 4 para flexin de la mueca .....................................................................................113 Figura 115 - Muestra 5 para flexin de la mueca .....................................................................................113 Figura 116 - Muestra 6 para flexin de la mueca .....................................................................................113 Figura 117 - Muestra 7 para flexin de la mueca .....................................................................................113 Figura 118 - Muestra 8 para flexin de la mueca .....................................................................................113 Figura 119 - Muestra 9 para flexin de la mueca .....................................................................................114 Figura 120 - Muestra 10 para flexin de la mueca ...................................................................................114 Figura 121 - Modelo base para los movimientos en Simulink Matlab....................................................115 Figura 122 - Muestra 1 bceps braquial en reposo .....................................................................................116 Figura 123 - Muestra 2 movimiento flexin bceps braquial en 45 grados aprox. .....................................117 Figura 124 - Muestra 3 movimiento flexin bceps braquial en 90 grados aprox ......................................117 Figura 125 - Muestra 4 movimiento flexin bceps braquial en 125 grados aprox ....................................118 Figura 126 - Muestra 5 movimiento flexin bceps braquial en 165 grados aprox ....................................118 Figura 127 - Movimiento flexin bceps braquial con grafica completa ...................................................119 Figura 128 - Muestra 1 mueca en reposo .................................................................................................120 Figura 129 - Muestra 2 movimiento flexin de la mueca a 20 grados aprox ...........................................120 Figura 130 - Muestra 3 movimiento flexin de la mueca a 45 grados aprox ...........................................121 Figura 131 - Muestra 4 movimiento flexin de la mueca a 65 grados aprox ...........................................121 Figura 135 - Muestra 5 movimiento flexin de la mueca a 90 grados aprox ..........................................122 Figura 136 - Movimiento flexin de la mueca con grafica completa.......................................................122 Figura 137 - Muestra 1 mueca en reposo .................................................................................................123 Figura 138 - Muestra 2 movimiento extensin de la mueca a 20 grados .................................................124 Figura 139 - Muestra 3 movimiento extensin de la mueca a 45 grados .................................................124

XVI

Figura 140 - Muestra 4 movimiento extensin de la mueca a 65 grados .................................................125 Figura 141 - Muestra 5 movimiento extensin de la mueca a 75 grados ................................................125 Figura 142 - Movimiento extensin de la mueca con grafica completa...................................................136 Figura 143 - Grafica V vs FI (grados) para la flexin del bceps braquial .................................................137 Figura 144 - Grafica V vs FI (grados) para la flexin de la mueca ..........................................................129 Figura 145 - Grafica V vs FI (grados) para la extensin de la mueca ......................................................128

XVII

Marcano P., Juan C.; Muoz T., Carlos E. Construccin e implementacin de interfaz electrnica prediseada para control y entrenamiento de prtesis virtuales mediante lecturas de seales mioelctricas. Anteproyecto de Tesis para optar al ttulo de Ingeniero Electricista. Universidad del Zulia, Facultad de Ingeniera, Escuela de Ingeniera Elctrica, Laboratorio de Comunicaciones, Maracaibo, Venezuela, 2013.

RESUMEN

En el presente trabajo se mostrar un circuito capaz de captar, amplificar, filtrar y rectificar seales mioelctricas provenientes de las extremidades superiores del cuerpo humano, las cuales despus de pasar por los procesos mencionados sern llevadas a un microcontrolador cuyas salidas estarn conectadas a un simulador de realidad virtual el cual interpretar las seales y las traducir en movimientos especficos. Cabe destacar que el proceso de captura de las seales mioelctricas en ciertas reas del cuerpo est sujeto a la precisin con la que se ubican los puntos de medicin. De la investigacin ser posible establecer una relacin entre el voltaje generado por el msculo al momento de ejecutar el movimiento y la posicin en la que se encuentra mediante una grfica que relaciona ambas variables, as como la linealidad existente entre las mismas. Tambin ser posible determinar las posibilidades que este sistema puede brindar a personas discapacitadas mediante la ejecucin de pruebas en vivo.

Palabras Clave: Circuito, Seales Mioelctricas, Microcontrolador, Realidad Virtual, Amplificacin, Filtrado, Rectificacin.

Correo electrnico: carlops_514@hotmail.com, cmunoz.90@hotmail.com

Marcano P., Juan C.; Muoz T., Carlos E. Construction and implementation of a predesigned electronic

XVIII

interface for control and training of prosthesis by Reading myoelectrical signals. Anteproyecto de Tesis para optar al ttulo de Ingeniero Electricista. Universidad del Zulia, Facultad de Ingeniera, Escuela de Ingeniera Elctrica, Laboratorio de Comunicaciones, Maracaibo, Venezuela, 2013.

ABSTRACT

In the present paper will be shown a circuit capable of capture, amplify, filter and rectify myoelectrical signals from the body extremities, which, after passing through the above processes, are carried to a microcontroller whose outputs are connected to a virtual reality simulator which will interpret the signals and translate them into specific moves. Notably this myoelectrical signal captured in some body parts depends on the precision with which the measurement points are placed. From this investigation will be possible establish a relation between the voltage generated by the muscle at the movement execution moment and the current position using a graph relating the two variable, and the existing linearity between them. Also the possibilities that this system can give to incapable persons through live testing.

Keywords: Circuit, Myoelectrical Signals, Microcontroller, Virtual Reality, Amplification, Filtering, Rectification.

E-mails: carlops_514@hotmail.com , cmunoz.90@hotmail.com

XIX

CAPTULO I EL PROBLEMA

3.1. Planteamiento del Problema:

El organismo humano genera una innumerable cantidad de seales elctricas en lugares como el cerebro, el corazn, los ojos, msculos, entre otros dependiendo de su denominacin. Estas seales, de acuerdo al rgano que las origina, se definen como: electrocardiogrficas, oculogrficas, electroencefalogrficas y electromiogrficas.

Las seales electromiogrficas (o tambin llamadas mioelctricas) son las seales producidas por los msculos cuando estos se contraen o distensionan, las mismas a pesar de presentar un nivel de voltaje muy bajo pueden ser medidas con equipos especiales para ello, los cuales, despus de un proceso de acondicionamiento de la seal, muestran una lectura que permite determinar distintas propiedades de la seal que pueden ser utilizadas para el control de diversos tipos de dispositivos, siendo de gran ayuda en la biomedicina, especficamente en el rea de prtesis de miembros superiores controladas por medio de este tipo de seal, conocidas como prtesis mioelctricas.

Existen en la actualidad diversos tipos de prtesis mioelctricas, desde las que nicamente realizan el movimiento de pinza para agarrar objetos, hasta las que realizan rotaciones y transmiten sensaciones relacionadas con fro o calor y con la presin ejercida, aspectos que son los sntomas que padecen los pacientes y que a raz de no poseer la extremidad tienen como causa muchas dificultades para el desarrollo de las acciones mencionadas anteriormente.

Las prtesis mioelctricas son de elevado costo y gran parte de los pacientes buscan un prototipo que cumpla con sus necesidades pero tambin con un costo accesible. Dicho costo est directamente relacionado tanto con la ingeniera, como con los elementos que son utilizados en la construccin tanto de la prtesis como de la circuitera aplicada. Bsicamente el proceso llevado a cabo para la construccin de la circuitera y manejo de este tipo de dispositivos consta de cuatro pasos, siendo estos: captacin de la seal (en el que se obtienen lecturas claras de las seales mioelctricas), acondicionamiento (relacionado con el filtrado, amplificacin y rectificacin de la seal), conversin (interpretacin de la seal en movimiento) y enlace (conexin entre la circuitera y la prtesis bien sea fsica o para pruebas por simuladores).

20

Mediante un dispositivo que permita leer las seales mioelctricas es posible la interpretacin de las mismas para la ejecucin de una accin en especfico, en este caso un movimiento, haciendo uso de microcontroladores y entornos de desarrollo. Se espera construir un dispositivo de interfaz que sea relativamente econmico, de fcil operacin y que adems permita recrear el movimiento por medio de un entorno de realidad virtual.

Para la ejecucin de este dispositivo es necesario implementar nociones de medicina a nivel anatmico para la ubicacin de los msculos emisores de la seal, conocimientos de electrnica analgica, y disponer de los materiales necesarios para la construccin de las diferentes secciones y etapas que posee este proyecto.

3.2. Formulacin del problema

Es posible la creacin de una interfaz electrnica que permita el entrenamiento y puesta en funcionamiento de prtesis mediante el acondicionamiento y medicin de seales mioelctricas capturadas en extremidades?

3.3. Objetivos

3.3.1.

Objetivo General

- Desarrollar un sistema de entrenamiento virtual para el control de prtesis de miembros superiores utilizando seales mioelctricas.

3.3.2.

Objetivos Especficos

- Determinar las seales mioelctricas que se van a emplear en el sistema de entrenamiento virtual para prtesis, especficamente las presentes en las fibras musculares de las extremidades superiores del cuerpo humano.

- Construir un circuito que permita captar, amplificar, filtrar y rectificar las seales mioelctricas medidas para poder canalizarlas hacia un sistema de adquisicin de datos.

21

- Disear una aplicacin bajo un entorno de realidad virtual para la representacin de movimientos en la extremidad superior.

- Integrar el circuito y el entorno de realidad virtual por medio de una tarjeta de adquisicin de datos Arduino para visualizar algunos movimientos de la extremidad superior.

3.4. Justificacin de la Investigacin

La evolucin tecnolgica se ha hecho cada vez ms evidente al paso del tiempo, lo que antes poda parecer imposible, mediante la ingeniera y la ciencia, hoy es posible. Es por ello que la poblacin acude a la tecnologa, no solo para diversin o entretenimiento, sino tambin para la solucin de problemas fsicos que pueda presentar.

Gracias a ello hoy en da tenemos equipos que permiten la deteccin de problemas o mal funcionamiento de rganos en el cuerpo, como por ejemplo aquellos que miden la presin arterial, los pulsos cardiacos, las ondas cerebrales, entre otros. Dichos equipos se encargan de procesar distintas seales que pasan a travs del cuerpo para luego, despus de un proceso de acondicionamiento, ser analizadas e interpretadas para dar un diagnostico o ejecutar alguna funcin.

Tal es el caso de las prtesis de cualquier parte del cuerpo, las cuales anteriormente no tenan la posibilidad de ejecutar movimientos o funciones por la falta de un sistema que lo permitiera, pero que hoy en da poseen esa propiedad. Existen prtesis artificiales para rodillas, codos, caderas entre otros, pero el caso de brazos y piernas ha sido llevado ms all que una simple prtesis, ya que una persona que no tenga una de estas extremidades, busca la posibilidad de controlar un equipo que le permita emular, de la forma ms parecida posible, el movimiento que anteriormente podan realzar.

Cuando una extremidad es amputada, la posibilidad de que los nervios que quedan despus de la perdida de la misma continen emitiendo las seales enviadas por el cerebro para ejecutar un movimiento es elevada. Dichas seales son muy pequeas, pero medibles, y gracias a ello, es posible la creacin de un sistema que, por medio de un proceso de acondicionamiento, permita que sean interpretadas para que se ejecute una funcin especfica

22

Siendo as, se crear un sistema que cumpla con dichos requisitos, es decir, la medicin y acondicionamiento de seales mioelctricas as como la interpretacin de las mismas para la ejecucin de movimientos en prtesis, con pruebas realizadas en simuladores.

Durante las pruebas realizadas ser necesaria la ubicacin especifica de los nervios por los cuales circula la seal, con el fin de obtener una lectura lo ms limpia posible, de manera tal que el sistema funcione correctamente.

3.5. Delimitacin de la Investigacin

El estudio ser realizado en el Galpn Justo Mrquez de la facultad de Ingeniera, especficamente en el Laboratorio de Comunicaciones ubicado en dicho Centro. Las mediciones pertinentes sern realizadas en dicho laboratorio mientras que los materiales a utilizar en la investigacin sern suministrados por distintos centros de venta de equipos electrnicos. La duracin de la investigacin tiene un tiempo previsto de 6 meses, este tiempo abarca pruebas de laboratorio, preparacin y toma de muestras, simulaciones, redaccin y presentacin del informe final.

3.6. Alcance de la Investigacin

El desarrollo de esta investigacin pretende verificar cuan eficaz puede ser la aplicacin de una interfaz electrnica que interprete y acondicione seales mioelctricas para el control y entrenamiento virtual de prtesis, midiendo dichas seales en puntos especficos del brazo y antebrazo para su obtencin

23

CAPTULO II MARCO TERICO

2.1. ANTECEDENTES DE LA INVESTIGACIN

Rangel y Ferrer 1, disearon una interfaz que pudiera operar una prtesis para extremidades superiores en el ser humano, utilizando como base las seales mioelctricas que generadas por los msculos. La investigacin fue elaborada bibliogrficamente y utilizaron un simulador electrnico computarizado para las pruebas de los distintos filtros y amplificadores diseados y concluyen que su diseo es aplicable debido al bajo presupuesto requerido para su construccin.

Corona y Col. 2, disearon un sistema capaz de detectar seales mioelctricas provenientes de los impulsos elctricos producidos por el sistema nervioso al contraer los msculos del cuerpo. El sistema implementado fue totalmente analgico y de bajo costo, constando de tres etapas: deteccin, filtrado y amplificacin que se detecta en el bceps del sujeto de prueba. Las pruebas realizadas se hicieron en 30 sujetos obteniendo resultados satisfactorios en cada uno de ellos.

Alonso y Col. 3, disearon e implementaron un entrenador mioelctrico que permiti evaluar la adecuacin de una prtesis mioelctrica para personas cuya mano fue amputada. Los equipos de deteccin de la seal que emplearon fueron desarrollados por los mismos autores. El sistema arrojo resultados realizando pruebas sobre dos personas sin miembros amputados, consiguiendo movimientos de apertura y cierre de la mano y movimientos giratorios de mueca en ambos sentidos concluyendo que su sistema, de bajo coste y sencillez, permiten su utilizacin en pacientes con problemas de amputacin.

Babli 4, Program un microcontrolador que permite ejecutar movimientos hacia arriba y hacia abajo as como movimientos rotatorios por pasos del brazo dependiendo del nivel de voltaje DC que tenga la seal electromiogrfica. Las seales que permitieron realizar las pruebas con el microcontrolador fueron obtenidas de un potencimetro, pero concluyen que las pruebas pudieran hacerse tambin con seales electromiogrficas en vez del uso de este ltimo.

Lpez y Col. 5, Disearon y construyeron un sistema bsico capaz de detectar, acondicionar y adquirir seales mioelctricas superficiales por tcnicas no invasivas. El sistema est dividido en dos etapas: Adquisicin de seal biomdica por medio de electrodos superficiales y Transmisin de la seal al computador para procesamiento por programa de clculo como Matlab. Lograron construir el prototipo y

24

adquirir la seal satisfactoriamente, y concluyeron que, aparte de dar informacin sobre el estado del musculo, posibilita el diseo de una interfaz humano maquina que permita controlar prtesis y mejorar la calidad de vida del paciente.

Ramiro y Col. 6, Realizaron investigaciones y pruebas sobre la posibilidad de utilizar seales mioelctricas generadas por los msculos del brazo para controlar el encendido y apagado de dispositivos electro-mecnicos utilizando electrodos superficiales y amplificadores de instrumentacin. Demostraron que es posible la deteccin fcil de seales elctricas y las limitaciones presentadas al momento de acondicionar la seal, facilitando el proceso con amplificadores de instrumentacin como el AD620.

2.2. BASES TERICAS

2.2.1.

FISIOLOGA DE LAS SEALES MIOELCTRICAS:

La Electromiografa (EMG), tambin conocida como actividad mioelctrica, mide los impulsos elctricos generados por los msculos durante el descanso o contraccin. Como en otras seales electrofisiolgicas, una seal EMG es pequea y necesita ser amplificada con un dispositivo especialmente diseado para la medicin de este tipo de seales. Esta seal puede ser medida con un electrodo, y puede ser mostrada en un osciloscopio, el cual puede proveer informacin acerca de la habilidad del musculo para responder al estmulo nervioso basado en la presencia, tamao y forma de la onda, esto es, el potencial de accin resultante.7

La seal EMG es tomada del electrodo y luego es amplificada. Es posible que sea necesaria ms de una etapa de amplificacin, y ya que esta seal ser utilizada para su anlisis, debe ser procesada para eliminar las frecuencias no deseadas o ruidos, o cualquier otro factor que afecte la salida de la informacin.7

El punto ms importante de la seal EMG es su amplitud, que puede estar en un rango comprendido entre 0 y 10 mV (p-p) o de 0 a 5 mV (rms). La frecuencia de este tipo de seales est entre los 0 y 500 Hz. De cualquier forma, el rango til de la seal va desde los 50 a los 150 Hz. 7

2.2.2.

TEJIDO EXCITABLE Y POTENCIAL DE ACCIN

Existen dos tipos de tejidos en el sistema nervioso: Tejido excitable y tejido no excitable. El tejido

25

excitable, compuesto por neuronas, responde y transmite la estimulacin nerviosa. El tejido no excitable, compuesto por clulas gliales, no responde a voltajes o cualquier otro estimulo convencional, ya que las clulas gliales no son conductoras, y funcionan nicamente como clulas de soporte en el sistema nervioso. 7

El tejido excitable puede dividirse en cuatro componentes: Receptores, sensores, Neuronas de cuerpo celular y fibras musculares. En una situacin que involucra un estmulo daino como el contacto un una superficie puntiaguda o una superficie caliente, el dolor resultante y la presin son transmitida por receptores sensoriales. Producido por transduccin sensorial, el potencial de recepcin resulta de un flujo de corriente interior, que traer un potencial de membrana del receptor sensorial hacia el umbral para impulsar la neurona a generar una rfaga de pulsos de voltajes conocida como Potencial de Accion.7

Figura 1 Estimulante de potenciales de accin.

(Fuente: http://www.oocities.org/xmsabiz/1s_2.jpg)

Tal como se muestra en la figura, impulsado por un estmulo de presin alta constante, el receptor sensorial genera un potencial receptor inicial que rpidamente decrece a un nivel estable mucho menor. Este decrecimiento en el receptor potencial es llamado adaptacin. El potencial de Accin producido por la neurona tiene una magnitud de 0.1 volts, el cual es un valor tpico en cualquier especie. 7

2.2.3.

SEALES EMGS

Las seales EMG superficiales (EMGS), son esencialmente un patrn unidimensional, por lo que

26

cualquier tcnica de procesamiento de estas seales para extraer caractersticas y reconocer patrones es aplicable en ellas. La informacin que se extrae de este tipo de seales es seleccionada de manera tal que se reduzca el error en el control de prtesis mioelctricas. La necesidad de una rpida respuesta de una prtesis a un impulso elctrico limita la longitud de la muestra de la seal sobre la cual se estn extrayendo las caractersticas.8

Figura 2 Seales EMG tomadas del antebrazo. (Fuente: http://www.bionic.es/wp-content/uploads/2012/01/emg.jpg)

Adquisicin de seales EMGS

Las seales EMGS, son medidas utilizando electrodos bipolares de superficie, los cuales se ubican sobre la piel. Estas seales nos brindan informacin sobre la actividad neuromuscular que las origina, informacin esencial para el diagnstico clnico, rehabilitacin y fuente de control para diagnsticos activos y esquemas de estimulacin elctrica funcional.8

Las seales EMGS son generadas por la contraccin muscular, motivo por el cual su adquisicin requiere de una correcta ubicacin de las regiones musculares en las que la ejecucin de movimientos produce el paso de la seal por el tejido neuronal. A causa de la elevada resistencia elctrica que posee la piel, es recomendable la aplicacin de un gel que limpie la misma y elimine el tejido muerto de manera tal que mejore la conductividad y la adhesividad del electrodo a la piel. A causa de estos problemas, las seales recogidas sern muy pequeas y dbiles, por lo que es necesario un proceso de filtraje y amplificacin de manera tal que al momento de ejecutar un anlisis, el mismo se haga de manera eficiente.8

27

As mismo, segn la complejidad de la prtesis, ser necesario tener a disposicin un mayor o menor nmero de canales o electrodos de medicin ubicados en la piel. Los aspectos que influyen este procedimiento se detallan a continuacin.

Pre-procesamiento

El rango tpico de las seales EMGS va de 0-6 mV por lo que se requiere que pasen por un amplificador diferencial de alta ganancia (unas 5000 veces), evitando distorsiones de la informacin que viene contenida en la seal. Una vez amplificada la misma, se debe considerar las componentes no deseadas producidas por el ruido exterior de alta frecuencia introducida por la red de distribucin elctrica de 60 Hz. Para la eliminacin de esta informacin es comn la utilizacin de un filtro Notch aunque esta no es la opcin ms recomendable ya que muchas veces tiende a eliminar o atenuar componentes de frecuencia con informacin til. 8

Posicionamiento y nmero de electrodos superficiales.

La posicin de los electrodos es muy importante en la recoleccin de registros EMGS Con propsitos de control mioelctrico. Por ello, se recomienda la asistencia de personal mdico especializado, quienes pueden identificar con mayor precisin las regiones musculares que ms se comprometen en la ejecucin de los movimientos de inters.8

El nmero de electrodos a ubicar en la zona tratada depender de la cantidad de seales con las cuales se desee trabajar, tomando en cuenta que mientras ms seales sean medidas, ms difcil ser el tratamiento de las mismas, y requerira para un mejor anlisis individual de cada una, un sistema dedicado a cada salida de seal.

2.2.4.

ANATOMA MUSCULAR DEL BRAZO Y EL ANTEBRAZO

El brazo es la porcin comprendida entre el hombro y el codo, formado por un solo hueso denominado hmero, siendo este ltimo un hueso largo e impar, mientras que el antebrazo es la porcin comprendida entre el codo y la mueca, formado por dos huesos denominados cbito y radio.22

28

Msculos del brazo:

Los msculos del brazo se dividen en dos grandes grupos, los ventrales y los dorsales, los cuales a su vez se subdividen en dos msculos cada grupo.

Ventrales: Braquial anterior:

Es el musculo ms profundo originado por medio de fibras tendinosas cortas en la mitad de la difisis humeral. Esta inervado por el nervio del musculo cutneo. Su accin es ser el flexor puro del antebrazo. 22

Bceps Braquial:

Presenta dos porciones: larga y corta. Forma un vientre que se inserta en la tuberosidad del radio, por medio de un tendn. Esta inervado por el nervio del musculo cutneo. Su accin es ser el flexor del antebrazo sobre el brazo y a la vez supinador, por lo tanto no es un flexor puro. 22

Figura 3 - Bceps Braquial

29

(Fuente: http://hnncbiol.blogspot.com/2008/01/sistema-muscular_21.html)

Dorsales Trceps Braquial:

Consta de tres cabezas:

El Vasto interno: Forma un vientre que se contina con el tendn que se inserta sobre el olcrano del cbito.

El Vasto externo: Forma un vientre que se fija en la misma lmina del basto interno pero en su borde externo

Cabeza Larga: Se inserta en la lmina del basto externo pero se contina con la fascia antebraquial.

Esta inervado por el nervio radial, siendo su accin, a nivel del codo, la extensin del antebrazo sobre el brazo, aguantando el peso del cuerpo en las flexiones, por lo que tiene una gran fuerza aunque le frena el olcrano. Sobre el hombro su accin es la retroversin, la aproximacin y un componente de rotacin externa. 22

Figura 4 - Trceps Braquial (Fuente: http://www.alejandroyebra.com.ar/images/triceps2.jpg )

30

Ancneo:

Se origina en la cara posterior del epicndilo y el ligamento lateral externo. Se inserta en la vertiente externa del olcrano. Esta inervado por una rama del nervio radial siendo su accin la de aproximar el radio al cbito, reforzando al ligamento angular.

Figura 5 - Msculo Ancneo (Fuente: http://www.ugr.es/~dlcruz/musculos/indexcont.htm)

Msculos del antebrazo:

El antebrazo se compone de diversos msculos, siendo los ms relevantes los siguientes:

Abductor Pollicis Longus o musculo abductor largo del pulgar

Se encuentra situado en el reborde ms inferior de la cara radial, su origen est en el lado cubital posterior del radio, cerca de su mitad y su funcin es la abduccin del pulgar, ampliando la zona til de la mano, es decir, la superficie de presin, y su continua, abduccin de la mueca. 22

31

Figura 6 - Musculo Abductor largo del pulgar (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Anconeus o Ancneo

Se encuentra situado en la cara posterior del epicndilo del hmero. Su funcin es evitar el pellizcamiento de la cpsula articular y de la membrana sinovial del codo al producirse bruscos movimientos de extensin y por su trayectoria diagonal tambin puede ser incluido dentro de los msculos pronadores. 22

Figura 7 - Musculo Ancneo del antebrazo (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk)

32

Brachioradialis o supinador largo

Es un musculo bastante alargado, ms de la mitad es un largo tendn, ocupa toda la cara anteroexterna del antebrazo. Se origina en el borde externo del 1/3 inferior del humero desde donde dispone sus fibras a lo largo de toda la cara lateral externa del antebrazo. Su funcin depende sobre donde acte, fuerte flexor del codo, supinador si se parte de una pronacin no bloqueada, es decir, si el codo esta libre y tambin puede ser extensor y pronador.22

Figura 8 - Msculo Supinador Largo (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Extensor Carpi Radialis, Longus y Brevis o extensor radial corto

Es un musculo grueso y semipenniforme originado en el epicndilo cuya funcin es ser el extensor de la mueca

Figura 9 - Msculo Extensor Radial Corto

33

(Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Extensor Carpi Ulnaris o cubital posterior:

Es un musculo originado en el epicndilo y borde superior del cbito cuya funcin es, sobre la mueca, ser extensor y abductor de la misma.

Figura 10 - Msculo Cubital Posterior (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Extensor digitorum communis y Extensor Digiti Quinti Proprius

El extensor digitorum es un musculo originado en el tendn extensor comn del epicndilo lateral del hmero ayudando a la abduccin de los dedos ndice, anular y meique, tambin asiste en la extensin y abduccin de la mueca.

El extensor digiti quinti proprius se origina en la cara anterior del epicndilo lateral del hmero cuya funcin es la extensin de todos los ligamentos del dedo meique. 22

34

Figura 11 - Musculo Extensor Digitorum Communis (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Flexor Carpi Radialis

Musculo originado en el flexor comn del epicndilo medial del humero y la fascia profunda del antebrazo cuya funcin es la flexin y desviacin radial de la mueca, asi como tambin una dbil pronacin del antebrazo. 24

Figura 12 - Musculo Flexor Carpi Radialis (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk)

35

Flexor Carpi Ulnaris

Musculo que se encuentra en la parte interna y anterior del antebrazo cuya funcin es la flexion y desviacin cubital de la mueca, tambin acta como un flexor dbil del codo junto con otros msculos que flexionan el codo. 24

Figura 13 - Musculo Flexor Carpi Ulnaris (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Pronator Teres o pronador redondo

Musculo que se origina en la cara anterior de la epitrclea y en la apfisis coronoides del cbito cuya funcin es la pronacin del radio sobre el cbito y en extensin del codo ya que en flexin pierde eficacia. 22

36

Figura 14 - Msculo Pronador Redondo (Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk) Supinator o Supinador

Originado en la cara posterior del olcrano y un poco en la cara posterior del epicndilo humeral cuya funcin es actuar en supinaciones no resistidas y rpidas, siempre que el codo este extendido. 22

Figura 15 - Msculo Supinador (Fuente: Anatomical Guide For The Electromyographer: The Limbs and Trunk)

37

2.2.5.

ESTADOS DE LAS SEALES EMGS

En la generacin de seales EMGS, durante la contraccin muscular, se identifican dos fases o estados; uno, el estado transiente, correspondiente a los instantes de la rfaga de actividad mioelctrica que acompaa al esfuerzo muscular repentino en la ejecucin de un movimiento; y dos, el estado estacionario, correspondiente al tiempo del esfuerzo muscular realizado durante un movimiento sostenido.8

En otras investigaciones el enfoque ha sido la clasificacin de acciones discretas generadas por la mueca, los dedos o el codo, analizando el estado transiente de las EMGS, comprobando la existencia de una estructura en estas seales durante la fase inicial de una contraccin muscular, con un valioso contenido de informacin discriminante. 9, 10

Tambin en otras investigaciones el enfoque se llev al estado estacionario de las seales EMGS, donde se simplific el control de los dispositivos de prtesis a pesar de que cierta cantidad de informacin de la seal no es tomada en cuenta y que dicha fase estacionaria tiene una estructura temporal muy corta debida a los cambios dinmicos en el reclutamiento de unidades motoras. Mas sin embargo sus resultados son concluyentes al demostrar que se puede lograr un desempeo satisfactorio en la clasificacin contina de patrones mioelctricas de movimientos, utilizando el estado estacionario de las EMG. 10, 11

2.2.6.

ELECTRODOS

Un electrodo bsicamente es una antena receptora, la cual es un dispositivo que detecta campos magnticos oscilatorios generados desde varias fuentes, mientras que una seal es transmitida a travs del aire desde la fuente a la antena receptora, un concepto que es utilizado en ingeniera. En trminos de reconocimiento de seales EMG, la fibra muscular es un generador biolgico de seales, emitiendo campos de voltaje al volumen conductivo rodeado por fluido. Este fluido sirve para transmitir una seal EMG al elctrico, como el aire lleva seales hacia una antena.7

38

Figura 16 Electrodo (Fuente: http://www.medorca.com.ve/fotos%20productos/electrodos.jpg)

La electromiografa mide el fenmeno de despolarizacin celular que tiene lugar cuando se estimula al musculo. Si la diferencia de potencial de campo elctrico se mide a una distancia muy grande, respecto a las dimensiones del dipolo, se puede considerar que el conjunto de unidades motoras actan como un nico dipolo.12

Para el estudio de dicha actividad existen varios tipos de electrodos, clasificndose bsicamente en electrodos de agua y de superficie.12

Electrodos profundos o de aguja

Permiten el registro selectivo de la actividad de una cantidad pequea de unidades motoras o incluso de una sola de ellas, logrando realizar un estudio preciso y exhaustivo del estado neurolgico del paciente. No obstante, aunque estos dispositivos ayudan a obtener lecturas de excelente calidad, presentan ciertos inconvenientes, como el requerimiento de una gran experiencia tcnica y el hecho de que es una exploracin dolorosa.

Existen distintos tipos de electrodos de agua, pero los concntricos son los ms utilizados, estos estn montados dentro de una cnula que sirve como electrodo de referencia. La mayor ventaja de este tipo de electrodos es que son lo suficientemente duros como para atravesar fcilmente la piel.12

39

Figura 17 Electrodo de aguja (Fuente: http://tienda.bionic.es/340-category/electrodos-aguja-botox.jpg)

Electrodos de Superficie.

Este tipo de electrodo mide la actividad conjunta de la musculatura esqueltica transmitida a la superficie de la piel, logrando as una impresin promedio o compuesta de los potenciales musculares. Estos solo permiten verificar la contraccin o relajacin de un grupo muscular determinado.12

En ambos tipos de electrodos es necesaria la colocacin de un electrodo a tierra que puede ubicarse en puntos especficos que funcionan como punto de tierra.

Figura 18 - Electrodo de Superficie. (Fuente: http://img1.mlstatic.com/electrodos-para-monitor-3m-micropore_MLV-O-26958593_7575.jpg)

40

2.2.7.

PRTESIS.

Es una extensin artificial que reemplaza o sustituye la parte faltante del cuerpo ya sea en los miembros superiores o inferiores del cuerpo humano que se encuentren con discapacidad motora o prdida del mismo.

Las prtesis de las culturas que nos preceden se iniciaron con las muletas simples, tazas de madera y cuero, se dise un tipo de muleta o de clavija modificada para liberar las manos para las funciones diarias. Con el nacimiento de las grandes civilizaciones de Egipto, Grecia y Roma se desarroll el acercamiento cientfico hacia la medicina y la ciencia prosttica.

En la poca donde no haba poco desarrollo cientfico, no haba muchas alternativas prostticas disponibles para los amputados, excepto las piernas de clavija y los ganchos bsicos de mano, que solamente los ricos podran producir.

En 1509 se construy una famosa prtesis de mano para el caballero alemn Gotz von Berlichingen, llamado Gotz mano de hierro pesaba 1,4 Kg y tena dedos articulados que permitan empuar una espada o una lanza. De 1600 a 1800 vemos grandes refinamientos de los principios prostticos y quirrgicos en avance y fue aceptada la manipulacin como una medida curativa. 13

Figura 19 Prtesis de mano y antebrazo. (Fuente: https://encryptedtbn2.gstatic.com/images?q=tbn:ANd9GcQcEsj5DVFfNCfSkKYZf4rRtqBUzOOOk3zUGCIqKTfu9ciK5v2f )

En este sentido las prtesis pueden clasificarse segn su rgimen de permanencia en prtesis rgida y prtesis articulada

41

Prtesis rgida.

Es un artificio que posee una relacin de inamovilidad entre prtesis y estructura dentaria y esta se logra mediante el cementado, solamente se pueden retirar con el deterioro de su estructura. Tenemos: coronas, carillas, puente. 13

Figura 20 - Prtesis Rgida. (Fuente: https://encryptedtbn0.gstatic.com/images?q=tbn:ANd9GcQnmK6GpB0WbCm1UVopcMEcklxM7eyWVwyPyt9h_bpDvZ9ealyb )

Prtesis articulada.

Es la que posee inmovilidad en una de sus extremos y una unin articular en la otra (la que acta como conectora y liberadora de fuerza). 13

Figura 21 Prtesis Articulada. (Fuente: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSIwCzHdBqVN2bytTqUgsYEcX8XUImVFLFDWAAEdYXif705Hn62A)

42

2.2.8.

PRTESIS MIOELCTRICAS.

Son prtesis elctricas controladas por medio de una seal externa mioelctricas; estas prtesis son hoy en da el tipo de miembro artificial con ms alto grado de rehabilitacin para el paciente, constituyen una mejora en el aspecto esttico, poseen gran fuerza, velocidad y presin.

El control mioelctrico se fundamenta en que al momento de la contraccin muscular se genera una seal elctrica de baja amplitud la cual se produce por la interaccin qumica en el cuerpo, esta seal est en el orden de los microvoltios. Se utilizan sensores llamados electrodos los cuales entran en contacto con la superficie de la piel y permiten registrar la seal EMG, luego de captar esta seal es amplificada y acondicionada para que la procese un controlador que se va a encargar de conmutar los motores, encendindolos o apagndolos, produciendo el movimiento y la funcionalidad. Estas prtesis presentan la facultad de solo requerir que el usuario contraiga un musculo para poder operarla, a diferencia de otras prtesis que son accionadas por el cuerpo, las cuales requieren un movimiento general. 1

Figura 22 Prtesis mioelctrica. (Fuente: https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcRzOnSLCoPsLZW1ZNxhCkn2n5eqUU6jOHIO46vMA7aN6PAENNa ) 2.2.9. AMPLIFICADOR OPERACIONAL.

El amplificador operacional (OPAM) es un circuito integrado compuesto por una gran cantidad de transistores. Este circuito es muy popular debido a su gran versatilidad, pueden ser usados en mltiples configuraciones y son capaces de hacer operaciones aritmticas tales como la suma, resta, integracin y

43

derivacin. Los OPAM tienen la caracterstica de amplificar la diferencia de potencial que aparezca en sus terminales de entrada dndole una ganancia, idealmente infinita. 1

Figura 23 - Esquema interno del amplificador operacional. (Fuente: www.automatas.org)

Los amplificadores operacionales ideales deben cumplir con las siguientes caractersticas: 1.- La ganancia de tensin es infinita: a = 2.- La Resistencia de entrada es infinita: Ri = 3.- La resistencia de salida es 0: Ro = 0 4.- El ancho de banda es infinito: BW = 5.- La tensin offset de entrada es 0: V0 = 0 Si Vd = 0

Estas caractersticas no pueden obtenerse, debido que por un lado, para obtener una ganancia infinita, el amplificador operacional necesitara una fuente de alimentacin infinita, lo cual es inexistente en la prctica, y otra razn es el hecho de tener impedancias de entrada infinitas. La mejor manera de llegar al amplificador ideal es con impedancias de entrada en el orden de cientos de mega ohms. Basndose en las caractersticas anteriores se pueden deducir dos axiomas que estn presentes a la hora de estudiar o disear estos amplificadores operacionales, los cuales son:

1. La tensin de entrada diferencial es nula. 2. Tambin, si la resistencia de entrada es infinita no existe flujo de corriente en ninguno de los terminales.1 En este sentido es posible listar los distintos tipos de amplificador, siendo estos los siguientes:

44

Amplificador inversor

El trmino inversor se debe al signo negativo, que se presenta en la expresin de salida del amplificador, lo cual indica un desfase de 180 con respecto a la seal de entrada como se observa en la ecuacin de Voltaje siguiente. 1

( )

( )

Figura 24 - Diagrama del amplificador inversor. (Fuente: www.automatas.org)

Amplificador no inversor.

El amplificador no inversor, se caracteriza por poseer una ganancia positiva ya que las Ri no pueden tomar un valor negativo, adems siempre va a tener un valor mayor o igual a 1. Estas caractersticas se ven reflejadas en la formula a continuacin. 1

( )

Figura 25 - Diagrama del amplificador no inversor. (Fuente: kagiva.galeon.com/3ds/tutores/opam.html)

45

Seguidor de voltaje.

En esta configuracin el voltaje que entra al amplificador operacional va a ser el mismo que sale de el, y se dice que la salida sigue al voltaje. Se utiliza principalmente como etapa de adaptacin de la entrada al sistema, proporcionando una resistencia de entrada elevada. La ecuacin que describe esta configuracin se muestra en la figura 26.
1

( )

Figura 26 - Diagrama de la configuracin del seguidor de voltaje. (Fuente: C.J Savant, Diseo electrnico)

Amplificador diferencial.

Se trata de una configuracin con dos entradas, en la que se amplifica la diferencia de potencial entre ambas. Para obtener la ecuacin correspondiente a la ganancia de esta configuracin se procede a aplicar el teorema de superposicin. 1

( )

Figura 27 - Diagrama del amplificador diferencial. (Fuente: acondicionadores.com)

46

Amplificador de instrumentacin.

Existen equipos de la industria, equipos de Electromedicina, en otras muchas aplicaciones, que presentan la necesidad de medir seales muy pequeas del orden de micro voltios o pocos mili voltios, las cuales estn bajo el efecto de grandes seales de ruido provenientes de distintas fuentes, como pueden ser motores, tubos de iluminacin de descarga gaseosa, etc.

Para poder realizar las mediciones de estas pequeas seales es necesario tener una relacin adecuada de la Relacin Rechazo de Modo Comn (CRMM). El amplificador de instrumentacin es un dispositivo electrnico capaz de lograr amplificaciones importantes, con muy bajo ruido, con alimentacin simple o doble, baja deriva trmica, bajo consumo y variacin de la salida hasta los lmites de la alimentacin, es decir sin cada en la salida. Las caractersticas esenciales que presenta un amplificador de instrumentacin son las siguientes: 1. Son amplificadores diferenciales con una ganancia diferencial precisa y estable, generalmente en el rango de 1 a 1000. 3. Su ganancia diferencial se controlada mediante un nico elemento analgico (potencimetro resistivo) o digital (conmutadores) lo que facilita su ajuste. 4. Su ganancia en modo comn debe ser muy baja respecto de la ganancia diferencial. Debe presentar un CRMM muy alto en todos los rangos de frecuencia de operacin. 5. Una impedancia muy alta para que su ganancia no se vea afectada por la impedancia de la fuente de entrada. 6. Una impedancia de salida muy baja para que su ganancia no se vea afectada por la carga que se conecta a su salida. 7. Bajo nivel de las tensiones de salida del amplificador y baja deriva en el tiempo y con la temperatura, a fin de poder trabajar con seales de continua muy pequeas. 8. Una anchura de banda ajustada a la que se necesita en el diseo. 9. Un factor de ruido muy prximo a la unidad, esto evita la amplificacin de interferencia. 9. Una razn de rechazo al rizado a la fuente de alimentacin muy alto. 1

47

Amplificador de instrumentacin basado en tres amplificadores operacionales.

La configuracin ms utilizada y til al momento de disear un amplificador de instrumentacin se conforma por tres amplificadores operacionales:

Figura 28 - Amplificador diferencial basado en 3 opam (Fuente: Drake, J. Instrumentacin electrnica de comunicaciones) Los amplificadores operacionales AO1 y AO2 se colocan en la entrada de voltaje y actan como seguidores de ganancia unitaria y solo los voltajes diferenciales van a ser amplificados. Se conecta una resistencia Rg entre las entradas inversoras de estos amplificadores la cual permite aumentar la ganancia determinada sin incrementar la ganancia en modo comn ni el error, y el amplificador AO3 determina el voltaje de salida. Los amplificadores de instrumentacin se pueden encontrar en un solo encapsulado, que contienen la configuracin de los tres amplificadores operacionales que se describi. La realimentacin se puede manejar por medio de una sola resistencia externa aislada de los terminales de entrada. 1

2.2.10. FILTROS ACTIVOS

Puede definirse como filtro a cualquier dispositivo capaz de modificar de un modo determinado una seal que pasa a travs de l. En cierto modo son dispositivos selectores de frecuencia, es decir, aquellos dispositivos capaces de dejar pasar las seales presentes en la banda de frecuencia y bloquean las seales de otras bandas. Aunque existen muchos tipos de filtros de inters prctico, a continuacin se listarn los filtros ms utilizados en la prctica y por ende en la presente investigacin: 20

48

Filtro Butterwoth

El filtro de Butterworth, tambin conocidos como filtros de magnitud mximamente plana (MMP), tiene una respuesta plana en la banda de paso y una suave cada en la regin de transicin, la rapidez de la cada en la regin de transicin aumenta con el orden del filtro. Normalmente se usa como filtro que evita que las seales continuas se tornen indistinguibles, para las seales analgicas que van a ser muestreadas. El filtro Butterworth es diseado para cumplir con requerimientos ms crticos, tales como una ganancia constante para todas las frecuencias de banda de paso o una cada rpida en el paso de la banda de paso a la banda de rechazo. A continuacin en la figura se puede observar el comportamiento de tres tipos distintos de filtros (Butterworth, Chebyshev y Bessel)

Figura 29 - Grficos de filtros pasa baja de segundo orden. (Fuente: http://startcom1.wordpress.com/2011/01/24/filtros/) El orden de un filtro describe el grado de aceptacin o rechazo de frecuencias por arriba o por debajo, de la respectiva frecuencia de corte. Un filtro de primer orden, con una frecuencia de corte igual a F, va a presentar una atenuacin de 6dB (2F) en la primera octava, 12dB (4F) en la segunda, 18dB (8F) en la tercera y as contina sucesivamente. El de segundo orden tiene el doble de pendiente con respecto al de primer orden si se representa es escala logartmica. En la grfica de la figura se observa las respuestas de 3 de filtros Butterworth (2do, 3ro y 4to orden) todos con una misma frecuencia de corte, claramente se muestra en la grfica que la pendiente va a varear segn el orden como se explic anteriormente.

49

Figura 30 - Graficas de filtros Butterworth de distinto orden con la misma frecuencia de corte. (Fuente: http://startcom1.wordpress.com/2011/01/24/filtros/)

Al momento de disear filtros Butterworth de orden mayor se realizan conexiones en serie de filtros de primer orden y segundo orden, debido a que la complejidad del filtro depende del orden del mismo. 1

Filtro pasa-bajas.

Un filtro pasa bajas es aquel que deja pasar las frecuencias que van desde una seal en directa (f=0) hasta una frecuencia de corte determinada (Fc). Despus de la frecuencia de corte todas las frecuencias siguientes sern rechazadas. El comportamiento de un filtro pasa bajas ideal se ilustra en la figura, donde se puede denotar que existe una banda de paso y una banda de rechazo y muestra a su vez la frecuencia de corte ideal ya que corta exactamente donde la frecuencia de corte es deseada. 1

Figura 31 Diagrama de conexin y grfica de filtros pasa-baja. (Fuente: C.J Savant, Diseno electrnico, http://www.infoab.uclm.es/labelec/Solar/Otros/Audio/html/filtros.html)

50

Filtro pasa-altas.

Un filtro pasa altas trabaja de manera inversa al filtro pasa bajas previamente explicado. En este caso las frecuencias que van desde cero (corriente directa) hasta una frecuencia de corte son rechazadas. De ah en adelante todas las frecuencias siguientes se dejan pasar como se muestra en la figura. 1

Figura 32 - Diagrama del filtro pasa-alta. (Fuente: C.J Savant, Diseno electronico)

Figura 33 - Grafica de filtros pasa-alta. (Fuente: http://www.info-ab.uclm.es/labelec/Solar/Otros/Audio/html/filtros.html)

Filtro pasa-banda.

El filtro pasa banda no deja pasar frecuencias bajas que van desde una frecuencia con valor de cero (corriente directa) hasta una frecuencia de corte. El filtro consta de dos frecuencias de corte las cuales se designan como Fl y Fh por las palabras en ingls low y high (alto y bajo). El filtro pasa-banda permite el paso solo de las frecuencias que se encuentren entre Fl y Fh rechazando las inferiores a Fl y las mayores a Fh, su comportamiento ideal se muestra en la figura 34. 1

51

Figura 34 - Grfica de filtros pasa-banda. (Fuente: http://www.info-ab.uclm.es/labelec/Solar/Otros/Audio/html/filtros.html)

Filtro rechaza-banda (notch).

Conocido tambin como filtros supresores de frecuencias, son capaces de atenuar o incluso eliminar frecuencias concretas, es decir, dejan pasar desde una frecuencia cero que sera una seal de corriente directa hasta una frecuencia de corte. Despus de la primera frecuencia de corte no dejan pasar las frecuencias siguientes hasta a la segunda frecuencia de corte. Despus de la segunda frecuencia de corte dejan pasar todas las frecuencias siguientes. 1

Figura 35 - Grfico de filtro rechaza-banda y diagrama de bloques de filtro rechaza banda. (Fuente: C.J Savant, Diseo electrnico) 2.2.11. RECTIFICADOR DE MEDIA ONDA.

Un rectificador de media onda es un circuito empleado para eliminar la parte negativa o positiva de una seal de corriente alterna, en la figura se puede observar la respuesta ideal de un rectificador de media onda configurado para eliminar las seales negativas de una entrada sinodal. El rectificador de media onda generalmente se usa solo para aplicaciones de baja corriente, o de alta frecuencia, ya que

52

requiere una capacitancia de filtrado mayor para mantener el mismo voltaje de rizado que un rectificador de onda completa. 1

Figura 36 - Circuito y grfica de respuesta del rectificador de media onda. (Fuente: C.J Savant, Diseo electrnico) 2.2.12. CONVERSIN AC/DC PUENTE RECTIFICADOR.

El sistema conversin AC/DC o Puente Rectificador es un circuito electrnico usado en la conversin de corriente alterna en corriente continua. Es conocido adems como circuito o puente de Graetz, en referencia a su creador, el fsico alemn Leo Graetz. Consiste en cuatro diodos comunes de uso general, que convierten una seal con partes positivas y negativas en una seal nicamente positiva. Un simple diodo permitira quedarse con la parte positiva, pero el puente permite aprovechar tambin la parte negativa. El puente, junto con un condensador de rizado y un diodo zener, para limitar la tensin, permite convertir la corriente alterna en continua. El papel de los cuatro diodos comunes es hacer que la electricidad vaya en un solo sentido, mientras que el resto de componentes tienen como funcin estabilizar la seal. Rectificador de onda completa: Un rectificador de onda completa convierte la totalidad de la forma de onda de entrada en una polaridad constante (positiva o negativa) en la salida, mediante la inversin de las porciones (semiciclos) negativas (o positivas) de la forma de onda de entrada. Las porciones positivas (o negativas) se combinan con las inversas de las negativas (positivas) para producir una forma de onda parcialmente positiva (negativa).

Rectificador de media onda: Durante el semiciclo positivo de la tensin del primario, el bobinado secundario tiene una media onda positiva de tensin entre sus extremos. Este aspecto supone que el diodo se encuentra en polarizacin directa. Sin embargo durante el semiciclo negativo de la tensin en el primario, el arrollamiento secundario presenta una onda sinusoidal negativa. Por tanto, el diodo se encuentra polarizado en inversa.

53

El Puente de diodos rectificador se emplean la mayora de los equipos electrodomsticos en la entrada de la lnea de alimentacin de corriente alterna directamente o despus de un transformador aislador.

2.2.13. RUIDO EN SEALES MIOELCTRICAS.

La seal mioelctrica o seal EMG estar corrupta con ruido proveniente por varias fuentes, entre estas predomina la frecuencia de 60Hz de la lnea elctrica y ruido blanco existente en el ambiente. Es por eso que la seal a analizar se aplicar un acondicionamiento basado en amplificadores instrumentales o amplificadores con alto rechazo al modo comn y filtros analgicos donde su objetivo ser que la seal EMG sea pura y sin ruido de por medio.

El proceso de acondicionamiento es aquel que permita tener la seal EMG, en lo ms posible, libre de ruido externo e intrnseco. Es por eso el uso de filtros anlogos es inevitable antes de comenzar el procesamiento digital de la seal.14

Figura 37 Generadores de Ruido. (Fuente: https://encryptedtbn2.gstatic.com/images?q=tbn:ANd9GcQgueTvVy2Xkd3BLXG3jUB73QVjXqozpbD7FeAmjy7tXo_j2ZOG )

54

2.2.14. REALIDAD VIRTUAL.

Es una experiencia inmersiva, interactiva y multisensorial generada al simular ambientes reales o imaginarios. 17

Se utiliza para simuladores de entrenamiento (pilotaje, control de vuelo, mantenimiento y reparaciones, tiro, etc.) Reduce alrededor de 30% el tiempo de entrenamiento. 18

De igual manera la Realidad Virtual es una simulacin tridimensional dinmica en la que el usuario se siente introducido en un ambiente artificial que percibe como real en base a estmulos a los rganos sensoriales. 19

Caractersticas. Realismo visual Punto de inmersin basado en el usuario Interaccin multisensorial Inmersin Interfaces cmodas Combinacin de objetos reales con virtuales Retroalimentacin: audio, fsica. Elementos de navegacin y control. Calidad de despliegue Ambientes virtuales compartidos Uso: General contra especfico17

Componentes Despliegues visuales Sistemas de rastreo Dispositivos de entrada Sistemas de sonido Dispositivos de retroalimentacin Hardware grfico y de clculo Herramientas de software17

55

Dentro del marco de funcionamiento de la realidad virtual existen algunas condiciones que deben cumplirse para obtener los resultados esperados. Dichas condiciones se listan a continuacin:

Simulacin: Capacidad para representar un sistema con suficiente parecido a la realidad, para convencer al usuario de que constituye una situacin paralela a aquella. Este entorno estar regido por una serie de reglas, no necesariamente iguales a las del mundo real. 17

Interaccin: Tener el control del sistema creado para que las acciones del usuario produzcan cambios en el mundo artificial. Para lograr esta interaccin existen diversos interfaces hombremquina, que van desde los ms sencillos como teclado y ratn hasta otros ms avanzados como guantes o trajes sensoriales. 17

Percepcin: Es el factor ms importante de todos. Actualmente los sistemas de Realidad Virtual se dirigen principalmente a los sentidos (vista, odo, tacto) mediante elementos externos (cascos de visualizacin HMD, guantes de datos, etc.), pero es posible que en el futuro traten de llegar directamente al cerebro, evitando as los interfaces sensoriales externos. 17

Ahora bien, para el caso de la Percepcin 3D existen lineamientos bsicos con relacin a las perspectivas obtenidas y lo percibido por el sujeto:

Implica una superficie continua, que hace de fondo y mecanismos perceptivos sensoriales (o impresiones visuales) Perspectivas por la posicin del sujeto respecto del objeto: Por la textura: Las texturas desaparecen con la distancia. Por la dimensin: Los objetos iguales se achican cuando se alejan. Linear : las paralelas convergen en los puntos de fuga Perspectivas

Perspectivas por el paralaje Por visin binocular: Cada ojo recibe una imagen diferente Por movimiento: Los objetos prximos parecen moverse mas rpido.

Perspectivas independientes de la posicin o del desplazamiento del observador: Area: Cuando el aire est limpio, los objetos lejanos parecen ms cercanos. Difusa: Los objetos ms lejanos que el punto de focalizacin son vistos ms difusos.

56

Elevacin relativa de los objetos en el campo visual: Los objetos ms alejados parecen ms bajos que el horizonte

Ruptura de la continuidad lineal: La falta de continuidad entre el sujeto y el objeto, sugiere que ste lejos que lo previsto

Modificacin dan la proporcin de imgenes dobles: Al fijar la vista en un objeto alejado, los que estn ms cerca se ven dobles

Modificacin de la velocidad de desplazamiento: los objetos prximos se mueven ms rpido que los lejanos

Integralidad y continuidad del contorno: el objeto cuyo contorno est oculto, estamos lejos que el que lo oculta

Transicin entre la luz y la sombra: la alteracin de la luminosidad implica ms dista

Aplicaciones. Conviene destacar que la realidad virtual no es aplicable en todos los casos. Tenemos entonces que la misma es aplicable en los casos donde: Se puede usar una simulacin. La enseanza o el entrenamiento en el mundo real puede ser: Peligrosa: Por ejemplo, cuando el instructor o el aprendiz pueden sufrir algn dao. Imposible: Por ejemplo, cuando la situacin real no permite experimentacin. Inconveniente, como los problemas ticos y morales asociados a la clonacin humana, o problemas de coste. Pueden suceder errores significativos por parte del alumno o aprendiz en el mundo real. Estos errores pueden ser: Devastadores o desmoralizadores para el alumno. Perjudiciales para el ambiente. Causantes de averas al sistema. Costosos.

La interaccin con el modelo es igual o ms motivadora que la interaccin con la situacin real. Por ejemplo, cuando se usa un formato de juego. La realizacin de una clase atractiva requiere viajes, dinero y/o logstica. Se desea lograr experiencias compartidas en un grupo. Se desea crear un entorno simulado para lograr los objetivos de aprendizaje. Es necesario hacer perceptible lo imperceptible. Por ejemplo, usar y mover figuras slidas para representar colisiones.

57

Quieren desarrollarse entornos participativos y de actividades que slo pueden ser generados por ordenador. Las tareas a ensear requieren destrezas manuales o movimientos fsicos. Es esencial hacer el aprendizaje ms interesante y divertido. La motivacin es un factor muy importante, sobre todo en estudiantes que tienen problemas de atencin. Es necesario proporcionar a una persona discapacitada la oportunidad de realizar experimentos y actividades que de otra manera no podra realizar. 19

Mientras que la realidad virtual no es aplicable para los casos en donde:

Existe otro mecanismo ms efectivo en el proceso de enseanza o aprendizaje de la situacin real. Es necesaria la interaccin con humanos reales. El entorno virtual puede ser fsicamente daino. El entorno virtual puede ser emocionalmente daino. El entorno virtual puede conducir a un sndrome de literalizacin, en el que el usuario podra confundir el modelo con la realidad.

La Realidad Virtual es una tecnologa aplicable al terreno de la educacin, debido principalmente a su capacidad para visualizar los procesos en estudio, independientemente de la disciplina a tratar. De esa forma, los alumnos pueden sumergirse en escenarios artificiales que les muestran procesos en estudio que de otra forma seran inaccesibles. 19

Figura 38 Guantes simuladores de movimiento de la mano. (Fuente: https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRH98bN8QH4HzCsX3_Eso4WDO8wh0R4QuxM_xAwSTbco_e-8P6jw)

58

2.2.15. ARDUINO

Introduccin al Arduino.

Arduino es una plataforma de prototipos electrnica de cdigo abierto (open-source) basada en hardware y software extrables y fciles de usar. Est pensado para artistas, diseadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede sentir el entorno mediante la recepcin de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos.

El microcontrolador de la placa se programa usando el Lenguaje de programacin Arduino (basado en Wiring1) y el Arduino Development Environment (basado en Processing2). Los proyectos de Arduino pueden ser autnomos o se pueden comunicar con software en ejecucin en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano o encargarlas pre ensambladas; el software se puede descargar gratuitamente. Los diseos de referencia del hardware (archivos CAD) estn disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades.
21

Caractersticas tcnicas y descripciones. Tabla 1 - Caractersticas tcnicas y descripciones del Arduino Uno 21 Caracterstica Microcontrolador Voltaje de operacin Tension de entrada (recomendada) Tensin de entrada (lmite) Pines digitales de E/S Pines de entrada analgicos Corriente DC por pin E/S Corriente DC por pin 3,3 V Memoria Flash SRAM EEPROM Frecuencia de reloj Descripcin ATMEGA328 5V 7 - 12 V 6 - 20 V 14 (de los cuales 6 proveen salidas PWM) 6 40 mA 50 mA 16 KB (de los cuales 2KB usados para bootloader 1 KB 512 BYTES 16 MHz

59

Caractersticas Fsicas.

La longitud y anchura un Arduino pueden ser 2.7 y 2.1 pulgadas respectivamente, con el conector USB y el conector de alimentacin que se extienden ms all de las primeras dimensiones. Tres agujeros de tornillo permiten a la placa atornillarse a una superficie o caja. 21

Por qu usar Arduino?

Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computacin fsica y muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles de la programacin de microcontrolador y la encierran en un paquete fcil de usar. Arduino tambin simplifica el proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para profesores, estudiantes y aficionados interesados sobre otros sistemas. Econmico: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras. La versin menos cara del mdulo Arduino puede ser ensamblada a mano, e incluso los mdulos de Arduino pre ensamblados cuestan menos de 50$.

Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La mayora de los sistemas microcontroladores estn limitados a Windows.

Entorno de programacin: El entorno de programacin de Arduino es simple, claro y fcil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo tambin. Para profesores, est convenientemente basado en el entorno de

programacin Processing, de manera que estudiantes aprendiendo a programar en ese entorno estarn familiarizados con el aspecto y la imagen de Arduino.

Cdigo abierto y software extensible: El software Arduino est publicado como herramientas de cdigo abierto, disponible para extensin por programadores experimentados. El lenguaje puede ser expandido mediante libreras C++, y la gente que quiera entender los detalles tcnicos pueden hacer el salto desde Arduino a la programacin en lenguaje AVR C en el cual est basado. De forma similar, puedes aadir cdigo AVR-C directamente en tus programas Arduino si quieres.

Cdigo abierto y hardware extensible: El Arduino est basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los mdulos estn publicados bajo licencia Creative

60

Commons, por lo que diseadores experimentados de circuitos pueden hacer su propia versin del mdulo, extendindolo y mejorndolo. Incluso usuarios relativamente inexpertos pueden construir la versin de la placa del mdulo para entender cmo funciona y ahorrar dinero. 21

Figura 39 Partes del Arduino Uno. (Fuente: http://solorobotica.blogspot.com/2012/07/arduino-plataforma-electronica-abierta.html)

61

CAPITULO III MARCO METODOLOGICO

3.1. Tipo de Investigacin

El tipo de Investigacin es descriptiva expost-facto, puesto que se busca determinar la forma ms efectiva para la deteccin de seales electromiografcas, verificar la viabilidad del diseo propuesto para el acondicionamiento de la seal y experimentar con sujetos de prueba la efectividad del sistema aplicado para la puesta en funcionamiento del sistema de realidad virtual simulado en cualquier PC.

3.2. Diseo de la Investigacin

El diseo de la investigacin es analtica experimental puesto que se busca evaluar la relacin que existe entre un factor y un efecto, respuesta o resultado siendo los investigadores quienes asignan el factor de estudio, es decir, se busca analizar la respuesta del sistema empleado, en este caso el circuito, utilizando como factor de estudio las seales mioelctricas, monitoreando en el simulador de realidad virtual el efecto que producen dichas seales al pasar por dicho programa, este procedimiento se realizara en cada prueba realizada analizando los resultados obtenidos en cada una de ellas.

La poblacin y muestra est constituida bsicamente por un sujeto de prueba seleccionado para la medicin y procesamiento de las seales que se obtienen del antebrazo del mismo. El muestreo ser aleatorio simple puesto que se realizarn pruebas aleatorias y los resultados obtenidos para cada una dependern de la cantidad de pruebas que se realicen por sesin de estudio, es decir, los resultados sern verificados por cada sesin probando cuantas veces sea necesario hasta que se obtenga una visin clara de la seal y un movimiento limpio en el simulador.

3.3. Etapas de la investigacin

El conjunto de etapas en las que se divide el proyecto fueron las siguientes: (cabe destacar que el orden de ejecucin de las mismas no necesariamente es el mismo)

62

3.3.1.

Revisin Documental

En esta etapa se procede a revisar toda la bibliografa suministrada por el tutor, as como la bibliografa que se pudo encontrar por medios alternos, haciendo nfasis en el diseo del circuito principal, el cual se encarga de procesar la seal de entrada proveniente de la conexin del electrodo superficial a los puntos de medicin, los cuales fue necesario ubicarlos por medio de revisiones documentales y asesoramiento de estudiantes de medicina para obtener una mejor y ms eficiente lectura de estas seales.

3.3.2.

Verificacin de las etapas del diseo del circuito

El circuito se encuentra dividido por distintas etapas prediseadas, las cuales se debieron probar inicialmente con ayuda de seales generadas por equipos especiales. Las etapas son las siguientes:

Etapa de reconocimiento de la seal: En esta etapa se verifica que el electrodo este bien ubicado para obtener una lectura clara

Etapa de acondicionamiento de la seal: En esta etapa se procede a revisar las distintas fases del circuito, las cuales son: Amplificacin, filtrado y rectificacin, cada una de las cuales esta previamente diseada por medio de amplificadores operacionales y otros equipos seleccionados, con el fin de garantizar un funcionamiento adecuado, obteniendo lecturas limpias y claras en cada una de las fases.

Etapa de control: Para esta etapa se procede a realizar la programacin de un microcontrolador que permita accionar sus salidas dependiendo de la lectura obtenida con respecto a la seal, dichas salidas se encargaran de accionar el movimiento dentro del programa de simulacin de realidad virtual. Cabe destacar el procedimiento necesario para la interconexin entre el microcontrolador y el ordenador personal.

Etapa de Simulacin: Esta etapa no esta completamente ligada a las anteriores puesto que su diseo no depende de ellas, es decir, para la elaboracin de esta etapa simplemente se necesita una seal de entrada que emule la seal proveniente del microcontrolador, problema que puede solucionarse creando una seal virtual que emulara dicha seal y que servir como medio de prueba para ejecutar el movimiento necesario.

63

3.3.3.

Preparacin del material

Antes del montaje del circuito es necesaria la elaboracin de una lista que incluya todos y cada uno de los componentes que son necesarios para dicho circuito. Se procede a buscar cada componente y a montar el circuito por etapas e ir probndolas de manera que no se avance hasta que se obtenga la salida esperada en cada etapa. Los equipos que se utilizaran para tomar mediciones y generar los voltajes necesarios para poner en funcionamiento los componentes del circuito se encuentran ubicados en el laboratorio de comunicaciones. La lista con todos los materiales necesarios para la ejecucin del proyecto es la siguiente

Generador de seales Osciloscopio Fuente DC Puntas para osciloscopio Puntas para generador de seales Cables tipo caiman-caiman Cables tipo banana-banana Cable para conexiones en protoboard Protoboard Resistores de distintos valores

Capacitores de distintos valores Amplificadores Operacionales Diodos Potencimetros Tarjeta de adquisicin de datos Cable para tarjeta de adquisicin de datos Electrodos superficiales para adulto Cinta Quirrgica Gel de conduccin

64

CAPITULO IV

DESARROLLO Y CONSTRUCCION DE LAS FASES DEL PROYECTO

El proyecto se compone de cuatro fases principales; construccin del circuito, ubicacin de puntos de medicin, diseo del entorno de realidad virtual y enlace entre la tarjeta de adquisicin de datos Arduino y el entorno de realidad virtual.

La fase inicial consiste en la revisin y construccin de las etapas que componen el circuito, es decir, amplificacin, filtrado y rectificacin de las seales de entrada. La siguiente etapa consta de una revisin tanto bibliogrfica como practica para la ubicacin de seales mioelctricas en los msculos pertenecientes a las extremidades superiores del cuerpo, donde sern ubicados los electrodos seleccionados para tal fin. Luego se procede a la construccin de la aplicacin en el entorno de realidad virtual, en donde se pretende recrear los movimientos de la extremidad indicada para finalmente configurar la tarjeta de adquisicin de datos Arduino con el fin de establecer un enlace entre las dos fases finales del proyecto.

El siguiente diagrama muestra las etapas de desarrollo del sistema de entrenamiento virtual para prtesis:

Figura 40 - Diagrama de etapas de construccin del sistema de entrenamiento virtual para prtesis

65

4.1. FASE I: REVISION Y CONSTRUCCION DE ETAPAS DEL CIRCUITO:

Como fue planteado anteriormente, el circuito se comprende de varias etapas, debido a que las seales mioelctricas son de rangos muy bajos de frecuencia, variando entre los 20 y los 500 Hz segn estudios realizados por el SENIAM (Surface ElectroMyoGraphy for the Non-Invasive Assessment of Muscles), dichas etapas fueron seleccionadas con el fin de acondicionar la seal de tal forma que la salida del circuito sea una seal manipulable y aplicable en un dispositivo de adquisicin de datos. Las etapas del circuito se listan a continuacin, especificando los valores seleccionados en cada una:

4.1.1. ETAPA 1: PRE-AMPLIFICACION

AMPLIFICADOR DE INSTRUMENTACION:

Este amplificador fue seleccionado debido a las propiedades que son exigidas en la construccin del mismo, como son: ganancia estable, un CMRR o rechazo en modo comn alto, una impedancia de entrada alta, una impedancia de salida muy baja, un nivel de offset bajo y un ancho de banda ajustado.

La siguiente tabla muestra los valores del circuito mostrado en la Figura 41:

Tabla 2 - Valores del amplificador de instrumentacin Nomenclatura Ra Rb Rg R1 R2 R3 R4 Pg P4 Valor 32,8 32,8 49,9 1,396 32,9 1,396 32,7 100 10 Unidad k k k k k k k k k

66

Figura 41 - Diagrama de conexin del Amplificador de Instrumentacin

Para este diseo se seleccionaron tres amplificadores operacionales LM741, destacando que existen equipos con mayor precisin y mejor funcionamiento que estos ltimos, pero debido a que no son comerciales en el territorio se decidi utilizar los primeros.

Este circuito consta de dos etapas, la primera es la etapa de pre-amplificacin y la segunda est conformada por un amplificador diferencial.

La ganancia Total del circuito es:

( )

( )

( )

Donde Ad1 y Ad2 son las ganancias de la etapa de pre-amplificacin y la etapa diferencial respectivamente y Pg es una resistencia ajustable entre 0 y 100 k con una resistencia fija Rg en serie que evita que la primera llegue a 0 y as poder ajustar la ganancia del circuito.

Siendo as, segn los valores de la tabla 2 y las ecuaciones 6,7 y 8 se tiene:

67

Cabe destacar que la ganancia Ad2 solo puede calcularse de esa forma cuando las resistencias R1 y R2 son iguales y R3 y R4 tambin, de otra forma los clculos cambiarn. Tambin es importante recalcar que las resistencias utilizadas fueron todas de precisin debido a su bajo error (1%) ya que esto ayuda a obtener una mejor respuesta del amplificador.

4.1.2. ETAPA 2: FILTRADO

Debido a que la seal fue amplificada anteriormente, es necesaria una etapa de filtrado, esto con el fin de eliminar toda las seales inmersas en la salida del amplificador de instrumentacin, ruidos ocasionados por el movimiento de los electrodos dispuestos en el rea de medicin o seales de baja frecuencia (015Hz), frecuencias de ondas radiales ( kHz) y sobre todo la frecuencia de 60Hz generada por los equipos utilizados.

Para solventar este inconveniente fueron seleccionados dos filtros, un filtro pasabanda y un filtro notch:

Filtro Pasabandas:

El filtro seleccionado es un pasabandas Butterworth de 4to orden, ya que este tipo de filtro ayuda a reducir considerablemente el ruido de una seal ayudando a procesarla mejor debido a que mientras mayor sea su orden ms efectivo ser. La configuracin es MFB con una ganancia de 1 y una banda de paso ubicada entre los 100 Hz y los 500 Hz para la frecuencia de corte menor y mayor respectivamente.

Ntese que el filtro fue obtenido de un programa de circuitos en el que se incluyen modelos prediseados de filtros y este fue el arrojado para la banda de paso seleccionada. A continuacin se muestra una tabla con las caractersticas del filtro as como una grfica representando su diagrama de conexin:

68

Tabla 3 - Parmetros del filtro Butterworth Parmetro Ganancia Orden del filtro Frecuencia de corte inferior F Frecuencia de corte superior F Aproximacin Tipo de Filtro Configuracin Amplificador utilizado Descripcin 1 4 100 Hz 500 Hz Butterworth Pasa banda Multiple Feedback (MFB) LM741

Figura 42 - Filtro Pasabandas Butterworth

Tabla 4 - Valores del Filtro Pasabandas Butterworth Nomenclatura R1 R2 R3 R4 R5 R6 C1 C2 C3 C4 Valor 8 51 38 8,45 23,4 35,3 0,15 0,047 0,012 0,041 Unidad k k k k k k F F F F

Debido a que este filtro no es capaz de suprimir las ondas generadas por el ambiente, es decir la frecuencia de 60 ciclos (60 Hz) fue necesaria la ubicacin de otro filtro.

69

Filtro Notch: Este tipo de filtros es ideal para rechazar frecuencias especificadas, en nuestro caso la frecuencia

natural de 60 Hz, A continuacin se presenta la tabla de parmetros del circuito, su diagrama de conexin y el valor de sus componentes: Tabla 5 - Parmetros del filtro notch Parmetro Frecuencia central Ganancia Banda de rechazo Tipo de filtro Orden de filtro Configuracin Amplificador utilizado Descripcin 60 Hz 1,5 60 Hz Rechaza Banda 2 Sallen-Key LM741

Figura 43 - Diagrama de conexin del filtro notch

Tabla 6 - Valores del filtro notch Nomenclatura R1 R2 R3 R4 R5 C1 C2 C3 Valor 2,7 2,7 1 1,3 2 1 1 2 Unidad k k k k k F F F

70

Luego de pasar por esta etapa, la seal disminuye su amplitud a consecuencia de la accin de los filtros anteriormente mencionados sobre ella, es por eso que la misma debe pasar por un proceso de amplificacin final con el fin de obtener una seal cuya magnitud en voltios sea lo suficientemente grande como para manejar una tarjeta de adquisicin de datos, es por ello que se emplea una ltima etapa de amplificacin: 4.1.3. ETAPA 3: AMPLIFICACION FINAL Esta etapa est compuesta por un amplificador operacional en configuracin no inversor, es

importante recalcar que en esta etapa, siendo el ltimo paso a ejecutar para acondicionar correctamente la seal, se debera obtener una salida comprendida entre los 0 y los 5 voltios, utilizando como amplificador base un LM741 cuyo rechazo en modo comn es alto (CMRR = 90 dB) y una impedancia de entrada elevada. El diagrama de conexiones del circuito es el siguiente:

Figura 44 - Diagrama de conexiones Amplificador no inversor La ecuacin de ganancia para este tipo de amplificador es la siguiente:

Por criterios de diseo para este tipo de amplificadores segn el texto Sergio Franco se supone arbitrariamente un valor de R2 = 10 k para luego calcular el valor de la retroalimentacin del que depende la ganancia del circuito, es decir R1, el cual es calculado multiplicando el valor de R2 por un factor variante entre 10 y 20, es decir, R1= n x R2.

71

Para este caso fue utilizado un factor arbitrario de 10 para obtener una ganancia de11 como se observa a continuacin:

Esto producir un aumento considerable en la magnitud de salida de la seal en referencia a la entrada, lo que permitir hacer uso de esta seal en dispositivos microcontroladores o tarjetas de adquisicin de datos, pero antes de ello, es necesario pasar por una etapa de rectificacin y conversin AC-DC, esto con el fin de obtener una seal lo ms parecida posible a una DC de manera tal de que se pueda controlar el voltaje de entrada al microcontrolador, que vendra siendo la salida final del circuito, y as poder maniobrar con el mismo de manera correcta y precisa. 4.1.4. ETAPA 4: RECTIFICACION Y CONVERSION AC-DC Para esta etapa se hizo uso de un Rectificador de instrumentacin de media onda con Amplificador Operacional, el cual est representado por el siguiente diagrama de conexin:

Figura 45 - Diagrama de conexiones Rectificador de instrumentacin de media onda con Amplificador Operacional

Este circuito suprime la parte negativa de la seal dejando activa solo la parte positiva, los valores para el circuito son los siguientes:

72

Tabla 7 - Valores rectificador de media onda Nomenclatura R1 R2 R3 Diodos Valor 10 10 10 ** Unidad k k k **

La salida de la seal tendr el siguiente comportamiento:

Figura 46 - Vo2 seal de salida del rectificador de media onda (Fuente: http://www.uhu.es/adoracion.hermoso/Documentos/tema-5.pdf) Luego de rectificar la seal es necesaria una conversin AC-DC debido a que la entrada al microcontrolador que ser utilizado para la programacin del sistema virtual debe ser similar o igual a una seal DC, esto se logra colocando un capacitor conectado a tierra en la salida del rectificador como se muestra en la figura 47.

Figura 47 - Rectificador de media onda conversor AC-DC

73

El valor del capacitor instalado es de 100 F de manera tal que la salida del circuito tenga el siguiente comportamiento:

Figura 48 - Salidas del rectificador con conexin y sin conexin de capacitor electroltico El valor del capacitor afectar en el tiempo de descarga, como se observa en la grfica anterior, mientras ms lenta se la descarga del capacitor la curva de cada ser ms lineal, lo que ocasionara una cada de tensin cada vez menos pronunciada obteniendo as una salida muy parecida a una seal DC. El diagrama final del circuito se muestra en el anexo 4

4.2. FASE II: UBICACIN Y SELECCIN DE PUNTOS DE MEDICION Y MOVIMIENTOS A EJECUTAR

De acuerdo al estudio bibliogrfico realizado con anterioridad y a consultas con mdicos relacionados con el rea de electromiografa en msculos, fue posible la ubicacin de diversos puntos sobre los cuales se pueden obtener lecturas claras de seales mioelctricas.23 De estos fueron seleccionados, segn la intensidad de seal obtenida, tres puntos para las pruebas a realizar:

Brachioradialis o Braquiorradial: Este musculo se ubica en la regin externa y superficial del antebrazo, es capaz de ejecutar movimientos de pronacin y de supinacin. La siguiente grafica muestra la ubicacin exacta del punto:

74

Figura 49 - Msculo Braquiorradial Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk Flexor Carpi Ulnaris o Flexor Cubital del Carpo: Este musculo se ubica en el antebrazo, parte interna y anterior del antebrazo. A continuacin una grfica que muestra la ubicacin del punto de medicin donde debe ser colocado el electrodo:

Figura 50 - Msculo Flexor Cubital del Carpo Fuente: Anatomical Guide For The Electromyographer: The Limbs And Trunk

Biceps Brachii o Biceps Braquial: Este musculo se ubica en la regin anterior del brazo el cual posee tres porciones: Larga, lateral y media. A continuacin una grfica donde se ubica el punto de medicin para el electrodo:

75

Figura 51 - Msculo Bceps Braquial (Fuente: http://4.bp.blogspot.com/ddoclAFEKkU/URFvya91dxI/AAAAAAAAAgo/64b0ICPSwCg/s1600/Biceps_Brachii_and_Brachialis.jpg)

Para todos los casos es necesaria la ubicacin de un punto de tierra, el cual debe ubicarse en un lugar retirado del punto de medicin y por donde circulen la menor cantidad de nervios posible, esto con el fin de evitar seales filtradas en las lecturas y obtener resultados claros y legibles; dicho punto fue ubicado en la parte lateral del hombro. El punto de tierra se representa en la siguiente grfica:

Figura 52 - Ubicacin del punto de tierra comn para cada musculo (Fuente: http://4.bp.blogspot.com/sIHfqsxJaoY/UJng5yne8MI/AAAAAAAAEqg/8j1VeW4fyBg/s640/deltsbig.gif )

Las Figura 53 muestra cmo deben ir dispuestos los electrodos en el brazo del sujeto de prueba para obtener una seal clara y medible

76

Figura 53 - Disposicin de electrodos en el brazo y antebrazo

4.2.1. SELECCIN DE ELECTRODOS DE MEDICIN

La seleccin del elemento sensor que permitir la obtencin de las seales mioelctricas se rigi segn diversos criterios, entre los que se encuentra la posibilidad de mediciones invasivas y no invasivas. Ante esta problemtica se decidi utilizar electrodos superficiales para adultos debido a que estos no son invasivos, son reusables y son econmicos, esta ltima caracterstica de los electrodos superficiales es relevante al momento de realizar pruebas en vivo, debido a que el gasto requerido por pruebas depende de la cantidad de electrodos que sern utilizados, y al ser numerosas las pruebas a realizar, es necesaria la sustitucin continua del electrodo debido a que este pierde el adhesivo que viene impreso en el con l uso.

Figura 54 - Electrodos superficiales para nios y adultos respectivamente (Fuente: http://drogueriamelygin.com/archivos/productos/3M_ELECTRODOS.jpg)

77

4.2.2. SELECCIN DE LOS MOVIMIENTOS A EJECUTAR:

Segn los msculos escogidos y los movimientos que pueden realizar cada uno se seleccionaron tres movimientos que involucran dichos msculos:

Flexin extensin de bceps

(a) Reposo

(b) Flexin

Figura 55 - Flexin y extensin de Bceps Braquial

Flexin de la mueca

(a) Reposo

(b) Flexin Figura 56 - Flexin de Mueca

78

Extensin de la mueca

(a) Reposo

(b) Flexin

Figura 57 - Extensin de mueca

4.3. FASE III: CONSTRUCCION DE APLICACIN BAJO ENTORNO DE REALIDAD VIRTUAL:

En esta fase del proyecto se emple el programa V-Realm Builder, el mismo es un programa que contiene Matlab en su versin r2012b. Es una herramienta que permite recrear animaciones en 3D mediante la implementacin de figuras geomtricas como esferas, conos, cilindros, rectngulos, entre otros, los cuales se muestran en el zoom del toolbox en la figura 58. Combinando apropiadamente las figuras podemos construir muchos tipos de extremidades del cuerpo humano la cual es nuestra finalidad. Para fines de nuestra aplicacin utilizamos principalmente esferas y cilindros, combinndolos para formar el brazo, al cual realmente se le colocaran los electrodos en los msculos seleccionados para tomar las mediciones.

Figura 58 - Toolbox del Vrealm Builder con zoom en las figuras geomtricas.

79

Para construir la aplicacin se recrearon partes del cuerpo humano como el torso, el cuello, la cabeza y el brazo compuesto por el hombro, el codo, el antebrazo y la mano, posterior a la construccin en cada figura correspondiente se hizo una variacin de la caracterstica y el eje necesario para que realice el movimiento lo ms parecido posible al ejecutado por el sujeto de prueba.

V-Realm Builder nos permite trasladar, centrar, escalar, rotar, entre otras, cualquier figura, as como tambin variaciones en figuras asociadas a otras.

Al iniciar el V-Realm Builder el primer paso es crear la figura principal, en este caso el torso del cuerpo. Cada figura que desee ser modificada ya sea en rotacin, traslacin o cualquiera de sus parmetros, debe ser creada como una figura Transformer para que posea dichas caractersticas. Luego en la ltima pestaa de cada transformer podr insertarse una figura que ser el Children o figura enlazada al transformer anterior, podemos decir que existe un nivel de jerarqua desde las primeras figuras hasta las ltimas agregadas.

El modelo virtual fue construido por partes, las cuales contemplan cada figura geomtrica que fue agregada, as como tambin las medidas de las principales figuras que constituyen la extremidad diseada:

Parte I: En esta primera parte comenzamos a construir el cuerpo para una mayor similitud a la realidad (box), agregndole un cilindro que hace la funcin del cuello (Cilinder) y sobre l una esfera que sera la cabeza (sphere), estas figuras son simplemente para animacin o similitud a la realidad, no tendrn ningn tipo de variacin en sus parmetros para fines prcticos y se pueden observar en la siguiente figura.

Figura 59 Montaje del torso.

80

Parte II: En la segunda parte colocamos una esfera enlazada al torso, cuando usamos el trmino enlazar nos referimos a que cualquier variacin ejecutada sobre el torso tambin afectara a la figura colocada, en este caso el hombro de 0.4 cm. En el V-Realm Builder podemos observarla en la ltima pestaa de cada figura con la palabra Children como se indic anteriormente, el hombro se puede observar en la Figura 60.

Figura 60 Montaje del hombro.

Parte III: Posterior al hombro se coloc como Children el brazo, el cual ser un cilindro de 1.6 cm de altura y 0.34 cm de radio. Hasta ahora estas figuras no se rigen por jerarqua sobre otra figura a pesar de poseerla, pues la variacin de ellas no representan un movimiento de inters.

Figura 61 Montaje del brazo

81

Parte IV: En esta cuarta parte entra en juego la primera figura con jerarqua aplicada sobre otras, el codo se recreara mediante una esfera mas pequea que el hombro de radio 0.34cm, en esta figura se realizaran variaciones en uno de los ejes para recrear el movimiento ejecutado.

Figura 62 Montaje del codo.

Parte V:

En esta parte colocaremos un cilindro que simula el antebrazo y que estar ligado al

codo, sus dimensionen sern 1.2 cm de altura y 0.31 cm de radio y por cada variante de cualquier caracterstica del codo, este se ver afectado por ella.

Figura 63 Montaje del antebrazo

Parte VI: En la penltima parte colocamos dos esferas ligadas al cilindro que harn la funcin de la mano, colocamos dos esferas para que cada una recree un movimiento de la mueca distinto,

82

una esfera para la flexin de la mueca y otra para la extensin de la mueca, llamndolos Mano y Mano2. Cada esfera es de radio 0.33 y 0.43 cm respectivamente.

Figura 64 Montaje de la mano.

Parte VII: Finalmente colocamos una combinacin de tres cilindros simulando una Pesa para que se observe el movimiento de la mueca, puesto que es mas simple que realizar una mano, la cual estara compuesta por tres esferas y tres cilindros cada dedo, esto por cuatro ms el pulgar compuesto por dos esferas y dos cilindros. Esta es la forma ms sencilla y prctica para observar los movimientos ejecutados por la mueca.

Figura 65 Montaje final.

83

Una vez construido el sujeto de pruebas virtuales, es necesario determinar cules son las caractersticas que nos convienen variar para que haga el movimiento lo ms apegado a la realidad posible, el movimiento de flexin del bceps braquial ser manejado por una variacin en el eje Z del codo representado por una esfera, en la Figura 66 se observa la ventana que se genera al abrir la pestaa de rotacin del codo y como seleccionar el eje Z y variarlo para obtener la flexin hacia arriba que se desea ejecutar en el entorno RV-Builder.

Figura 66 Rotacin del Eje Z en el codo.

Asimismo para la flexin de la mueca es necesario variar el eje X y el eje Z seleccionndolos en la ventana de rotacin de la Mano ya que en el movimiento de flexin la mueca tiende a girar hacia el cuerpo, al variar conjuntamente estos dos ejes se recrea notoriamente dicha flexin.

Figura 67 Rotacin del Eje X y Z en la mano

84

El tercer movimiento se obtiene al hacer una variacin en el eje Z de la rotacin de la Mano2 ya que debemos lograr que suba la pesa para simbolizar la extensin de la mueca, si visualizamos la postura original de la Pesa, se observa que roto sobre el eje seleccionado.

Figura 68 Rotacin del Eje Z en la mano.

4.4. FASE IV: CONSTRUCCION DE MODELO EN SIMULINK MATLAB

En esta fase se procede a la construccin de un modelo en simulink que permita, por medio de bloques de control y otros, manipular el movimiento ejecutado sobre el programa en el entorno de realidad virtual. Es importante recalcar que, sin tomar en cuenta que los movimientos a ejecutar son distintos, los modelos para cada caso son similares, en este sentido, se elaborara un solo modelo base y se harn los comentarios correspondientes a cada caso en la seccin de discusin de resultados

4.4.1.

MODELO EN SIMULINK.

Una vez finalizada la construccin del entorno de realidad virtual se procede a iniciar el montaje de los modelos de ejecucin de movimientos en la herramienta simulink, en ella podemos canalizar las entradas necesarias para que activen los movimiento en la aplicacin del entorno de realidad virtual. Para ello es necesario utilizar bloques de simulaciones en 3D ubicados la librera de simulink como se muestra en la siguiente figura.

85

Figura 69 Ubicacin del Bloque de animaciones 3D en Simulink.

Se puede observar que al seleccionar la librera Simulink 3D Animation aparece el bloque VR sink que es el bloque necesario para sincronizar el modelo en simulink con el entorno de realidad virtual. Una vez agregado se puede introducir en el mismo el modelo construido en V-Realm Builder. Al cargarlo el mismo mostrar una ventana en donde se debe indicar que condiciones o parmetros se desean variar en el mismo como se muestra en la Figura 70.

86

Figura 70 Ventana para cargar el modelo de RV al VR sink.

Una vez seleccionados los parmetros que se desean variar al recibir las entradas, el bloque de VR sink tendr tantas entradas como pestaas hayan sido seleccionadas, en este caso se tendr una entrada al bloque, la misma ser la lectura tomada del brazo una vez haya recorrido las fases del proyecto y finalmente llegue al bloque VR sink.

a) Montaje para prueba de comunicacin con VRealm

b) Movimiento ejecutado en Vrealm

Figura 71 Primer montaje en simulink.

87

El primer montaje es necesario para corroborar que la aplicacin creada en V-realm Builder se comporte de la forma esperada, simplemente colocando una entrada analgica podemos observar el movimiento del brazo por el tiempo de simulacin establecido. Cabe destacar que esta entrada no es ni remotamente parecida a la seal mioelectrica que se percibe en la extremidad pero sirve como referencia para posteriormente montar el modelo final.

Figura 72 Montaje final en simulink

En la Figura 72 se observan todos los bloques que fueron empleados para el acondicionamiento virtual de la seal de entrada. Inicialmente se colocan los bloques que pertenecen a la librera arduino IO para asociar la tarjeta de adquisicin de datos Arduino al modelo simulink, una serie de bloques para suavizar y muestrear la seal y finalmente se indica que parmetro se variar segn las constantes 0 y 1 establecidas en la zona superior del modelo. Para ms detalle se explica la funcin que cumple cada uno de los bloques a continuacin:

4.4.2.

BLOQUES EMPLEADOS EN EL MODELO SIMULINK:

Arduino IO Setup:

En este bloque se debe asignar el puerto usb al que se conectar la tarjeta de adquisicin de datos Arduino Uno, revisando en el panel de control se puede ubicar el puerto en el que est conectada la tarjeta, cabe destacar que cada vez que se conecte la tarjeta debe colocarse en el puerto que corresponda para que al arrancar el proceso no arroje error dicho bloque. Si se cambia de puerto conexin debe cambiarse tambin en la ventana de configuracin del bloque de Arduino IO setup como se muestra en la Figura 73.

88

Figura 73 Configuracin del Arduino IO Setup

Arduino Real-time Pacer:

En este bloque se ajusta la relacin entre el tiempo de simulacin y el tiempo real, para este caso se quiere que la respuesta del movimiento del brazo sea inmediata en la realidad virtual, es decir en tiempo real, para ello se toma una relacin en 1 como se observa en la figura76.

Figura 74 Configuracin del Arduino Real-time Pacer

89

Arduino Analog Read:

El bloque de lectura analgica permite asignar en que pin de entrada analgica de la tarjeta est conectada la salida del circuito, similar al bloque de configuracin de los puertos (COM).

Figura 75 Configuracin del Arduino IO analog read.

Gain:

La primera ganancia colocada en el modelo representa la conversin de voltaje entre la etapa de acondicionamiento y la tarjeta. La placa Arduino Uno posee 6 canales (8 canales en el Mini y Nano y 16 en el Mega) conectados a un conversor analgico digital de 10 bits. Esto significa que convertir tensiones entre 0 y 5 voltios a un nmero entero entre 0 y 1023. Esto proporciona una resolucin en la lectura de: 5 voltios / 1024 unidades, es decir, 0.0049 voltios (4.9 mV) por unidad segn la informacin suministrada por la web de la marca Arduino en (http://arduino.cc). Cuando se establece dicha relacin en 3/1024, como se muestra en la Figura 76, se traduce el valor de voltaje mximo que puede generar la seal despus de pasar por la fase de acondicionamiento al mximo valor entero que lee la tarjeta, de forma tal que las respuestas del modelo sean lo ms parecidas posibles con respecto a la realidad.

90

Figura 76 Configuracin del bloque de Ganancia global del circuito.

Discrete Shift Register:

Este bloque forma parte de la seccin del modelo que permiti controlar y estabilizar la seal. Puesto que la seal es muy inestable, variante en amplitud, frecuencia y fase, fue necesario colocar este bloque para hacer un muestreo de la misma. Con la ayuda de este bloque se asignaron 50 muestras como se observa en la Figura 77, de esta manera se puede obtener una lectura suavizada de la seal y trabajar sobre las muestras tomadas.

Figura 77 - Configuracin de parmetros del Discrete Shift Register

91

Luego de este procedimiento es necesaria la obtencin de una seal nica, ya que el bloque Discrete Shift Register muestra a la salida tantas seales como muestras hayan sido ingresadas, debido a esto se coloc un bloque de sumatoria que se encarga de combinar las seales para luego obtener un promedio de las muestras obtenidas utilizando un bloque de divisin cuyas entradas sern la salida del bloque de sumatoria y una constante que depender de la cantidad de muestras que se tomaron en el bloque Discrete Shift Register.

Gain2:

La segunda ganancia en el modelo representa la rapidez de la respuesta del movimiento pues a menor ganancia el movimiento es ms lento y mientras mayor sea la ganancia ms rpida ser la respuesta. La ganancia fue establecida en un nivel en el que la rapidez se coordina lo suficiente con el movimiento real de la extremidad. En la Figura 78 se muestra la ganancia utilizada para el modelo del movimiento del bceps braquial.

Figura 78 Configuracin del bloque de ganancia de rapidez de respuesta

Saturation:

Este bloque permiti saturar o limitar el grado de libertad del movimiento, pues sin este el brazo podra rotar 360 cuando realmente solo sube 165 aproximadamente considerando que en reposo son 0 grados para el caso de la flexin del bceps braquial. Este bloque es necesario debido a que la ltima

92

ganancia sensibiliza la respuesta del modelo y la realidad virtual y es necesario establecer un lmite en la ejecucin del movimiento para fines de comparacin con el movimiento real.

Figura 79 Configuracin del bloque de Saturacin Scope:

La ventana del scope permite visualizar el comportamiento de la seal tanto en amplitud como en tiempo. Al realizar los movimientos se puede asociar la amplitud que alcanza la seal con la posicin en la que se encuentra la extremidad y poder analizar con ms detenimiento el comportamiento del movimiento.

Figura 80 Ventana del Scope

93

VR sink:

Como se explic anteriormente, este bloque es quien sincroniza la seal analgica con la aplicacin en realidad virtual. Primero se le asocia el modelo creado en Vrealm Builder para luego, una vez cargada la aplicacin, se configura la entrada o parmetro a manipular y finalmente, segn la variacin de la seal de entrada, se ejecuta el movimiento en la ventana de visualizacin de la aplicacin en realidad virtual.

Figura 81 Animacin en 3D.

Finalmente queda construido el modelo en simulink que en pocas palabras consta de Bloques de configuracin arduino, una serie de bloques para muestrear la seal mioelctrica y estabilizarla para finalmente bajo bloques de constantes establecer la variacin del eje deseado con el fin de mostrar el movimiento deseado por medio del bloque VR sink utilizando la entrada analgica estabilizada y la seal de variacin del eje.

94

Figura 82 Modelo final de simulink con el programa de entorno en realidad virtual.

95

4.4.3.

CONSTRUCCIN DEL MEN DE SELECCIN DE MOVIMIENTOS ya construidos, es necesario habilitar una interfaz que permita

Con los modelos en simulink

seleccionar el modelo que se desea ejecutar, es decir, compilar los tres modelos en un men de seleccin que permita escoger cual movimiento se va a ejecutar. Para tal funcin se implement otra herramienta de matlab conocida como Guide, la cual habilita al colocar en el Command Window el comando Guide, denominado como Guide Quick Start; all se encuentran distintas herramientas como botones, textos, entre otros, los cuales pueden ser utilizados para la creacin de un men interactivo desde el cual se pueda acceder a los tres modelos previamente diseados evitando tener que cargarlos por separado lo cual puede tornarse un poco engorroso para fines de pruebas. Se parte de un modelo blanco para comenzar a crear sobre el mismo el men. En la Figura 83 se observa seleccin que lleva a la creacin de un nuevo modelo en blanco.

Figura 83 - Guide Quick Start + toolbox

En la Figura 83 tambin se puede apreciar la ventana que se despliega al seleccionar la opcin de modelo GUI en blanco, en la en la cual se encuentra del lado izquierdo el toolbox o barra de herramientas que posee el Guide Quick Start. En dicha barra se encuentran los diferentes tipos de botones, cuadros de texto fijos y editables, tablas, paneles, entre otros.

Esta aplicacin nos permite crear un men, practico, fcil de manejar y que permita al usuario seleccionar la opcin de movimiento que dese ejecutar, para ello se colocaron tres botones ubicados en la barra como Pushbotton y dos cuadros de texto editables para agregar el ttulo del men e informacin de ejecucin para el usuario.

96

Figura 84 - Men final. En el men final fueron editadas las herramientas agregadas, los tres botones fueron etiquetados con sus respectivos nombres, cambiados de color y tamao de fuente y en los cuadros de texto simplemente se edit el contenido del texto y se coloc un color para una mejor visualizacin.

La parte ms importante de este men construido es el llamado que se hace a los modelos en simulink en cada movimiento respectivamente. Al completar la creacin de nuestro modelo, se crean dos archivos, un archivo .m que es quien contiene el cdigo que matlab automticamente crea cuando se construye el men y otro archivo .fig que es la interfaz grfica que el usuario observa, es decir la Figura 84. En cada botn se encuentran las propiedades que se pueden editar del mismo, incluyendo un comando llamado callbacks, que son los mandos inmediatos que ejecutara el botn al ser presionado. Los callbacks se encuentran en el cdigo del archivo .m donde se debe hacer el llamado a los archivos de los tres modelos de simulink para cada botn en su callback correspondiente. Los archivos que contienen cada modelo fueron nombrados: MOVIMIENTOANTABAJO.slx, MOVIMIENTOANTARRIBA.slx y

MOVIMIENTOBICEP.slx, cuyas diferencias entre ellos radican en la configuracin de las ganancias internas del modelo debido a que cada movimiento posee un rango de voltajes distinto y la respuesta depende de ella. Cada archivo ejecuta un movimiento distinto segn la configuracin del modelo. El cdigo para la ejecucion de este procedimiento se encuentra en el anexo 1. De esta forma queda

construido el men para la seleccin de movimientos a ejecutar.

97

4.5. FASE V: CONFIGURACION DE LA TARJETA DE ADQUISICION DE DATOS ARDUINO

Para la configuracin de la tarjeta de adquisicin de datos arduino son necesarios tres pasos para la asociacin del computador con la tarjeta, despus de dichos pasos quedara comunicado el computador y Matlab con la tarjeta y se podr ejecutar el modelo en simulink. Los pasos son los siguientes:

Paso I: Consta de la instalacin de los drivers de la tarjeta arduino que se encuentran disponibles en la pgina http://www.arduino.cc/ , de igual manera es necesario descargar un software que permite probar la conexin de la tarjeta con el computador. En este paso solo se comprueba la comunicacin de la tarjeta con la computadora por medio de instalacin de drivers y software.

Figura 85 Software arduino.

Paso II: Luego instalado el software de la tarjeta, de la pgina mathworks, en la seccin de Matlab central file Exchange, se extrae un algoritmo que debe cargarse mediante el software Arduino para habilitar las entradas de la tarjeta. Este algoritmo sirve para trabajar tanto con entradas analgicas como digitales, para este proyecto se utiliza una entrada analgica. En tal sentido, el algoritmo cargado a la tarjeta servir no solo para reconocer entradas analgicas sino tambin para enviarlas

98

al computador por medio del puerto serie conectado a travs del puerto USB. Dicho algoritmo posee el nombre adiosrv cuyo contenido se muestra en el anexo 2

Figura 86 Carga de algoritmo al software arduino.

En la figura se puede observar que el algoritmo fue cargado, una vez conectada la tarjeta se verifica que lo haya cargado y ya estar listo para operar en el computador y posteriormente en Matlab.

Paso III: Para poder utilizar en matlab simulink la ayuda de la tarjeta, es necesario instalar la librera Arduino IO. Para ello la pgina http://www.mathworks.com/ proporciona ayuda con diversos tutoriales y archivos por medio de los cuales se puede hacer uso de la librera mencionada, la cual es necesaria para operar el modelo simulink por medio de la tarjeta. Fue ubicado un archivo de extensin .m que pondr a disposicin la librera Arduino IO en simulink, adems es necesario descargar un archivo llamado arduino.m que debe ser colocado en el directorio de trabajo de matlab ubicado en la parte lateral izquierda. El cdigo del archivo necesario para la instalacin de la librera se ilustra en el anexo 3.

99

Una vez cumplidos estos pasos, ya existe una comunicacin entre matlab y la tarjeta de adquisicin de datos arduino. Finalmente debe aparecer en la librera de simulink el apartado Arduino IO como se muestra en la Figura 89:

Figura 87 Librera Arduino IO.

En esta librera se dispone de distintos bloques para trabajar con modelos en simulink. Los bloques utilizados para el modelo base son tres, los cuales permitirn tanto lectura como sincronizacin con la computadora y relacin entre tiempo de simulacin y tiempo real. Los bloques empleados son:

100

CAPITULO V

ANALISIS DE RESULTADOS

5.1. PRUEBAS DE LA FASE DE ACONDICIONAMIENTO

Las pruebas realizadas en este apartado se dividieron en dos casos:

5.1.1. CASO 1: PRUEBAS CON GENERADOR DE SEALES

Para este caso se evalu el funcionamiento del circuito de acondicionamiento utilizando como entrada la seal proveniente de un generador de seales. En la figura se muestra la comparacin entre la seal de entrada al circuito y su salida al final del circuito despus de la zona de amplificacin final

(a) Seal de entrada

(b) Seal de salida


Figura 88 Comparacin de seales de entrada y salida del circuito

101

Para establecer una comparacin entre las seales medidas se elabor una tabla que registra los datos de ambas seales con el fin de evaluar el comportamiento del circuito:

Tabla 8 - Comparacin de seales de entrada y seal en el amplificador final Seal S ENT S SAL Frecuencia 112,9 Hz 111,1 Hz Vpp 34,0 mV 16,4 V Vmax 18,0 mV 8V Vmin (-)16,0 mV (-)8,40 V Vrms 8,68 mV 5,56 V

Como se desea saber en qu magnitud amplifica el voltaje de entrada el circuito, se calculara entonces la ganancia total del mismo recordando que la ganancia viene dada por la ecuacin:

Y tomando como valores de Vo

y Vi los voltajes Vrms de las seales S SAL y S ENT

respectivamente se tiene entonces que la ganancia total del circuito ser:

En tal sentido podemos decir que el circuito amplifica el voltaje de entrada 640 veces su valor.

Luego de este anlisis es necesario verificar el comportamiento del circuito en la etapa final, es decir, la etapa de rectificacin y conversin AC-DC, para ello se hicieron mediciones de la seal a la salida del rectificador, y recordando que para la conversin AC-DC simplemente se coloc un capacitor electroltico de 100 f a la salida conectado a tierra. Los resultados obtenidos se muestran en la Figura 89:

102

a) Seal de salida al rectificador

b) Seal de salida al rectificador con capacitor

Figura 89 - Seales a la salida de la etapa de rectificacin y conversin AC-DC del circuito

Segn las lecturas obtenidas la tabla 9 lista los valores de voltajes de cada seal
Tabla 9 - Valores de voltaje para la salida del rectificador Seal RECT C/C RECT S/C Vpp 1.2 V 8,60 V Vmax 8,00 V 8,00 V Vmin Vrms 6,80 V 7,43 V (-)600 mV 3,80 V

Segn los valores obtenidos de voltajes en el rectificador con capacitor (RECT C/C) y el rectificador sin capacitor (RECT S/C) se observa cmo se comporta el circuito cuando se coloca un capacitor a la salida del amplificador, cuyos voltajes mximo y mnimo oscilan entre los 6,80 y los 8 voltios generando un margen de diferencia de apenas 1,20 voltios, este comportamiento se explica en la siguiente grfica:

103

Figura 90 - Comportamiento del filtro con capacitor conectado a tierra en la salida Ntese que la diferencia entre ambos valores apenas es del 15% lo que garantiza un comportamiento lo suficientemente lineal como para actuar como una seal DC, aunque como la tarjeta de adquisicin de datos Arduino toma mediciones muy precisas, es de esperar que esas variaciones influyan en el comportamiento de la ejecucin del modelo final en simulink.

5.1.2. CASO 2: PRUEBAS CON EJECUCION DE MOVIMIENTOS: En este caso se hizo un muestreo de los resultados obtenidos para cada movimiento, realizando 10 pruebas para cada uno de manera que se pudiera observar el comportamiento de la seal en cada movimiento realizado. A continuacin se muestran los resultados obtenidos por cada movimiento as como una tabla comparativa de los valores obtenidos en cada una de las muestras:

Flexin del bceps braquial:

Figura 91 - Muestra 1 para flexin del biceps braquial

104

Figura 92 - Muestra 2 para flexin del biceps braquial

Figura 93 - Muestra 3 para flexin del biceps braquial

Figura 94 - Muestra 4 para flexin del biceps braquial

105

Figura 95 - Muestra 5 para flexin del biceps braquial

Figura 96 - Muestra 6 para flexin del biceps braquial

Figura 97 - Muestra 7 para flexin del biceps braquial

106

Figura 98 - Muestra 8 para flexin del biceps braquial

Figura 99 - Muestra 9 para flexin del biceps braquial

Figura 100 - Muestra 10 para flexin del biceps braquial

107

Tabla 10 - Muestreo de flexin del bceps braquial EXTENSION BICEPS BRAQUIAL Muestra Vrms mV 1 522 2 984 3 1000 4 875 5 790 6 616 7 779 8 811 9 712 10 616 En este muestreo se verifica que el comportamiento de la seal en terminos de voltaje rms vara entre los 522 mV y 1 V

Extensin de la mueca:

Figura 101 - Muestra 1 para extensin de la mueca

108

Figura 102 - Muestra 2 para extensin de la mueca

Figura 103 - Muestra 3 para extensin de la mueca

Figura 104 - Muestra 4 para extensin de la mueca

109

Figura 105 - Muestra 5 para extensin de la mueca

Figura 106 - Muestra 6 para extensin de la mueca

Figura 107 - Muestra 7 para extensin de la mueca

110

Figura 108 - Muestra 8 para extensin de la mueca

Figura 109 - Muestra 9 para extensin de la mueca

Figura 110 - Muestra 10 para extensin de la mueca

111

Tabla 11 - Muestreo de extensin de la mueca EXTENSION MUECA Muestra Vrms mV 1 117 2 99,7 3 119 4 71 5 125 6 78,9 7 94,1 8 215 9 122 10 138 En este muestreo la variacion de voltaje rms esta comprendida entre los 71 mV y los 215 mV.

Flexin de la mueca

Figura 111 - Muestra 1 para flexin de la mueca

Figura 112 - Muestra 2 para flexin de la mueca

112

Figura 113 - Muestra 3 para flexin de la mueca

Figura 114 - Muestra 4 para flexin de la mueca

Figura 115 - Muestra 5 para flexin de la mueca

Figura 116 - Muestra 6 para flexin de la mueca

Figura 117 - Muestra 7 para flexin de la mueca

Figura 118 - Muestra 8 para flexin de la mueca

113

Figura 119 - Muestra 9 para flexin de la mueca

Figura 120 - Muestra 10 para flexin de la mueca

Tabla 12 - Muestreo de flexin de la mueca FLEXION MUECA Muestra Vrms mV 1 334 2 354 3 556 4 458 5 441 6 437 7 411 8 345 9 501 10 428

En este muestreo se verifica el rango de trabajo en terminos de voltaje rms para el movimiento de flexion de la mueca, el cual oscila entre los 334 mV y los 556 mV. La Tabla 13 muestra los movimientos con sus respectivos rangos de voltaje:

Tabla 13 - Rangos de voltaje rms por movimiento Movimiento Extensin Mueca Flexin Mueca Flexin Bceps Braquial Rango de voltaje rms 71 mV - 215 mV 334 mV - 556 mV 522 mV - 1000 mV

114

Al visualizar la tabla es evidente que los rangos de voltaje para cada movimiento dependeran de el movimiento ejecutado y que cada movimiento produce un potencial distinto, verificando que la intensidad para un movimiento de extensin de mueca solo producira un potencial maximo de aproximadamente 215 mV, mientras que para un movimiento de flexion de mueca dicho potencial tendra un maximo de aproximadamente 556 mV y finalmene un movimiento de flexion del biceps tendra un valor maximo de potencial de aproximadamete 1 V.

Estos resultados verifican que el potencial de accion producido en cada musculo variar dependiendo las caracteristicas del mismo, en consecuencia, al ser el biceps braquial el musculo de mayor tamao dentro los musculos escogidos para este estudio, posee un rango de voltajes o potencial de accion mayor a traves de la flexin del brazo en comparacion a los movimientos que involucran los demas msculos.

5.2. PRUEBAS FINALES DE LOS MOVIMIENTOS EN EL MODELO SIMULINK.

Las pruebas finales del proyecto, siguiendo la secuencia mostrada en la figura 40, consisten en colocar los electrodos en los puntos seleccionados, conectarlos al circuito y la salida del mismo conectada a las entradas analgicas de la tarjeta Arruino en el pin 3, que a su vez est conectado al computador por el puerto serial COM 3 mediante un puerto USB. Se realizaron los tres movimientos, muestreando en cada uno la animacin en 3D controlada mediante tres modelos distintos en simulink y la grfica que contiene el nivel de voltaje al que est asociada la posicin de la extremidad que se est ejecutando por medio del scope de cada modelo.

El modelo base utilizado para cada movimiento es el mismo (Figura 121), con variaciones en ganancias y saturacin para cada caso como se muestra en la Tabla 13.

115

Figura 121 - Modelo base para los movimientos en Simulink Matlab

Tabla 14 Parmetros de la seccin de acondicionamiento de la seal en modelo simulink Discret Shift Register 50 50 50 Sum of Elements 50 50 50 Saturation LV UV 0,3 0,4 0,35 3 1,7 1,6

Movimiento Flexin del bceps braquial Flexin de la mueca Extensin de la mueca

Gain 1 3/1024 3/1024 3/1024

k 50 50 50

Gain 2 23 15 15

En cada movimiento fue extrado un total de 5 muestras de posicin ms 1 muestra de la grfica del movimiento completo. Prueba a prueba puede verse que la amplitud del voltaje va incrementando a medida que el movimiento procede su ejecucin. Los resultados obtenidos se expresan a continuacin:

Pruebas del movimiento flexin del bceps braquial:

Figura 122 Muestra 1 Bceps braquial en reposo.

Al inicio, se observ que el brazo virtual no se mueve puesto que el real se encuentra en reposo, pero se puede observar que el voltaje recibido en reposo oscila entre los 0.35 V y los 0.6 V en la grfica

116

de la Figura 122, para un tiempo de 5.2 segundos se tiene una lectura de voltaje de 0.6 V. con 0 grados de inclinacin

Figura 123 Muestra 2 Movimiento Flexin Bceps braquial en 45 grados aprox.

Al comenzar a flexionar el bceps la seal comienza a aumentar su amplitud, partiendo de los 0.6 V aproximadamente que hay en reposo, considerando que se flexion unos 45 grados llega a los 1.15 V para un tiempo de 12.25 segundos.

Figura 124 Muestra 3 Movimiento Flexin Bceps braquial en 90 grados aprox.

Formando un ngulo de 90 grados entre el brazo y el antebrazo y con vrtice en el codo se observa un aumento sbito de voltaje, ubicndose a 1.93 V en un tiempo transcurrido de 14.6 segundos.

117

Figura 125 Muestra 4 Movimiento Flexin Bceps braquial en 125 grados aprox.

Pasados los 90 grados el voltaje sube rpidamente, en un tiempo de 15.2 segundos, a solo en 0.6 segundos de la medicin anterior, el voltaje sube de 1.9 V a 2.4 V, es decir a casi 0.1 V por cada 0.1 segundos de ejecucin de programa, lo cual refiere una respuesta muy precisa al movimiento real.

Figura 126 - Muestra 5 Movimiento Flexin Bceps braquial en 165 grados aprox.

En la posicin final del movimiento es en donde existe el mayor potencial emitido por el musculo involucrado sin contraccin muscular. Si se contrae el musculo, el potencial aumenta sbitamente superando el nivel de saturacin establecido para el modelo en simulink como se muestra en la Figura 126.

118

Figura 127 Movimiento Flexin Bceps braquial con grafica completa.

Se observa que la grfica de la Figura 127 decrece hasta acercarse al valor mnimo, mas no al valor en reposo puesto que el musculo emite un mayor potencial porque fue contrado al realizar el movimiento de flexin, al mantenerlo un tiempo en reposo, el voltaje se estabiliza hasta llegar al voltaje en reposo. Adems se observa como el bloque de saturacin cumple con la funcin necesaria para que la posicin del brazo no supere los 165 grados aproximados que se estimaron para el movimiento. La tabla 15 resume la relacin voltaje ngulo por cada muestra tomada del movimiento

Tabla 15 - Resultados de muestras en Flexin de Bceps Braquial FLEXION DEL BICEPS BRAQUIAL PARAMETRO Voltaje (V) Grados Muestra 1 Muestra 2 Muestra 3 Muestra 4 Muestra 5 0,3 0 1,15 45 1,93 90 2,4 125 3 165

Pruebas de Movimiento Flexin de la mueca:

En esta prueba se estableci un rango de movilidad que vara entre 0 grados en reposo y 90 grados como posicin final del movimiento. Se establece un nivel de saturacin inferior de 0.4 V y un nivel superior de 1.8 V.

119

Figura 128 Muestra 1 Mueca en reposo.

Para la mueca, el voltaje en reposo tiende a ser el mismo que el del movimiento anterior, ya en general los msculos en reposo promedian ese rango de voltaje. En la Figura 128 se observa que el voltaje en reposo oscila entre 0.4 V y 0.6 V.

Figura 129 Muestra 2 Movimiento Flexin de la mueca a 20 grados aprox.

En la Figura 1291 se observa que aproximadamente a 20 grados de rotacin con respecto al reposo el potencial recibido alcanza los 0.76 V para un tiempo de 7.7 segundos de ejecucin de programa.

120

Figura 130 Muestra 3 Movimiento Flexin de la mueca a 45 grados aprox.

El movimiento reflejado en la Figura 130, muestra como el voltaje se incrementa ms lentamente que en el movimiento anterior, puesto que solo sube 0.14 V al llegar a 9 segundos para 45 grados de inclinacin aproximadamente resultando 0.9 V. La respuesta del modelo es ms lenta al iniciar el movimiento, pero al comprimir el musculo comienza a elevarse rpidamente el voltaje, como se observa en la Figura 128.

Figura 131 Muestra 4 Movimiento Flexin de la mueca a 65 grados aprox.

121

En este movimiento se puede ver como el voltaje sube de manera abrupta en un intervalo de tiempo de 9 a 9,9 segundos llegando a 1.6 V segn la grfica de la Figura 131. A su vez la mueca gira aproximadamente 65 grados con respecto al reposo.

Figura 135 Muestra 5 Movimiento Flexin de la mueca a 90 grados aprox.

Al llegar a 90 grados aproximadamente la flexin de la mueca, el voltaje medido a los 10 segundos es de 1.7 V.

Figura 136 Movimiento Flexin de la mueca con grafica completa.

En la grfica de la Figura 136 se observa que el voltaje alcanza el valor mnimo o de reposo ms rpidamente que en la prueba anterior debido a que el voltaje se estabiliza casi de manera inmediata lo que refiere que el musculo involucrado no queda contrado al finalizar el movimiento como es el caso de la flexin del bceps braquial.

La tabla 16 resume los resultados obtenidos con sus respectivos ngulos de inclinacin y voltaje. 122

Tabla 16 - Resultados de muestras en Flexin de la mueca FLEXION DE LA MUECA PARAMETRO Voltaje (V) Grados Muestra 1 Muestra 2 Muestra 3 Muestra 4 Muestra 5 0,4 0 0,76 20 0,9 45 1,6 65 1,7 90

Pruebas de movimiento de extensin de la mueca:

Los valores de inclinacin para este movimiento oscilan entre los 0 y los 75 grados dependiendo de la magnitud del voltaje.

Figura 137 Muestra 1 Mueca en reposo. En este punto la mueca se encuentra a 0 grados de inclinacin con un rango de voltaje comprendido entre 0.35 V y 0.38 V, se observa cmo el bloque de saturacin corta la seal de entrada por su lmite inferior establecido en V.

123

Figura 138 Muestra 2 Movimiento Extensin de la mueca a 20 grados.

En la figura 138 se aprecia cmo la respuesta al movimiento es inmediata. Apenas a los 20 grados de posicin, ya el voltaje a los 2.6 segundos alcanza los 0.7 V, en la etapa de reposo este movimiento posee menos amplitud pero a la hora de ejecutar el movimiento responde de manera ms rpida.

Figura 139 Muestra 3 Movimiento Extensin de la mueca a 45 grados.

Ya con una inclinacin en 45 grados el voltaje alcanzado llega a 1 V.

124

Figura 140 Muestra 4 Movimiento Extensin de la mueca a 65 grados.

El voltaje medido para 65 grados de inclinacin es de aproximadamente 1.3 V segn la figura 140

Figura 141 Muestra 5 Movimiento Extensin de la mueca a 75 grados.

En la grfica de la figura 141 se observ como el voltaje alcanza el mximo y llega a la regin de saturacin a solo 5 segundos transcurridos, con un voltaje de 1.6 v para 75 grados de inclinacin.

125

Figura 142 - Movimiento Extensin de la mueca con grafica completa.

Dado que este es uno de los movimientos ms efectivos, ya sea por las caractersticas del musculo, la ubicacin de los electrodos o el modelo en simulink, se observ que para un tiempo de simulacin de 30 segundos, este movimiento puede ejecutarse hasta 4 veces. Es evidente que la respuesta a este movimiento es ms rpida que las anteriores.

Al igual que en los casos anteriores, la tabla 17 lista los resultados obtenidos en funcin de ngulo de inclinacin y voltaje.
Tabla 17 - Resultados de muestras en extensin de la mueca EXTENSION DE LA MUECA PARAMETRO Voltaje (V) Grados Muestra 1 Muestra 2 Muestra 3 Muestra 4 Muestra 5 0,35 0 0,7 20 1 45 1,3 65 1,6 75

Las pruebas dejan claro como el potencial depende de varios factores como la ubicacin del electrodo, tamao del musculo estudiado y configuracin de modelos en simulink. Es importante recalcar que aun cuando los voltajes ledos en el osciloscopio apenas sobrepasan 1 V de salida, el modelo en simulink se encarga de manipular la seal de forma que la tarjeta Arduino traduzca ese voltaje en uno mayor con el fin de mejorar la respuesta del modelo al movimiento real. Las siguientes tablas resumen los resultados obtenidos para cada movimiento en las pruebas ejecutadas:

126

En las tablas se observa que los voltajes mnimos y mximos corresponden a los asignados en los bloques de saturacin sealados en la Tabla 14, as como la dependencia del voltaje en la variacin de la inclinacin en grados del movimiento ejecutado.

Segn los resultados obtenidos para cada movimiento, reflejados en las tablas 15, 16 y 17 se elaboraron las grficas correspondientes a cada una:

Flexin del Bceps Braquial


180 160 140 120 100 80 60 40 20 0 0 0.5 1 1.5 Voltaje 2 2.5 3 3.5 V vs FI Linear (V vs FI)

y = 61.198x - 22.464

R = 0.9957

Grados

Figura 143 Grafica V vs FI (grados) para la flexin del bceps braquial

127

Flexin de la Mueca
100 90 80 70 60 Grados V vs FI 50 40 30 20 10 0 0 0.5 1 Voltaje 1.5 2 Linear (V vs FI)

y = 61.405x - 21.827 R = 0.9309

Figura 144 Grafica V vs FI (grados) para la flexin de la mueca

Extensin de la Mueca
90 80 70 60 Grados 50 40 30 20 10 0 0 0.5 1 Voltaje 1.5 2 V vs FI Linear (V vs FI)

y = 62.942x - 21.312 R = 0.9848

Figura 145 Grafica V vs FI (grados) para la extensin de la mueca 128

Las grficas anteriores permiten establecer ciertos anlisis con respecto a cada uno de los movimientos en relacin a la linealidad que existe entre los voltajes ledos y los ngulos de inclinacin, tomando en cuenta que la inclinacin para cada movimiento es aproximada segn las visualizadas en las pruebas finales del programa de realidad virtual:

El valor de R2 representa la relacin que existe entre ambas variables (voltaje y ngulo de inclinacin) comprendido entre 0 y 1 siendo 0 la relacin mnima y 1 la relacin mxima, lo que refiere que para el movimiento de bceps braquial el comportamiento de ambas seales es ms lineal que para los casos restantes, con un valor de 0,9957, mientras que para la flexin de la mueca el comportamiento es el menos lineal de los tres movimientos, con un R2 de 0,9309, aunque todos los valores son lo suficientemente cercanos a 1 como para acotar que todos tienen un comportamiento relativamente lineal.

Las ecuaciones de las rectas de tendencia lineal para cada movimiento guardan una relacin cercana en cuanto a la pendiente y al corte con el eje de grados, lo que permite referir que el sistema se comporta casi igual para cada movimiento ejecutado.

5.3. PRESUPUESTO DE INSTRUMENTOS UTILIZADOS PARA EL PROYECTO

Tabla 18 Presupuesto de Instrumentos Utilizados para el proyecto Artculo Resistores Capacitores Potencimetros Amplificador LM741 Diodos Tarjeta Arduino Electrodos Superficiales Cable de Datos Cable para Protoboard Cantidad 23 7 2 8 2 1 4 1 1 P/U Bs. 2 1,23 1,5 15 1,5 189 8 65 18 Total Total 46 8,61 3 120 3 189 32 65 18 484,61 Bs.

129

El precio de la Tarjeta de adquisicin de datos Arduino es de 30$ y el mostrado en la tabla fue calculado con el valor del cambio oficial (6.30 Bs.), el resto de los materiales puede ser conseguido en cualquier punto de venta de artculos electrnicos.

130

CONCLUSIONES

Luego de finalizadas y evaluadas las fases del proyecto en el laboratorio con el sujeto de pruebas, se concluye en los siguientes aspectos puntuales referidos a los objetivos especficos planteados:

Las seales mioelctricas obtenidas se ubican en un rango entre 0 mV y 6 mV segn las lecturas de voltaje obtenidas en las pruebas realizadas donde la ganancia total del circuito era de 640,55 y los valores de voltaje medidos a la salida del circuito, que oscilaban entre los 40 mV y los 1000 mV o 1 V, solamente en los msculos pertenecientes a la extremidad superior del cuerpo.

La ubicacin de los electrodos es fundamental para obtener una lectura clara de la seal, puesto que durante las pruebas iniciales fue difcil la ubicacin exacta de los puntos de medicin para visualizar las seales. Adems, la intensidad de la seal est ligada a la contraccin muscular y al tipo de movimiento, ya que a mayor fuerza aplicada la seal crece sbitamente

La inestabilidad de la seal se debe a los aspectos mencionados con anterioridad variando sus parmetros constantemente, lo que dificult la discretizacin de cada tipo de movimiento en relacin a su amplitud y frecuencia.

El ruido presente en la toma de muestras se asocia a los equipos electrnicos que se utilizaron, asi como las lmparas fluorescentes, afectando la nitidez de la seal agregndole frecuencias indeseadas. Los filtros utilizados cumplieron las funciones previstas para suprimir dichas frecuencias en su mayora.

El entorno V-Realm Builder es un sistema prctico y de fcil manejo que permiti recrear la extremidad implicada. La respuesta de la aplicacin en el entorno de realidad virtual cumpli con las expectativas, ya que al realizar las pruebas la impresin grafica de los movimientos fue satisfactoria

Los modelos construidos en Simulink permiten el acondicionamiento de la seal previo a la integracin de la misma con la aplicacin en el entorno de realidad virtual, lo que permiti suavizar el movimiento para una mejor visualizacin del mismo.

131

La tarjeta Arduino permiti vincular la seal amplificada con el computador, siendo un sistema de adquisicin de datos eficiente para las exigencias requeridas a diferencia de otros sistemas que implican configuraciones ms complejas. Con la simple instalacin de drivers y libreras fue posible lograr dicho vnculo.

Segn estos criterios queda demostrado que las seales mioelctricas, aun siendo tan inestables, pueden ser acondicionadas para su lectura y utilizacin en sistemas de adquisicin de datos para la ejecucin de cualquier tipo de instruccin, especialmente en la biomedicina. La construccin de la fase de acondicionamiento de las seales es relativamente accesible y econmica obteniendo lecturas claras en cuanto a filtrado y amplificacin de las mismas.

Se concluye que los objetivos planteados fueron alcanzados satisfactoriamente obteniendo resultados acordes a los esperados en cada una de las fases quedando demostrado que es posible la construccin de un sistema que acondicione seales mioelctricas permitiendo emplearlas en sistemas de entrenamiento para prtesis evidenciando que es posible la interaccin de la medicina con la ingeniera elctrica para fines mdicos.

132

RECOMENDACIONES

Tomando en cuenta las limitaciones y dificultades que se presentaron durante el desarrollo del proyecto se listan un conjunto de recomendaciones que sirvan de apoyo para trabajos de investigacin futuros asociados al mismo:

Al momento de iniciar las pruebas para la ubicacin de los puntos se recomienda asesoramiento medico

En vista de la cantidad de pruebas necesarias para la obtencin de estas seales, se recomienda utilizar electrodos especiales no reciclables que se adhieran fcilmente a la piel.

Se recomienda utilizar resistores de precisin para las etapas de la fase 1 del proyecto ya que existen ms probabilidades de obtener una mejor respuesta a la salida del circuito.

Se recomienda la construccin en V-Realm Builder de la mano real para una mejor visualizacin del movimiento.

Se recomienda la construccin de un sistema que permita la unificacin de los movimientos a ejecutar, evitando tener modelos separados para cada uno. Esto es, obtener salidas distintas para cada movimiento en vez de una sola, evitando el intercambio de conexin de los electrodos por cada uno.

Se recomienda la construccin de una prtesis real que pueda ser controlada mediante este sistema de entrenamiento mediante seales mioelctricas.

133

REFERENCIAS BIBLIOGRAFICAS

1.- Ferrer, Rangel. (2012) - Diseo de una interfaz para prtesis actuada por seales mioelctricas en las extremidades superiores del ser humano. Universidad del Zulia, Venezuela Zulia.

2.- Corona, Medero, Snchez (2007) Diseo de un sistema detector de seales mioelctricas. UNAM, Mxico, D.F. CP 04510

3.-

Alonso, Snchez, Hurtado, Steinz, Liptak (2002) Entrenador mioelctrico de prtesis para

amputados de brazo y mano. Universidad de Valladolid, Espaa

4. Babli (2012) - Prosthetic Arm Control using Microcontroller. Universidad Thapar, Patiala, India.

5.- Lpez, Toranzos, Lombardero (2011) Sistema de Adquisicin y visualizacin de seales mioelctricas. UNNE FACENA, Departamento de Ingeniera, Argentina

6.- Ramiro, Vergara. Vzquez, Hernndez, Jurez (2011) Deteccin y acondicionamiento de seales mioelctricas. Instituto Tecnolgico de Zacapoaxtla, Zacapoaxtla, Puebla.

7.- Sarfraz Ahmed (2008). Electromyography Application for the ergonomic study of different rubber tapping tools and their contribution to the development of cumulative traumatic disorders in Malaysia. Disponible Online : http://www.oocities.org/xmsabiz/. Consultado Febrero 2013.

8.- Romo, Realpe, Jojoa (2007) Anlisis de Seales EMG superficiales y su aplicacin en control de prtesis de mano. Universidad de Cauca

9. - Hudgins, Parker, Scott (1993). New Strategy for Multifunction Myoelectric Control, IEEE Trans Biomed Eng. Vol. 40, pp. 82 94.

10.- Englehart, Hudgins,Parker (2001). A Wavelet Based Continuous Classification Scheme for Multifunction Myoelectric Control. Department of Electrical and Computer Engineering and the Institute of Biomedical Engineering. University of New Brunswick, Canada. Vol. 48, pp. 302 311.

134

11.- Englehart, Hudgins, Parker, Stevenson (1999). Classification of the Myoelectric Signal Using Timefrecuency Based Representations. Institute of Biomedical Engineering, University of New Brunswick, Canada Tcnicas electromiogrficas. Disponible Online:

12.-

http://www.urodinamia.com/tecnicas-

urodinamicas/tecnicas-electromiograficas-en-urodinamica/. Consultado Febrero 2013. 13.- Garca, Garca, Hernndez. (2004). Diseo de Prtesis Mioelctricas Diseo Mecnico y de Control. Instituto Politcnico Nacional ESIME AZCAPOTZALCO.

14.- Alva, Castillo, Gmez, Samame. (2011). Procesamiento de seales mioelctricas aplicado a un robot de cinco grados de libertad. Universidad Ricardo palma. Facultad de ingeniera, ingeniera electrnica. 15.- Arias, Barragn, Fierro. (2008). Microcontroladores. Instituto tecnolgico de Mexicali.

16.- Vizcarra Can. (2007). Microcontroladores. Disponible Online: www.scribd.com

17.- Ramos, Miranda (2008). Realidad Virtual, DGSCA, UNAM

18.- Borri, Arch. (2008). Ergonoma Realidad Virtual. Disponible Online: www.scribd.com

19.- Vera. (2003). La realidad Virtual y sus posibilidades didcticas. Universidad de Mlaga.

20.- Miraya. (2004). Filtros Activos. Universidad Nacional de Rosario Argentina.

21.- Herrador. (2009). Gua de usuario de Arduino. Universidad de Crdoba Argentina. L.T.I. Sistemas.

22.- Anatoma Funcional FCCAFD Granada, Msculos por contenidos. Disponible online: http://www.ugr.es/~dlcruz/musculos/indexcont.htm. Consultado Junio de 2013.

23.- Delagi, Iazzetti, Aldo, Perotto, Morrison. (2005). Anatomical Guide For The Electromyographer:

135

The Limbs And Trunk Springfield, Illinois.

24.-

The

electronic

textbook

of

hand

surgery.

Disponible

online:

http://www.eatonhand.com/mus/mus009.htm. Consultado Junio de 2013.

25.- Rectificador de onda completa en puente. Disponible online: www.sc.ehu.es .Consultado Junio de 2013

136

ANEXOS

137

ANEXO 1: CODIGO DE PROGRAMA PARA CREACION DE MENU DE SELECCION

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = untitled1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); function varargout = untitled1(varargin) % hObject handle to figure % UNTITLED1 MATLAB code for untitled1.fig % UNTITLED1, by itself, creates a new UNTITLED1 or raises the % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) existing % singleton*. % Get default command line output from handles structure % % H = UNTITLED1 returns the handle to a new UNTITLED1 or the varargout{1} = handles.output; handle to % the existing singleton*. % --- Executes on button press in pushbutton1. % % UNTITLED1('CALLBACK',hObject,eventData,handles,...) calls function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) the local % function named CALLBACK in UNTITLED1.M with the given % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) input arguments. find_system('MOVIMIENTOBICEP','MOVIMIENTOBICEP'); % % UNTITLED1('Property','Value',...) creates a new UNTITLED1 or open_system('MOVIMIENTOBICEP'); raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before untitled1_OpeningFcn gets called. An % --- Executes on button press in pushbutton2. % unrecognized property name or invalid value makes property function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) application % stop. All inputs are passed to untitled1_OpeningFcn via varargin. % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows find_system('MOVIMIENTOANTABAJO','MOVIMIENTOANTABAJ O'); only one open_system('MOVIMIENTOANTABAJO'); % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help untitled1 % Last Modified by GUIDE v2.5 12-Jun-2013 13:12:27 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @untitled1_OpeningFcn, ... 'gui_OutputFcn', @untitled1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) find_system('MOVIMIENTOANTARRIBA','MOVIMIENTOANTARR IBA'); open_system('MOVIMIENTOANTARRIBA'); function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes just before untitled1 is made visible. function untitled1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to untitled1 (see VARARGIN) % Choose default command line output for untitled1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes untitled1 wait for user response (see UIRESUME)

function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text

138

% double

str2double(get(hObject,'String')) returns contents of edit2 as a /* create servo vector */ Servo servo[70]; void setup() { /* Make sure all pins are put in high impedence state and % --- Executes during object creation, after setting all properties. that their registers are set as low before doing anything. function edit2_CreateFcn(hObject, eventdata, handles) This puts the board in a known (and harmless) state */ % hObject handle to edit2 (see GCBO) int i; % eventdata reserved - to be defined in a future version of MATLAB for (i=0;i<20;i++) { % handles empty - handles not created until after all CreateFcns called pinMode(i,INPUT); digitalWrite(i,0); % Hint: edit controls usually have a white background on Windows. } % See ISPC and COMPUTER. /* initialize serial */ if ispc && isequal(get(hObject,'BackgroundColor'), Serial.begin(115200); get(0,'defaultUicontrolBackgroundColor')) } set(hObject,'BackgroundColor','white'); void loop() { end. /* variables declaration and initialization */ static int s = -1; /* state */ static int pin = 13; /* generic pin number */ static int enc = 0; /* generic encoder number */

ANEXO 2: CODIGO DE PROGRAMACION PARA LA TARJETA ARDUINO

/* Analog and Digital Input and Output Server for MATLAB */ /* Giampiero Campa, Copyright 2012 The MathWorks, Inc */ /* This file is meant to be used with the MATLAB arduino IO package, however, it can be used from the IDE environment (or any other serial terminal) by typing commands like: 0e0 : assigns digital pin #4 (e) as input 0f1 : assigns digital pin #5 (f) as output 0n1 : assigns digital pin #13 (n) as output 1c : reads digital pin #2 (c) 1e : reads digital pin #4 (e) 2n0 : sets digital pin #13 (n) low 2n1 : sets digital pin #13 (n) high 2f1 : sets digital pin #5 (f) high 2f0 : sets digital pin #5 (f) low 4j2 : sets digital pin #9 (j) to 50=ascii(2) over 255 4jz : sets digital pin #9 (j) to 122=ascii(z) over 255 3a : reads analog pin #0 (a) 3f : reads analog pin #5 (f) 5j : reads status (attached/detached) of servo on pin #9 5k : reads status (attached/detached) of servo on pin #10 6j1 : attaches servo on pin #9 8jz : moves servo on pin #9 of 122 degrees (122=ascii(z)) 7j : reads angle of servo on pin #9 6j0 : detaches servo on pin #9 E0cd : attaches encoder #0 (0) on pins 2 (c) and 3 (d) E1st : attaches encoder #1 on pins 18 (s) and 19 (t) E2vu : attaches encoder #2 on pins 21 (v) and 20 (u) G0 : gets 0 position of encoder #0 I0u : sets debounce delay to 20 (2ms) for encoder #0 H1 : resets position of encoder #1 F2 : detaches encoder #2 R0 : sets analog reference to DEFAULT R1 : sets analog reference to INTERNAL R2 : sets analog reference to EXTERNAL X3 : roundtrip example case returning the input (i.e.3) 99 : returns script type (1 basic, 2 motor, 3 general) */ #include <Servo.h> /* define internal for the MEGA as 1.1V (as as for the 328) */ #if defined(__AVR_ATmega1280__) defined(__AVR_ATmega2560__) #define INTERNAL INTERNAL1V1 #endif /* define encoder structure */ typedef struct { int pinA; int pinB; int pos; int del;} Encoder; volatile Encoder Enc[3] = {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}};

int val = 0; /* generic value read from serial */ int agv = 0; /* generic analog value */ int dgv = 0; /* generic digital value */ /* The following instruction constantly checks if anything is available on the serial port. Nothing gets executed in the loop if nothing is available to be read, but as soon as anything becomes available, then the part coded after the if statement (that is the real stuff) gets executed */ if (Serial.available() >0) { /* whatever is available from the serial is read here */ val = Serial.read(); /* This part basically implements a state machine that reads the serial port and makes just one transition to a new state, depending on both the previous state and the command that is read from the serial port. Some commands need additional inputs from the serial port, so they need 2 or 3 state transitions (each one happening as soon as anything new is available from the serial port) to be fully executed. After a command is fully executed the state returns to its initial value s=-1 */ switch (s) { /* s=-1 means NOTHING RECEIVED YET ******************* */ case -1: /* calculate next state */ if (val>47 && val<90) { /* the first received value indicates the mode 49 is ascii for 1, ... 90 is ascii for Z s=0 is change-pin mode; s=10 is DI; s=20 is DO; s=30 is AI; s=40 is AO; s=50 is servo status; s=60 is aervo attach/detach; s=70 is servo read; s=80 is servo write; s=90 is query script type (1 basic, 2 motor); s=210 is encoder attach; s=220 is encoder detach; s=230 is get encoder position; s=240 is encoder reset; s=250 is set encoder debounce delay; s=340 is change analog reference; s=400 example echo returning the input argument; */ s=10*(val-48); } /* the following statements are needed to handle unexpected first values coming from the serial (if || the value is unrecognized then it defaults to s=-1) */ if ((s>90 && s<210) || (s>250 && s!=340 && s!=400)) { s=-1; } /* the break statements gets out of the switch-case, so /* we go back to line 97 and wait for new serial data */ break; /* s=-1 (initial state) taken care of */ /* s=0 or 1 means CHANGE PIN MODE */

139

case 0: case 40: /* the second received value indicates the pin /* the second received value indicates the pin from abs('c')=99, pin 2, to abs('')=166, pin 69 */ from abs('c')=99, pin 2, to abs('')=166, pin 69 */ if (val>98 && val<167) { if (val>98 && val<167) { pin=val-97; /* calculate pin */ pin=val-97; /* calculate pin */ s=1; /* next we will need to get 0 or 1 from serial */ s=41; /* next we will need to get value from serial */ } } else { else { s=-1; /* if value is not a pin then return to -1 */ s=-1; /* if value is not a pin then return to -1 */ } } break; /* s=0 taken care of */ break; /* s=40 taken care of */ case 1: case 41: /* the third received value indicates the value 0 or 1 */ /* the third received value indicates the analog value */ if (val>47 && val<50) { analogWrite(pin,val); /* perform Analog Output */ /* set pin mode */ s=-1; /* we are done with AO so next state is -1 */ if (val==48) { break; /* s=41 taken care of */ pinMode(pin,INPUT); } /* s=50 means SERVO STATUS (ATTACHED/DETACHED) else { ******* */ pinMode(pin,OUTPUT); case 50: } /* the second value indicates the servo attachment pin } from abs('c')=99, pin 2, to abs('')=166, pin 69 */ s=-1; /* we are done with CHANGE PIN so go to -1 */ if (val>98 && val<167) { break; /* s=1 taken care of */ pin=val-97; /* calculate pin */ /* s=10 means DIGITAL INPUT ************************** dgv=servo[pin].attached(); /* read status */ */ Serial.println(dgv); /* send value via serial */ case 10: } /* the second received value indicates the pin s=-1; /* we are done with servo status so return to -1*/ from abs('c')=99, pin 2, to abs('')=166, pin 69 */ break; /* s=50 taken care of */ if (val>98 && val<167) { /* s=60 or 61 means SERVO ATTACH/DETACH pin=val-97; /* calculate pin */ ************** */ dgv=digitalRead(pin); /* perform Digital Input */ case 60: Serial.println(dgv); /* send value via serial */ /* the second value indicates the servo attachment pin } from abs('c')=99, pin 2, to abs('')=166, pin 69 */ s=-1; /* we are done with DI so next state is -1 */ if (val>98 && val<167) { break; /* s=10 taken care of */ pin=val-97; /* calculate pin */ /* s=20 or 21 means DIGITAL OUTPUT ******************* s=61; /* next we will need to get 0 or 1 from serial */ */ } case 20: else { /* the second received value indicates the pin s=-1; /* if value is not a servo then return to -1 */ from abs('c')=99, pin 2, to abs('')=166, pin 69 */ } if (val>98 && val<167) { break; /* s=60 taken care of */ pin=val-97; /* calculate pin */ case 61: s=21; /* next we will need to get 0 or 1 from serial */ /* the third received value indicates the value 0 or 1 } 0 for detach and 1 for attach */ else { if (val>47 && val<50) { s=-1; /* if value is not a pin then return to -1 */ dgv=val-48; /* calculate value */ } if (dgv) servo[pin].attach(pin); /* attach servo */ break; /* s=20 taken care of */ else servo[pin].detach(); /* detach servo */ } case 21: s=-1; /* we are done with servo attach/detach so -1 */ /* the third received value indicates the value 0 or 1 */ break; /* s=61 taken care of */ if (val>47 && val<50) { /* s=70 means SERVO READ ***************************** dgv=val-48; /* calculate value */ */ digitalWrite(pin,dgv); /* perform Digital Output */ case 70: } /* the second value indicates the servo attachment pin s=-1; /* we are done with DO so next state is -1 */ from abs('c')=99, pin 2, to abs('')=166, pin 69 */ break; /* s=21 taken care of */ if (val>98 && val<167) { pin=val-97; /* calculate pin */ /* s=30 means ANALOG INPUT *************************** agv=servo[pin].read(); /* read value */ */ Serial.println(agv); /* send value via serial */ case 30: } /* the second received value indicates the pin s=-1; /* we are done with servo read so go to -1 next */ from abs('a')=97, pin 0, to abs('p')=112, pin 15 */ break; /* s=70 taken care of */ if (val>96 && val<113) { pin=val-97; /* calculate pin */ /* s=80 or 81 means SERVO WRITE ******************** */ agv=analogRead(pin); /* perform Analog Input */ Serial.println(agv); /* send value via serial */ case 80: } /* the second value indicates the servo attachment pin s=-1; /* we are done with AI so next state is -1 */ from abs('c')=99, pin 2, to abs('')=166, pin 69 */ break; /* s=30 taken care of */ if (val>98 && val<167) { /* s=40 or 41 means ANALOG OUTPUT ******************** pin=val-97; /* calculate pin */ */ s=81; /* next we will need to get value from serial */

140

} attachInterrupt(getIntNum(Enc[2].pinB), isrPinBEn2, else { CHANGE); s=-1; /* if value is not a servo then return to -1 */ break; } } break; /* s=80 taken care of */ } case 81: s=-1; /* we are done with encoder attach so -1 */ /* the third received value indicates the servo angle */ break; /* s=212 taken care of */ servo[pin].write(val); /* write value */ /* s=220 means ENCODER DETACH *********************** s=-1; /* we are done with servo write so go to -1 next*/ */ break; /* s=81 taken care of */ case 220: /* s=90 means Query Script Type (1 basic, 2 motor) *****/ /* the second value indicates the encoder number: case 90: either 0, 1 or 2 */ if (val==57) { if (val>47 && val<51) { /* if string sent is 99 send script type via serial */ enc=val-48; /* calculate encoder number */ Serial.println(1); /* detach interrupts */ } detachInterrupt(getIntNum(Enc[enc].pinA)); s=-1; /* we are done with this so next state is -1 */ detachInterrupt(getIntNum(Enc[enc].pinB)); break; /* s=90 taken care of */ } /* s=210 to 212 means ENCODER ATTACH ***************** s=-1; /* we are done with encoder detach so -1 */ */ break; /* s=220 taken care of */ case 210: /* s=230 means GET ENCODER POSITION ****************** /* the second value indicates the encoder number: */ either 0, 1 or 2 */ case 230: if (val>47 && val<51) { /* the second value indicates the encoder number: enc=val-48; /* calculate encoder number */ either 0, 1 or 2 */ s=211; /* next we need the first attachment pin */ if (val>47 && val<51) { } enc=val-48; /* calculate encoder number */ else { /* send the value back */ s=-1; /* if value is not an encoder then return to -1*/ Serial.println(Enc[enc].pos); } } break; /* s=210 taken care of */ s=-1; /* we are done with encoder detach so -1 */ case 211: break; /* s=230 taken care of */ /* the third received value indicates the first pin /* s=240 means RESET ENCODER POSITION **************** from abs('c')=99, pin 2, to abs('')=166, pin 69 */ */ if (val>98 && val<167) { case 240: pin=val-97; /* calculate pin */ /* the second value indicates the encoder number: Enc[enc].pinA=pin; /* set pin A */ either 0, 1 or 2 */ s=212; /* next we need the second attachment pin */ if (val>47 && val<51) { } enc=val-48; /* calculate encoder number */ else { /* reset position */ s=-1; /* if value is not a servo then return to -1 */ Enc[enc].pos=0; } } break; /* s=211 taken care of */ s=-1; /* we are done with encoder detach so -1 */ case 212: break; /* s=240 taken care of */ /* the fourth received value indicates the second pin /* s=250 and 251 mean SET ENCODER DEBOUNCE DELAY from abs('c')=99, pin 2, to abs('')=166, pin 69 */ ***** */ if (val>98 && val<167) { case 250: pin=val-97; /* calculate pin */ /* the second value indicates the encoder number: Enc[enc].pinB=pin; /* set pin B */ either 0, 1 or 2 */ /* set encoder pins as inputs */ if (val>47 && val<51) { pinMode(Enc[enc].pinA, INPUT); enc=val-48; /* calculate encoder number */ pinMode(Enc[enc].pinB, INPUT); s=251; /* next we need the first attachment pin */ /* turn on pullup resistors */ } digitalWrite(Enc[enc].pinA, HIGH); else { digitalWrite(Enc[enc].pinB, HIGH); s=-1; /* if value is not an encoder then return to -1*/ /* attach interrupts */ } switch(enc) { break; /* s=250 taken care of */ case 0: case 251: attachInterrupt(getIntNum(Enc[0].pinA), irsPinAEn0, /* the third received value indicates the debounce CHANGE); delay value in units of approximately 0.1 ms each attachInterrupt(getIntNum(Enc[0].pinB), isrPinBEn0, from abs('a')=97, 0 units, to abs('')=166, 69 units*/ CHANGE); if (val>96 && val<167) { break; Enc[enc].del=val-97; /* set debounce delay */ case 1: } attachInterrupt(getIntNum(Enc[1].pinA), irsPinAEn1, s=-1; /* we are done with this so next state is -1 */ CHANGE); break; /* s=251 taken care of */ attachInterrupt(getIntNum(Enc[1].pinB), isrPinBEn1, /* s=340 or 341 means ANALOG REFERENCE *************** CHANGE); */ break; case 340: case 2: /* the second received value indicates the reference, attachInterrupt(getIntNum(Enc[2].pinA), irsPinAEn2, which is encoded as is 0,1,2 for DEFAULT, INTERNAL CHANGE); and EXTERNAL, respectively */ switch (val) {

141

case 48: analogReference(DEFAULT); break; case 49: analogReference(INTERNAL); break; case 50: analogReference(EXTERNAL); break; default: /* unrecognized, no action */ break; } s=-1; /* we are done with this so next state is -1 */ break; /* s=341 taken care of */ /* s=400 roundtrip example function (returns the input)*/ case 400: /* the second value (val) can really be anything here */ /* This is an auxiliary function that returns the ASCII value of its first argument. It is provided as an example for people that want to add their own code */

Enc[0].pos++; /* going clockwise: increment */ } else { Enc[0].pos--; /* going counterclockwise: decrement */ } } else { /* must be high to low on A */ if (drB == HIGH) { /* check pin B */ Enc[0].pos++; /* going clockwise: increment */ } else { Enc[0].pos--; /* going counterclockwise: decrement */ } } /* end counter update */

} /* end ISR pin A Encoder 0 */ /* Interrupt Service Routine: change on pin B for Encoder 0 */ void isrPinBEn0(){ /* read pin A right away */ int drA = digitalRead(Enc[0].pinA); /* possibly wait before reading pin B, then read it */ debounce(Enc[0].del); int drB = digitalRead(Enc[0].pinB); /* your own code goes here instead of the serial print */ /* this updates the counter */ Serial.println(val); if (drB == HIGH) { /* low->high on B? */ s=-1; /* we are done with the aux function so -1 */ if (drA == HIGH) { /* check pin A */ break; /* s=400 taken care of */ Enc[0].pos++; /* going clockwise: increment */ /* ******* UNRECOGNIZED STATE, go back to s=-1 ******* */ } else { default: Enc[0].pos--; /* going counterclockwise: decrement */ /* we should never get here but if we do it means we } are in an unexpected state so whatever is the second } else { /* must be high to low on B */ received value we get out of here and back to s=-1 */ if (drA == LOW) { /* check pin A */ s=-1; /* go back to the initial state, break unneeded */ Enc[0].pos++; /* going clockwise: increment */ } /* end switch on state s */ } else { } /* end if serial available */ Enc[0].pos--; /* going counterclockwise: decrement */ } /* end loop statement */ } /* auxiliary function to handle encoder attachment */ int getIntNum(int pin) { } /* end counter update */ /* returns the interrupt number for a given interrupt pin } /* end ISR pin B Encoder 0 */ see http://arduino.cc/it/Reference/AttachInterrupt */ /* Interrupt Service Routine: change on pin A for Encoder 1 */ switch(pin) { void irsPinAEn1(){ case 2: /* read pin B right away */ return 0; int drB = digitalRead(Enc[1].pinB); case 3: /* possibly wait before reading pin A, then read it */ return 1; debounce(Enc[1].del); case 21: int drA = digitalRead(Enc[1].pinA); return 2; /* this updates the counter */ case 20: if (drA == HIGH) { /* low->high on A? */ return 3; case 19: if (drB == LOW) { /* check pin B */ return 4; Enc[1].pos++; /* going clockwise: increment */ case 18: } else { return 5; Enc[1].pos--; /* going counterclockwise: decrement */ default: } return -1; } else { /* must be high to low on A */ } if (drB == HIGH) { /* check pin B */ } Enc[1].pos++; /* going clockwise: increment */ /* auxiliary debouncing function */ } else { void debounce(int del) { Enc[1].pos--; /* going counterclockwise: decrement */ for (int k=0;k<del;k++) { } /* can't use delay in the ISR so need to waste some time } /* end counter update */ perfoming operations, this uses roughly 0.1ms on uno */ } /* end ISR pin A Encoder 1 */ k = k +0.0 +0.0 -0.0 +3.0 -3.0; /* Interrupt Service Routine: change on pin B for Encoder 1 */ } void isrPinBEn1(){ } /* read pin A right away */ /* Interrupt Service Routine: change on pin A for Encoder 0 */ int drA = digitalRead(Enc[1].pinA); void irsPinAEn0(){ /* possibly wait before reading pin B, then read it */ /* read pin B right away */ debounce(Enc[1].del); int drB = digitalRead(Enc[0].pinB); int drB = digitalRead(Enc[1].pinB); /* possibly wait before reading pin A, then read it */ /* this updates the counter */ debounce(Enc[0].del); if (drB == HIGH) { /* low->high on B? */ int drA = digitalRead(Enc[0].pinA); if (drA == HIGH) { /* check pin A */ /* this updates the counter */ Enc[1].pos++; /* going clockwise: increment */ if (drA == HIGH) { /* low->high on A? */ } else { if (drB == LOW) { /* check pin B */ Enc[1].pos--; /* going counterclockwise: decrement */

142

} } else { /* must be high to low on B */ if (drA == LOW) { /* check pin A */ Enc[1].pos++; /* going clockwise: increment */ } else { Enc[1].pos--; /* going counterclockwise: decrement */ } } /* end counter update */ } /* end ISR pin B Encoder 1 */ /* Interrupt Service Routine: change on pin A for Encoder 2 */ void irsPinAEn2(){ /* read pin B right away */ int drB = digitalRead(Enc[2].pinB); /* possibly wait before reading pin A, then read it */ debounce(Enc[2].del); int drA = digitalRead(Enc[2].pinA); /* this updates the counter */ if (drA == HIGH) { /* low->high on A? */ if (drB == LOW) { /* check pin B */ Enc[2].pos++; /* going clockwise: increment */ } else { Enc[2].pos--; /* going counterclockwise: decrement */ } } else { /* must be high to low on A */ if (drB == HIGH) { /* check pin B */ Enc[2].pos++; /* going clockwise: increment */ } else { Enc[2].pos--; /* going counterclockwise: decrement */ } } /* end counter update */ } /* end ISR pin A Encoder 2 */ /* Interrupt Service Routine: change on pin B for Encoder 2 */ void isrPinBEn2(){ /* read pin A right away */ int drA = digitalRead(Enc[2].pinA); /* possibly wait before reading pin B, then read it */ debounce(Enc[2].del); int drB = digitalRead(Enc[2].pinB); /* this updates the counter */ if (drB == HIGH) { /* low->high on B? */ if (drA == HIGH) { /* check pin A */ Enc[2].pos++; /* going clockwise: increment */ } else { Enc[2].pos--; /* going counterclockwise: decrement */ } } else { /* must be high to low on B */ if (drA == LOW) { /* check pin A */ Enc[2].pos++; /* going clockwise: increment */ } else { Enc[2].pos--; /* going counterclockwise: decrement */ } } /* end counter update */ } /* end ISR pin B Encoder 2 */

if length(wa) > 1, msg=' There is at least another arduino.m file in the path, please delete any other versions before installing this one'; error(msg); end % get the main arduino folder ap=wa{1};ap=ap(1:end-10); % Add target directories and save the updated path addpath(fullfile(ap,'')); addpath(fullfile(ap,'simulink','')); addpath(fullfile(ap,'examples','')); disp(' Arduino folders added to the path'); result = savepath; if result==1 nl = char(10); msg = [' Unable to save updated MATLAB path (<a href="http://www.mathworks.com/support/solutions/en/data/19574H9/index.html?solution=1-9574H9">why?</a>)' nl ... ' On Windows, exit MATLAB, right-click on the MATLAB icon, select "Run as administrator", and re-run install_arduino.m' nl ... ' On Linux, exit MATLAB, issue a command like this: sudo chmod 777 usr/local/matlab/R2011a/toolbox/local/pathdef.m' nl ... ' (depending on where MATLAB is installed), and then re open MATLAB and re-run install_arduino.m' nl ... ]; error(msg); else disp(' Saved updated MATLAB path'); disp(' '); end clear wa ap result nl msg

ANEXO 3: CODIGO DE ARCHIVO PARA INSTALACION DE LIBRERIA ARDUINO I/O


% This files installs the MATLAB support package for Arduino (ArduinoIO package). % Copyright 2011 The MathWorks, Inc. % look for arduino.m wa=which('arduino.m','-all'); % make sure we are in the right folder and there are no other arduino.m files if length(wa) < 1, msg=' Cannot find arduino.m, please run this file from the folder containing arduino.m'; error(msg); end

143

ANEXO 4 DIAGRAMA FINAL DEL CIRCUITO

144

145

También podría gustarte