Tabla de contenido:

Tira de LED de Neopixel que reacciona al sensor muscular Myoware: 6 pasos
Tira de LED de Neopixel que reacciona al sensor muscular Myoware: 6 pasos

Video: Tira de LED de Neopixel que reacciona al sensor muscular Myoware: 6 pasos

Video: Tira de LED de Neopixel que reacciona al sensor muscular Myoware: 6 pasos
Video: Умная лампа - Fab Academy Barcelona 2024, Noviembre
Anonim
Tira de LED de Neopixel que reacciona al sensor muscular Myoware
Tira de LED de Neopixel que reacciona al sensor muscular Myoware

El objetivo es instalar un sensor muscular con la ayuda de Arduino y procesar los datos entrantes con Adafruit IO y recuperar la salida con un disparador para que la luz cambie de blanco a rojo durante un minuto.

¿Qué es un sensor muscular? El sensor muscular mide la actividad eléctrica de un músculo y produce una señal de salida analógica que un microcontrolador puede leer fácilmente. La electromiografía (EMG) mide la respuesta muscular o la actividad eléctrica en respuesta a la estimulación del músculo por un nervio. La prueba se utiliza para ayudar a detectar anomalías neuromusculares. Durante la prueba, se insertan una o más agujas pequeñas (también llamadas electrodos) a través de la piel hasta el músculo.

Para este proyecto necesitas: -Sensor muscular MyWare -Electrodos EMG -NodeMCU (esp8266) -Cubierta de alambre de silicona -Micro cable USB -Tira de led de Neopixel

Bibliotecas que necesitará: -Adafruit io Arduino (al menos versión 2.3.0) -Adafruit Neopixel (versión 1.2.5) -Biblioteca Adafruit MQTT (1.0.3) -Arduino HttpClients (0.4.0) Si no tiene te bibliotecas instaladas todavía. Luego vaya a Sketch> incluir biblioteca> Administrar bibliotecas… escriba: [el nombre de la biblioteca que desea instalar] en el campo de búsqueda.

Paso 1: Conexión del sensor muscular Myoware (especialmente para aquellos que nunca antes trabajaron con él)

Si nunca ha trabajado con un sensor muscular Myoware, es bueno que primero comprenda cómo este sensor está conectado y es legible en el monitor serial en Arduino. Esta operación es un procedimiento estándar que ya se ha descrito en muchos manuales. La plataforma Adafruit tiene una descripción clara de cómo funciona esto en unos pocos pasos:

learn.adafruit.com/getting-started-with-my…

Compruebe Si se realizan todos estos pasos, verá en su monitor de serie que los valores cambian cuando aprieta los músculos. Cuando cierra el puño y aprieta el músculo, los valores deben subir y cuando relaja el músculo, estos valores deben volver a bajar.

Importante Este paso es solo para configurar el sensor. El código que ha utilizado no es necesario para el resto del manual. Solo la forma en que coloca el sensor sigue siendo la misma para los próximos pasos.

Paso 2: Configuración de Adafruit IO

Configuración de Adafruit IO
Configuración de Adafruit IO
Configuración de Adafruit IO
Configuración de Adafruit IO
Configuración de Adafruit IO
Configuración de Adafruit IO

El primer paso es iniciar sesión o crear una cuenta en Adafruit IO, busque Adafruit IO. Adafruit IO es una plataforma en la nube a la que puede conectarse a través de Internet. Adafruit IO hace que los datos sean útiles con conexiones de datos.

Cuando estás en tu cuenta:

Crear la fuente analógica A continuación, deberá crear una fuente llamada Analógica. Si necesita ayuda para comenzar a crear feeds en Adafruit IO, consulte la guía de conceptos básicos de Adafruit IO Feed (como en la foto 1 y 2).

Agregar el bloque de calibre y el bloque de gráfico de líneas A continuación, cree un nuevo tablero y asígnele el nombre que desee (se muestra en las fotos 3, 4 y 5 para crear un nuevo tablero). Asegúrese de haber seleccionado la fuente analógica como fuente de datos.

Cuando esté en el tablero, agregue un nuevo bloque de calibre y haga clic en el signo más azul en la esquina superior derecha. Nombra el bloque como quieras (mostrado en las fotos 6 y 7), y dale un valor máximo de 1024 y un valor mínimo de 0 (valores del sensor muscular).

Repita lo mismo con el bloque Gráfico de líneas (foto 8) que anteriormente con el bloque Calibrador.

CheckSi ha hecho todo lo anterior, debe tener una pantalla similar a la última foto.

Paso 3: Entrada Arduino

Entrada Arduino
Entrada Arduino
Entrada Arduino
Entrada Arduino
Entrada Arduino
Entrada Arduino
Entrada Arduino
Entrada Arduino

En el paso 1, ha realizado la configuración del cableado del sensor muscular MyoWare correctamente. En este paso, nos sumergiremos en el código Arduino que viene con la conexión al paso 2 del panel de Adafruit IO. Al final de este paso, verá los valores de entrada del sensor muscular Myoware en los dos bloques que ha configurado.

Configuración de Arduino

Asegúrese de tener instaladas todas las bibliotecas que se indican arriba en la introducción.

Vamos a trabajar con un boceto de ejemplo. Entonces abra Archivo> Ejemplo> Adafruit IO Arduino> adafruitio_08_analog_in (foto 1). ¿Por qué este boceto? porque primero estamos configurando la parte de entrada de este manual. El sensor muscular MyoWare utiliza una salida analógica. Si desea profundizar más en el tema sobre analógico.

Configuración de red de Arduino Para configurar la configuración de red, haga clic en la pestaña config.h en el boceto. Deberá establecer su nombre de usuario de Adafruit IO en la definición de IO_USERNAME y su clave de Adafruit IO en la definición de IO_KEY. Puede encontrar su nombre de usuario y la clave en la parte superior derecha de la pantalla en su Arduino IO (ejemplo en la foto 2)

#define IO_USERNAME "your_username"

#define IO_KEY "your_key"

WiFi Config WiFi está habilitado de forma predeterminada en config.h, por lo que si está utilizando una de las placas WiFi compatibles, solo necesitará modificar las opciones WIFI_SSID y WIFI_PASS en la pestaña config.h.

#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"

Código Arduino Si tiene cambios en la configuración anterior, podemos ir más allá al código real, adafruit_08_analog_in. El pin de falla en este ejemplo está en AO. Este es el pin correcto, ya que colocó su sensor muscular en la placa en el paso 2.

Este ejemplo usa un sensor de fotocélula, porque usamos un sensor muscular cambiaremos este nombre. No importa si hace esto, solo lo hará semánticamente más ordenado. Cambie PHOTOCELL_PIN a MUSCLESENSOR_PIN y haga esto en dos lugares del boceto.

/ ************************ El ejemplo comienza aquí ********************* ********* /

// pin analógico 0 #define PHOTOCELL_PIN A0

En la última línea de código hay un retraso. Este retraso es de 1 segundo, vamos a establecerlo en 2 segundos, entonces 2000. Hacemos esto porque hay una licencia en Adafruit IO con un límite de datos, menos de dos segundos este boceto excede ese límite de datos y dará una ADVERTENCIA DE ACELERADOR. Lo que significa que no ingresa ningún valor. Establecer esto en dos segundos evita que esto suceda.

// esperar un segundo (1000 milisegundos == 1 segundo) delay (2000);

Esto era lo que tenías que cambiar en el boceto para que funcionara. Si quieres saber exactamente cómo funciona todo el código. Puede encontrarlo en Learn Adafruit, con una explicación de cada bloque de código.

Verifique Cargue el boceto en su placa y abra el monitor serial Arduino. Su placa ahora debería conectarse a Adafruit IO.

ahora puede apretar su brazo, y debería ver los valores cambiantes que se envían a Adafruit IO (como en la foto 3). Si no ve ningún valor en el monitor en serie, compruebe si ha configurado la velocidad en baudios en el monitor en serie en 115200.

Tablero de Adafruit IO Verifique su tablero en Adafruit IO, y debería ver que el indicador y el gráfico de líneas responden a los cambios en los valores del sensor muscular MyoWare.

Paso 4: Configuración del disparador Adafruit IO

Configuración del disparador Adafruit IO
Configuración del disparador Adafruit IO
Configuración del disparador Adafruit IO
Configuración del disparador Adafruit IO

Hasta ahora, hemos podido hacer que la entrada del sensor MyoWare Muscle funcione en Adafruit IO. Ahora vamos a empezar a leer esta información. Para que después de 5 veces se detecte un valor por encima de X del sensor Muscle, la tira de leds de Neopixel realiza una acción.

Esta sección fue para mí donde tuve que investigar cómo puedo leer el historial de Adafruit IO. Había trabajado con Feeds y Dashboards antes, así que pensé que el feed y el dashboard que se crearon podrían leer esto y crear una acción aquí en Arduino. Hasta ahora no lo he conseguido. Después de mucha investigación y Adafruit IO, descubrí que se puede activar una acción con la función Trigger en Adafruit IO. Obtenga más información sobre Triggers.

Un Feed adicional Antes de que podamos hacer un Trigger, debemos crear otro feed para que podamos nombrarlo en Arduino para obtener la salida. Cree un feed con el nombre AlertTriggered.

Crear un activador Junto a los encabezados Feed y Dashboard is Trigger, ve aquí. Crea un nuevo disparador. Se le preguntará si desea crear un activador reactivo o un activador programado, elija Activador reactivo y haga clic en crear. Esto se debe a que solo desea activar algo cuando algo sucede (foto 1).

Se deben configurar varias cosas (los siguientes pasos también se muestran en la foto 2).- Seleccione la alimentación analógica en el primer If, para que la entrada se tome desde aquí.

-Si selecciona más grande que, esto es porque desea activar algo cuando el valor excede ese número.

-Valor de comparación puede ingresar su número deseado para activar el disparador. Hice 600 en este caso.

-Con arduino tendrás que recibir una retroalimentación cuando supere los 600: así que en Luego selecciona publicar un mensaje para:.

-Después de lo cual puede seleccionar su segundo Feed creado AlertTriggered.

Por último, haga clic en crear.

Paso 5: Salida de Neopixel

Salida de Neopixel
Salida de Neopixel

El último paso es generar la salida. Hecho en el boceto de Arduino que ha editado, llamando a la fuente AlertTriggered (que creó en el paso anterior).

Para poder generar salida, primero debe conectar la tira de led Neopixel al cable NodeMCU.- + 5v (izquierda) de su tira de led en el cable de 3v de su NodeMCU- GND (derecha) en G del Nodo (G = GND) - Cable central DIN del LED en D5 (o cualquier otro puerto D)

Código He incluido el boceto completo con alternancias en este paso como un archivo (se puede encontrar en la parte inferior de este paso). Este es el mismo boceto con el que ha trabajado en los últimos pasos, pero ahora se incluye el boceto final con los pasos que debe seguir para generar la salida. archivo adafruitio_musclesensor_neopixel. Esto funciona con el config.h que ha configurado previamente con sus datos. Todos los bloques de código están incluidos con comentarios para que pueda ver lo que está sucediendo.

Qué datos de salida se han codificado En este código he creado un disparador, cuando el AlertTriggered (lo que declaramos en el paso anterior sobre un valor superior a 600) se dispara más de 5 veces. Esto significa que cuando se dispara, la tira de leds de Neopixel se configura de blanco a rojo. Esto sucederá durante un minuto y luego el estado rojo se desvanecerá y volverá al estado blanco nuevamente.

Monitor en serie Para que sea más claro para usted como programador, el último conjunto de código es para el Monitor en serie. Cuáles son los valores y cuándo se activa el nivel de alerta. Junto con la adición de segundos cuando el estado de alerta está activado, hasta que después de 60 segundos cambia al estado de alerta desactivado nuevamente. Por tanto, esta parte es opcional.

// para mostrar los segundos que pasan en Serial Monitor cuando alartstate está en Serial.println ("Segundos pasados:"); Serial.println (secondsPassed); } else {secondsPassed = 0; }

Compruebe Si ha realizado los pasos o ha obtenido el archivo boceto adafruitio_musclesensor_neopixel con su propio config.h, puede cargarlo en su NodeMCU. Si está hecho, debe ver algo similar a lo que se muestra a continuación en su Monitor serie:

Conectando a Adafruit IO…

Adafruit IO conectado. Enviando -> 23 Enviando -> 78

La foto 1 es el monitor en serie cuando está en modo de alerta.

¿No funciona? Verifique lo siguiente- Verifique si config.h está incluido de la manera correcta- ¿Ha ingresado el nombre de usuario y la clave de Adafruit IO correctos? Sensor muscular a la derecha y desde la tira de LED de Neopixel

O consulte los pasos anteriores.

Paso 6: Resultados

¡Hurra, has terminado! Para demostrar y ver el producto final en acción, he incluido un video.

Recomendado: