Índice:

Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 etapas
Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 etapas

Vídeo: Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 etapas

Vídeo: Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 etapas
Vídeo: Радиоуправляемый шунт TEAR DOWN Robot Wars 40 МГц 2024, Novembro
Anonim
Neurobots Battle Royale: Hexbugs de combate controlados por músculos
Neurobots Battle Royale: Hexbugs de combate controlados por músculos

Este tutorial mostra como usar dados EMG transmitidos por meio de hardware OpenBCI e a GUI OpenBCI para controlar as ações de um Hexbug. As capacidades de batalha desses hexbugs podem então ser controladas por seus próprios músculos, e você será capaz de se envolver em lutas Hexbug por conta própria!

Habilidades de fundo úteis:

  • Conhecimento de Arduino ou programação baseada em C

    Arduino Basics

  • Como configurar o kit de bandana OpenBCI com Cyton ou Ganglion

    Isso ajudará você a configurar e trabalhar com as placas OpenBCI

  • Streaming de dados EMG com OpenBCI

Algum conhecimento prévio sobre dados EMG

Suprimentos

  • Hardware

    • Um computador que atenda aos requisitos de sistema da GUI
    • Hexbug 2.0 Dual Pack
    • Eletrodos de gel sólido de espuma EMG / ECG (30 / pacote)
    • Cabos de eletrodo de pressão EMG / ECG
    • OpenBCI Cyton Board ($ 500) ou Ganglion Board ($ 200)
    • 20 cabos jumper macho-macho
    • Tábua de pão
    • 10 x 10kΩ resistores
    • Arduino Genuino Uno
    • 5 LEDs opcionais (para conectar para depuração)
  • Programas

    • GUI OpenBCI
    • O IDE Arduino
    • Código Fornecido
  • Guias de primeiros passos do OpenBCI

    • GUI OpenBCI
    • Ganglion ou Cyton

Etapa 1: Soldar os cabos de ligação ao controlador

Soldar cabos de ligação para controlador
Soldar cabos de ligação para controlador
Soldar cabos de ligação para controlador
Soldar cabos de ligação para controlador
Soldar cabos de ligação para controlador
Soldar cabos de ligação para controlador

1.1 Remova a tampa do controlador

Retire o invólucro de plástico transparente prendendo uma chave de fenda ou outra ferramenta nas quatro abas de travamento do controlador. Segure-se no comutador de canal deslizante e na própria caixa. Todos os outros botões podem ser descartados.

Remova os botões com fita adesiva e descarte. Além disso, desfaça a solda do botão “Fire” e descarte.

1.2 Solda em cabos de jumper

Em seguida, solde cada um dos cabos jumper macho-macho aos pequenos círculos internos onde estavam os botões para a frente, para trás, para a esquerda e para a direita. Solde também as conexões ao cabo de incêndio removido e o pino de aterramento à sua esquerda.

1.3 Substitua a tampa do controlador

Usando uma tesoura ou um canivete, corte pedaços da tampa de plástico transparente que possam interferir na posição dos cabos de jumper e reinstale-o no controlador, mantendo a chave de canal na posição.

Reutilizamos a tampa para que o comutador de canal deslizante permaneça efetivamente em contato com os patches condutores na placa.

Etapa 2: Crie a configuração da placa de ensaio e conecte o controlador

Crie a configuração da placa de ensaio e conecte o controlador
Crie a configuração da placa de ensaio e conecte o controlador
Crie a configuração da placa de ensaio e conecte o controlador
Crie a configuração da placa de ensaio e conecte o controlador
Crie a configuração da placa de ensaio e conecte o controlador
Crie a configuração da placa de ensaio e conecte o controlador

Recrie a configuração conforme mostrado acima.

Explicação:

2.1 Coloque os pinos do controlador na placa de ensaio

Cada comando estará situado em sua própria linha. Coloque cada pino em sua própria linha na parte interna da placa de ensaio. De cima para baixo, a ordem deles deve ser direita, esquerda, frente, fogo.

2.2 Adicionar resistores

Depois de inserir esses pinos, adicione um resistor de 10KΩ ligando os dois lados da placa de ensaio. Isso corrige a quantidade de corrente que vai para cada pino, o que permite que o bug funcione corretamente.

2.3 Adicionar LEDs de verificação de erros

Para fins de visualização, neste ponto também podemos adicionar um LED. O ânodo do LED deve estar alinhado com o pino de controle e o resistor, e o cátodo está em uma linha separada da placa de ensaio. Conecte outro resistor da linha do cátodo ao aterramento da placa de ensaio. Observe que esta etapa é opcional, mas pode ajudar a solucionar quaisquer erros com o circuito.

