Índice:
- Suprimentos
- Etapa 1: Soldar os cabos de ligação ao controlador
- Etapa 2: Crie a configuração da placa de ensaio e conecte o controlador
- Etapa 3: teste com streaming de dados sintéticos
- Etapa 4: configure sua placa e eletrodos OpenBCI
- Etapa 5: conecte-se aos dados reais
- Etapa 6: Batalha
- Etapa 7: Solução de problemas - Código de controle do teclado
Vídeo: Neurobots Battle Royale: Hexbugs de combate controlados por músculos: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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
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
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
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
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
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:
Braço robótico 3D com motores de passo controlados por Bluetooth: 12 etapas
Braço robótico 3D com motores de passo controlados por Bluetooth: Neste tutorial veremos como fazer um braço robótico 3D, com motores de passo 28byj-48, um servo motor e peças impressas em 3D. Placa de circuito impresso, código-fonte, diagrama elétrico, código-fonte e muitas informações estão incluídos no meu site
Disco portátil V2 - LEDs controlados por som: 11 etapas (com imagens)
Disco portátil V2 - LEDs controlados por som: Percorri um longo caminho em minha jornada pela eletrônica desde que fiz meu primeiro disco portátil. Na construção original, cortei um circuito na placa de protótipo e consegui construir uma pequena discoteca de bolso. Desta vez, projetei meu próprio PCB e
Neopixels controlados por smartphone (faixa de LED) com aplicativo Blynk por WiFi: 6 etapas
Neopixels controlados por smartphone (faixa de LED) com Blynk App Over WiFi: Criei este projeto depois de me inspirar em neopixels controlados por smartphone na casa de um amigo, mas os dele foram comprados em uma loja. Pensei " quão difícil pode ser fazer o meu, seria muito mais barato também! &Quot; É assim. Observação: presumo que você seja fa
LEDs de Bluetooth controlados por smartphone (com sincronização de música ao vivo): 7 etapas
LEDs Bluetooth controlados por smartphone (com sincronização de música ao vivo): Sempre adorei construir coisas, depois que descobri que meu novo dormitório da faculdade tinha péssima iluminação, decidi incrementá-lo um pouco. *** AVISO *** Se você construir este projeto na mesma escala da minha configuração, você trabalhará com uma quantidade decente de ele
Monitores duplos de 7 segmentos controlados por potenciômetro no CircuitPython - Demonstração de persistência da visão: 9 etapas (com imagens)
Monitores duplos de 7 segmentos controlados por potenciômetro no CircuitPython - Demonstração de persistência da visão: Este projeto usa um potenciômetro para controlar o display em alguns visores de LED de 7 segmentos (F5161AH). Conforme o botão do potenciômetro é girado, o número exibido muda na faixa de 0 a 99. Apenas um LED acende a qualquer momento, muito brevemente, mas o