Índice:

Digitando com EMG usando MyoWare: 8 etapas
Digitando com EMG usando MyoWare: 8 etapas

Vídeo: Digitando com EMG usando MyoWare: 8 etapas

Vídeo: Digitando com EMG usando MyoWare: 8 etapas
Vídeo: EMG Sensing Circuit (no Arduino needed) - Experimenting On Myself - Part 2 2024, Novembro
Anonim
Digitando com EMG usando MyoWare
Digitando com EMG usando MyoWare

Autores:

L. Elizabeth Crawford e Dylan T. Vavra

Introdução:

Neste tutorial, vamos mostrar a você como criar um sistema simples de eletromiografia em casa (EMG) - ao custo de cerca de US $ 100 - que detectará a ativação muscular da superfície da pele e usará para enviar um pressionamento de tecla para um computador, ignorando o teclado. Usamos um clássico MaKey MaKey e um sensor MyoWare para fazer isso, junto com um pouco de codificação. Este projeto também requer um pouco de solda. Dicas úteis para técnica de soldagem e segurança podem ser encontradas aqui.

Primeiro, mostraremos como fazer isso usando um sensor MyoWare. Em seguida, mostraremos como adicionar um segundo ao sistema (para nossos propósitos, usamos dois).

Nossa esperança é que outros sejam capazes de imitar esta tecnologia DIY EMG, adaptá-la às suas necessidades específicas e usá-la para qualquer número de aplicações interessantes. Nós o usamos em nosso laboratório de Psicologia Experimental na Universidade de Richmond para replicar pesquisas mostrando que as pessoas imitam as expressões faciais dos outros.

Etapa 1: Reúna seus materiais

Reúna seus materiais
Reúna seus materiais

Materiais:

  • Computador
  • MaKey MaKey com cabo USB que acompanha (você deve conseguir fazer isso com um Arduino Leonardo também, mas não experimentamos)
  • Isolador de energia USB (a menos que esteja funcionando em um laptop alimentado por bateria), como o isolador USB Adafruit - USB 100mA isolado de baixa / máxima velocidade (não ilustrado)
  • Sensor (es) MyoWare
  • Eletrodos (x3 por sensor MyoWare) - usamos eletrodos de superfície descartável de EMG / ECG / EKG Covidien Kendall 1 "(24 mm)
  • Cabeçalhos separáveis (usamos cabeçalhos em forma de L)
  • Fios com conector macho em uma extremidade, fêmea na outra
  • Solda
  • Fita isolante

Ferramentas:

  • Ferro de solda
  • Cortador de arame
  • Divisor de fio

Programas:

IDE Arduino com complemento MaKey MaKey

Etapa 2: Prepare o Sensor MyoWare

Prepare o sensor MyoWare
Prepare o sensor MyoWare

1. Quebre um conjunto de três cabeçotes separáveis para soldar no MyoWare.