2.4 Conecte a configuração ao Arduino

Finalmente, adicione outro cabo jumper para conectar cada linha a um pino Arduino. É importante que correspondam da seguinte forma:

3 - Fogo 4 - Avançado 5 - Esquerda 6 - Direita

Etapa 3: teste com streaming de dados sintéticos

Teste com streaming de dados sintéticos
Teste com streaming de dados sintéticos
Teste com streaming de dados sintéticos
Teste com streaming de dados sintéticos

3.1 Carregar Código de Amostra para o Quadro

Depois de baixar nosso código fornecido, abra no Arduino. Conecte sua placa ao laptop e certifique-se de selecioná-la como a porta no menu suspenso Ferramentas. Em seguida, carregue seu código para a placa Arduino.

3.2 Fluxo Sintético Aberto

8 canais funcionarão bem para este exemplo. Clique em “Iniciar Sistema” para continuar.

Depois de abrir a GUI, desligue os canais 6-8.

3.3 Widget de configuração de rede

Abra e configure o widget de rede conforme mostrado na imagem, usando o modo serial. Queremos que o tipo de dados seja "EMG".

Além disso, observe que a taxa de transmissão em nosso esboço do Arduino é 57600, portanto, selecionamos 57600 no menu suspenso Baud.

Certifique-se de selecionar a porta correta para o Arduino. É a mesma porta que usamos para fazer upload do esboço para o Arduino. Se estiver usando Mac / Linux, deve ser rotulado como "usbmodem" -diferente da placa OpenBCI que será rotulado como "usbserial."

Depois de confirmar que todas as informações estão corretas, pressione start!

3.4 Testes Executando

Como os dados sintéticos são muito mais difíceis de controlar, ajuste as configurações no widget EMG até que os quadrados sejam voláteis o suficiente para ultrapassar o valor limite enumerado no código. Se isso não for suficiente, pode ser do seu interesse alterar o valor limite no código e reenviar para o seu conselho.

Também pode ajudar desligar todos os canais, exceto um por vez, e testar cada comando um por um para garantir que todos estejam fazendo o que deveriam. Depois de confirmar que tudo está funcionando bem, você pode passar para os dados reais.

Etapa 4: configure sua placa e eletrodos OpenBCI

Configure sua placa e eletrodos OpenBCI
Configure sua placa e eletrodos OpenBCI
Configure sua placa e eletrodos OpenBCI
Configure sua placa e eletrodos OpenBCI

Existem duas direções que isso pode tomar: uma pessoa controlando todos os 5 comandos ou várias pessoas controlando comandos diferentes cada. Isso vai diferenciar a maneira como isso é feito.

Opção A: uma pessoa controlando todos os cinco comandos

Basta seguir as instruções neste tutorial de configuração de EMG da documentação do OpenBCI aqui.

Opção B: várias pessoas controlando comandos diferentes

Siga o tutorial de configuração de EMG do site da OpenBCI, mas com uma alteração: vários fundamentos devem ser emendados.

Para fazer isso, corte cerca de 3 polegadas dos fios de pino macho e a extremidade de um fio de pino fêmea e remova uma polegada de borracha das pontas para expor os fios internos. Repita isso para quantos fios machos forem necessários para dar a cada pessoa um aterramento individual. Emende essas extremidades expostas e coloque-as dentro de um tubo termorretrátil.

Etapa 5: conecte-se aos dados reais

Conecte-se a dados reais
Conecte-se a dados reais
Conecte-se a dados reais
Conecte-se a dados reais

Agora, volte para a página inicial da GUI e escolha LIVE (do Cyton) ou LIVE (do Ganglion) - dependendo da placa que você está usando - como a fonte de dados.

A partir daqui, abra o widget EMG e o widget de rede e comece a transmitir exatamente como antes. Agora, os dados devem ser transmitidos de sua entrada ao vivo!

Etapa 6: Batalha

Com tudo agora configurado, você está pronto para a batalha. Se duas configurações foram criadas, você pode usar os controles para a batalha.

Observe que os robôs devem ser ligados um de cada vez para garantir que os sinais sejam coletados de duas fontes exclusivas.

Cada hexbug tem três vidas e, depois que todas elas tiverem passado, basta pressionar o botão liga / desliga para zerar as pontuações.

Divirta-se e comece a lutar!

Etapa 7: Solução de problemas - Código de controle do teclado

Se você estiver tendo problemas com a configuração da placa e quiser controlá-la usando apenas a entrada do teclado, baixe este código para usar o monitor serial Arduino integrado para controlar o circuito. Isso permitirá que você isole cada ação e determine se o problema que está enfrentando vem da configuração física do Arduino ou dos dados.

Recomendado: