Tabla de contenido:
- Suministros
- Paso 1: Suelde los cables de puente al controlador
- Paso 2: Cree la configuración de la placa de pruebas y conecte el controlador
- Paso 3: prueba con transmisión de datos sintéticos
- Paso 4: Configure su placa OpenBCI y sus electrodos
- Paso 5: Conéctese a datos reales
- Paso 6: ¡Batalla
- Paso 7: Solución de problemas - Código de control del teclado
Video: Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este tutorial muestra cómo usar los datos EMG transmitidos a través del hardware OpenBCI y la GUI de OpenBCI para controlar las acciones de un Hexbug. Las capacidades de batalla de estos insectos hexagonales pueden ser controladas por tu propia entrada muscular, ¡y podrás participar en tus propias peleas de insectos hexagonales!
Habilidades básicas útiles:
-
Conocimiento de programación basada en Arduino o C
Conceptos básicos de Arduino
-
Cómo configurar el kit de diadema OpenBCI con Cyton o Ganglion
Esto le ayudará a configurar y empezar a trabajar con las placas OpenBCI
- Transmisión de datos EMG con OpenBCI
Algunos conocimientos previos sobre los datos EMG
Suministros
-
Hardware
- Una computadora que cumpla con los requisitos del sistema GUI
- Paquete doble Hexbug 2.0
- Electrodos de gel sólido de espuma EMG / ECG (30 / paquete)
- Cables de electrodo a presión EMG / ECG
- OpenBCI Cyton Board ($ 500) o Ganglion Board ($ 200)
- 20 cables de puente macho-macho
- Tablero de circuitos
- Resistencias de 10 x 10kΩ
- Arduino Genuino Uno
- 5 LED opcionales (para conectar para depurar)
-
Software
- GUI de OpenBCI
- El IDE de Arduino
- Código proporcionado
-
Guías de introducción a OpenBCI
- GUI de OpenBCI
- Ganglio o Cyton
Paso 1: Suelde los cables de puente al controlador
1.1 Retire la tapa del controlador
Saque la carcasa de plástico transparente acuñando un destornillador plano u otra herramienta en las cuatro pestañas de bloqueo del controlador. Sujétese del conmutador de canales deslizante y de la propia carcasa. Todos los demás botones se pueden descartar.
Retire los botones pulsadores pegados con cinta adhesiva y deséchelos. Además, desolde el botón "Disparar" y deséchelo.
1.2 Soldadura en cables de puente
Luego, suelde cada uno de los cables de puente macho-macho a los pequeños círculos internos donde estaban los botones de avance, retroceso, izquierdo y derecho. También suelde las conexiones al cable de fuego retirado y al pin de tierra a su izquierda.
1.3 Reemplace la tapa del controlador
Con tijeras o una navaja, corte pedazos de la tapa de plástico transparente que puedan interferir con la posición de los cables de puente y vuelva a instalarla en el controlador, manteniendo el interruptor de canal en posición.
Reutilizamos la tapa para que el conmutador de canal deslizante permanezca efectivamente en contacto con los parches conductores de la placa.
Paso 2: Cree la configuración de la placa de pruebas y conecte el controlador
Vuelva a crear la configuración como se muestra arriba.
Explicación:
2.1 Coloque los pines del controlador en la placa de pruebas
Cada comando se ubicará en su propia fila. Coloque cada pin en su propia fila en la parte interior de la placa de pruebas. De arriba a abajo, el orden de estos debe ser Derecha, Izquierda, Adelante, Fuego.
2.2 Agregar resistencias
Después de insertar estos pines, agregue una resistencia de 10 KΩ que puentee los dos lados de la placa de pruebas. Esto corrige la cantidad de corriente que va a cada pin, lo que permite que el error funcione correctamente.
2.3 Agregar LED de verificación de errores
Para fines de visualización, en este punto también podemos agregar un LED. El ánodo del LED debe estar en línea con el pin de control y la resistencia, y el cátodo está en una línea separada de la placa de pruebas. Conecte otra resistencia de la línea del cátodo a la tierra de la placa. Tenga en cuenta que este paso es opcional, pero puede ayudar a solucionar cualquier error con el circuito.
2.4 Conectar la configuración a Arduino
Finalmente, agregue otro cable de puente para conectar cada fila a un pin Arduino. Es importante que se correspondan de la siguiente manera:
3 - Fuego 4 - Delanteros 5 - Izquierda 6 - Derecha
Paso 3: prueba con transmisión de datos sintéticos
3.1 Cargar código de muestra a la placa
Después de descargar nuestro código provisto, ábralo en Arduino. Conecte su tablero a su computadora portátil y asegúrese de seleccionarlo como el puerto en el menú desplegable Herramientas. Luego, cargue su código en la placa Arduino.
3.2 Transmisión sintética abierta
8 canales funcionarán bien para este ejemplo. Haga clic en "Iniciar sistema" para continuar.
Una vez que tenga la GUI abierta, apague los canales 6-8.
3.3 Configurar el widget de red
Abra y configure el widget de red como se muestra en la imagen, usando el modo serial. Queremos que el tipo de datos sea "EMG".
Además, tenga en cuenta que la velocidad en baudios en nuestro boceto de Arduino es 57600, por lo que seleccionamos 57600 en el menú desplegable Baud.
Asegúrese de seleccionar el puerto correcto para Arduino. Es el mismo puerto que usamos para cargar el boceto en Arduino. Si usa Mac / Linux, debe estar etiquetado como "usbmodem", diferente de la placa OpenBCI, que estará etiquetada como "usbserial".
Una vez que haya confirmado que toda la información es correcta, presione iniciar.
3.4 Ejecución de pruebas
Como los datos sintéticos son mucho más difíciles de controlar, modifique la configuración en el widget EMG hasta que los cuadrados sean lo suficientemente volátiles como para pasar el valor de umbral enumerado en el código. Si esto no es suficiente, puede ser de su interés modificar el valor de umbral en el código y volver a cargarlo en su tablero.
También puede ser útil apagar todos los canales menos uno a la vez y probar cada comando uno por uno para asegurarse de que todos estén haciendo lo que se supone que deben hacer. Una vez que haya confirmado que todo funciona bien, puede pasar a los datos reales.
Paso 4: Configure su placa OpenBCI y sus electrodos
Hay dos direcciones que esto puede tomar: una persona que controla los 5 comandos, o varias personas controlan diferentes comandos cada una. Esto diferenciará la forma en que se hace.
Opción A: una persona que controla los cinco comandos
Simplemente siga las instrucciones de este tutorial de configuración de EMG de la documentación de OpenBCI aquí.
Opción B: Varias personas controlan diferentes comandos
Siga el tutorial de configuración de EMG del sitio web de OpenBCI, pero con una modificación: se deben unir varias conexiones a tierra.
Para hacer esto, corte aproximadamente 3 pulgadas de cables de clavija macho y el extremo de un cable de clavija hembra y retire una pulgada de goma de los extremos para exponer los cables en el interior. Repita esto para tantos cables macho como sea necesario para darle a cada persona una conexión a tierra individual. Empalme estos extremos expuestos y conténgalos dentro de un trozo de tubo termorretráctil.
Paso 5: Conéctese a datos reales
Ahora, regrese al inicio de la GUI y elija LIVE (de Cyton) o LIVE (de Ganglion) -dependiendo de la placa que esté usando- como fuente de datos.
Desde aquí, abra EMG Widget y Networking Widget, y comience a transmitir exactamente como lo habíamos hecho antes. ¡Ahora, los datos deberían transmitirse desde su entrada en vivo!
Paso 6: ¡Batalla
Con todo ahora configurado, estás listo para la batalla. Si se han creado dos configuraciones, puedes usar los controles para luchar.
Tenga en cuenta que los robots deben encenderse uno a la vez para garantizar que las señales se recopilen de dos fuentes únicas.
Cada hexbug tiene tres vidas, y después de que todas hayan pasado, simplemente presione el botón de encendido para restablecer las puntuaciones.
¡Diviértete y lucha!
Paso 7: Solución de problemas - Código de control del teclado
Si tiene algún problema con la configuración de su placa y desea controlarla usando solo la entrada del teclado, descargue este código para usar el monitor serial Arduino incorporado para controlar su circuito. Esto le permitirá aislar cada acción y determinar si el problema que está experimentando proviene de la configuración física de Arduino o de los datos.
Recomendado:
Brazo robótico 3D con motores paso a paso controlados por Bluetooth: 12 pasos
Brazo robótico 3D con motores paso a paso controlados por Bluetooth: En este tutorial veremos cómo hacer un brazo robótico 3D, con motores paso a paso 28byj-48, un servomotor y piezas impresas en 3D. La placa de circuito impreso, el código fuente, el diagrama eléctrico, el código fuente y mucha información se incluyen en mi sitio web
Disco V2 portátil: LED controlados por sonido: 11 pasos (con imágenes)
Portable Disco V2 - LED controlados por sonido: He recorrido un largo camino en mi viaje con la electrónica desde que hice mi primera discoteca portátil. En la construcción original, pirateé un circuito en una placa prototipo y logré construir una pequeña discoteca de bolsillo ordenada. Esta vez diseñé mi propia PCB y
Neopixels controlados por teléfono inteligente (tira de LED) con la aplicación Blynk a través de WiFi: 6 pasos
Neopixels controlados por teléfono inteligente (tira de LED) con la aplicación Blynk a través de WiFi: creé este proyecto después de que me inspiraran los neopíxeles controlados por teléfono inteligente en la casa de un amigo, pero los suyos fueron comprados en una tienda. Pensé: "¡Qué difícil puede ser hacer el mío, también sería mucho más barato!"
LED de Bluetooth controlados por teléfono inteligente (con sincronización de música en vivo): 7 pasos
LED Bluetooth controlados por teléfono inteligente (con sincronización de música en vivo): siempre me ha gustado construir cosas, después de descubrir que mi nuevo dormitorio universitario tenía una iluminación terrible, decidí darle un poco de sabor. *** ADVERTENCIA *** Si construyes este proyecto en la misma escala que mi configuración, trabajará con una cantidad decente de ele
MuscleCom - Interfaz controlada por músculos: 5 pasos (con imágenes)
MuscleCom - Interfaz controlada por músculos: MuscleCom ofrece una forma nueva e innovadora para que los pacientes con discapacidades físicas se comuniquen como nunca antes. Al medir los valores de EMG de los músculos de una persona, el usuario puede controlar una interfaz de usuario que le ayudará a comunicarse en el día a día