2. Com o sensor MyoWare posicionado com o bíceps voltado para cima, insira a extremidade mais curta dos três cabeçalhos por baixo nos orifícios que têm um "+" (sinal de mais ", um" - "(sinal negativo) e" SIG " ao lado deles. (Veja a imagem acima.)

3. Solde os cabeçalhos no lugar.

Etapa 3: Conecte o Sensor MyoWare ao MaKey MaKey

1. Escolha três fios (de preferência de cores diferentes), macho em uma extremidade e fêmea na outra. O comprimento dos fios necessários depende da distância que você deseja que o MyoWare esteja do MaKey MaKey. Para ter o MyoWare no rosto e o MaKey MaKey apoiado em uma mesa, você precisará de cerca de 18 polegadas.

2. Decida qual função o fio de cada cor servirá. Um será usado para alimentação (conectando no conector + no sensor MyoWare), um será usado para aterramento (conectando no conector - no sensor MyoWare), e o terceiro será usado como o fio de sinal (conectando no Conector SIG no MyoWare). Nas fotos mostradas neste instrutível, estamos usando verde para alimentação, marrom para aterramento e cinza para sinal.

Etapa 4: Carregar Sketch para o MaKey MaKey

Faça upload do Sketch para o MaKey MaKey
Faça upload do Sketch para o MaKey MaKey
Faça upload do Sketch para o MaKey MaKey
Faça upload do Sketch para o MaKey MaKey
Faça upload do Sketch para o MaKey MaKey
Faça upload do Sketch para o MaKey MaKey

1. Instale o Arduino IDE em seu computador (tutorial aqui).

2. Instale o complemento MaKey MaKey para Arduino (tutorial aqui) abrindo suas preferências do Arduino (Arquivo> Preferências), indo para a caixa de texto URLs adicionais do gerenciador de placa e colando:

raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

3. No IDE do Arduino, clique em arquivo, puxe para baixo para criar um novo esboço. Copie e cole este código na janela de texto:

/ * limites para registrar um pressionamento de tecla * / const int thresh1 = 1000; / * atribuição de entradas na MaKey MaKey * / const int sensor1Pin = A3; #include "Keyboard.h" int LED (9); configuração vazia () { pinMode (LED, OUTPUT); Serial.begin (9600);} / * O código abaixo mostra o MyoWare a cada 50 ms, envia seu valor para a porta serial e, se o valor estiver acima do limite, envia um pressionamento de tecla. Você pode amostrar com mais frequência, reduzindo o atraso. Isso tornará os valores mais difíceis de ler na janela serial. * / Void loop () {int sensor1Val = analogRead (sensor1Pin); Serial.println (sensor1Val); if (sensor1Val> = thresh1) {Keyboard.begin (); / / Envia o pressionamento da letra "c" Keyboard.write ('c'); // espera 50 ms antes da amostragem againdelay (50);} else // aguarda 50 ms antes da amostragem againdelay (50);}

4. Conecte a MaKey MaKey ao seu computador. Abra o menu de ferramentas e verifique se a placa selecionada é Arduino Leonardo ou MaKey MaKey. Abra o menu de ferramentas até Porta e certifique-se de que a porta selecionada tenha o nome da placa selecionada. Carregue seu esboço para a placa clicando na seta voltada para a direita na parte superior do Arduino IDE.

Etapa 5: conecte todos os seus componentes

1. Conecte os fios do sensor MyoWare ao MaKey MaKey da seguinte forma:

  • O "+" no MyoWare vai para o slot de 5 V no MaKey MaKey.
  • O "-" no MyoWare vai para o solo ("terra") no MaKey MaKey.
  • O "SIG" no MyoWare vai para o slot A3 no MaKey MaKey.

2. Coloque três eletrodos no MyoWare.

3. Conecte o MaKey MaKey. Se estiver usando um computador conectado a uma tomada elétrica, conecte a MaKey MaKey a um isolador de alimentação USB e, em seguida, conecte-o à porta USB do computador. (Esta é uma precaução de segurança para que, se algo der errado com a fonte de alimentação do seu computador, o usuário não esteja diretamente conectado à rede elétrica. É improvável que tal problema ocorra, mas preferimos que você esteja seguro.) Se estiver usando um laptop sem bateria (ou seja, NÃO CONECTADO NA PAREDE), você estará seguro sem o isolador.

4. Verifique se tudo está ligado. O LED vermelho MaKey MaKey e o LED verde MyoWare devem estar acesos.

5. Limpe a pele onde deseja colocar o MyoWare com álcool isopropílico para remover a sujeira e a oleosidade.

6. Retire o adesivo protetor dos eletrodos e fixe o MyoWare na pele. Você deseja que os dois eletrodos que estão no MyoWare fiquem no topo do músculo do qual você deseja gravar. O eletrodo preso ao fio serve de comparação e deve ser colocado fora do músculo em uma área que não estará ativa quando o músculo-alvo for contraído.

7. Verifique o adesivo nos eletrodos para certificar-se de que há uma boa vedação na pele. Pode ser necessário pressionar as bordas dos anéis adesivos na pele para obter uma boa vedação.

Etapa 6: Definindo Limites no Arduino IDE

Definindo Limites no Arduino IDE
Definindo Limites no Arduino IDE

1. Com tudo conectado e ligado, abra o monitor serial no IDE do Arduino clicando na ferramenta de lupa no canto superior direito.

2. O monitor serial agora deve mostrar os valores de sinal do MyoWare. Conforme você flexiona e relaxa o músculo, você deve ver os valores mudarem de acordo. Você também deve ver o LED vermelho no MyoWare acender quando você contrair o músculo com força suficiente.

3. Enquanto observa o monitor serial, contraia o músculo com intensidades diferentes, certificando-se de relaxar entre as contrações para voltar à linha de base. Determine um valor limite acima do qual você deseja que a contração produza um pressionamento de tecla. Valores mais altos exigirão uma contração mais forte para registrar o pressionamento de tecla; valores mais baixos o tornarão mais sensível a pequenas contrações, mas também mais sujeito a alarmes falsos.

4. No esboço do Arduino, altere o valor do limite (const int thresh1) de 1000 para o limite escolhido.

5. Feche o monitor serial, carregue novamente o esboço e comece a digitar com EMG. Você pode achar que precisa reajustar o limite para obter a sensibilidade onde deseja. Você também pode experimentar o atraso para que a amostragem seja mais ou menos frequente.

Etapa 7: Aproveite o uso de seu novo sistema de EMG feito em casa

Divirta-se usando seu novo sistema de EMG feito em casa!
Divirta-se usando seu novo sistema de EMG feito em casa!

Você pode colocar os eletrodos em vários lugares do corpo (por exemplo, no rosto, como nosso ciborgue de laboratório Kyle Lee descreveu acima).

Experimente os locais para colocar os eletrodos e as muitas possibilidades do que você poderia fazer com os pressionamentos de tecla.

Além disso, continue lendo para aprender como adicionar outro sensor MyoWare a este sistema.

Etapa 8: Adicione um segundo sensor ao seu sistema EMG

Adicione um segundo sensor ao seu sistema EMG
Adicione um segundo sensor ao seu sistema EMG

1. Repita a Etapa 2 para um segundo sensor MyoWare.

2. Para conectar vários sensores a uma MaKey MaKey, você precisará encontrar uma maneira de fornecer energia a cada um. Fizemos um pouco de descascamento, soldagem e fita para criar um conector em forma de Y (veja a imagem acima), dividindo a saída única da fonte de alimentação da MaKey MaKey em dois fios que se conectam à entrada de alimentação "+" em cada de dois MyoWares.

3. Conecte os slots "SIG" nos sensores MyoWare a diferentes slots A no lado direito da MaKey MaKey (o código que fornecemos abaixo pressupõe que você esteja usando A3 e A4).

4. Faça upload do esboço para dois sensores:

/ * este esboço lê dois sinais de sensores MyoWare e envia um pressionamento de tecla 'b' quando um ultrapassa o limite e 'c' quando o outro ultrapassa o limite. * // * definir limites * / const int thresh1 = 1000; const int thresh2 = 1000; / * atribuição de entradas no MaKey MaKey * / const int sensor1Pin = A3; const int sensor2Pin = A4; #include "Keyboard.h" int LED (9); void setup () {pinMode (LED, OUTPUT); Serial.begin (9600);} loop vazio () {int sensor1Val = analogRead (sensor1Pin); int sensor2Val = analogRead (sensor2Pin); Serial.print (sensor1Val); Serial.print (","); Serial.println (sensor2Val); if (sensor1Val> = thresh1) {Keyboard.begin (); // Enviar keypress cKeyboard.write ('c'); delay (50);} if (sensor2Val> = thresh2) {Keyboard.begin (); // Enviar keypress bKeyboard.write ('b'); delay (50);} else // esperar 50 ms antes da amostragem againdelay (50);}

5. Agora, as duas leituras musculares devem ser visíveis no monitor serial. Defina cada limite separadamente no esboço do Arduino, assim como na Etapa 6, e recarregue o esboço.

Agora o seu sistema EMG terá duas entradas separadas

Se você começar a se sentir um pouco selvagem, poderá seguir procedimentos semelhantes para adicionar mais sensores MyoWare ao sistema. Se você começar a se sentir MUITO selvagem, pode até adicionar outra MaKey MaKey ao sistema. Nós encorajamos você a experimentar este design.

Recomendado: