Índice:
- Etapa 1: a fiação do transmissor
- Etapa 2: o receptor
- Etapa 3: Programando os dispositivos
- Etapa 4: melhorias
Vídeo: Botões de joystick / roda do PC sem fio: 4 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Eu tenho criado um novo simulador de corrida nos últimos anos e decidi usar um volante DIY Direct Drive. Embora esse projeto sozinho possa ser vários instructables em si, este é um instructable sobre como tornar todos os botões no volante sem fio.
Porque?
- A roda DD tem rotações ilimitadas, então ter fios ligados a ela seria irritante.
- Sem capacidade de rotear cabos através do eixo da roda, como nas rodas comerciais
- Eu queria ser capaz de trocar facilmente as rodas com diferentes configurações de botão
- Porque eu poderia:)
Para atingir o objetivo dos botões sem fio, precisamos considerar:
- Entrega de energia
- Conectividade sem fio
- Tempo de reação / atraso
- Confiabilidade
Os seguintes componentes foram escolhidos para atender a estes critérios: Tx - Arduino Nano com módulo NRF24 integrado aqui ou use um Nano genérico ou Pro Mini + Módulo NRF24 Rx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + módulo NRF24 USB 'Banco de bateria' - Qualquer banco de bateria 18650 único genérico deve funcionar. Isso vai durar cerca de 20 horas! Você pode querer verificar se ele pode carregar e fornecer energia ao mesmo tempo. Isso é útil se ele funcionar sem problemas e você quiser carregá-lo e usá-lo ao mesmo tempo.
Além disso, você precisará dos botões e de um botão liga / desliga de sua escolha, algum fio de conexão e possivelmente um tubo termorretrátil.
Isso também pode ser usado em uma 'caixa de botão' em vez de em uma roda, mas imaginei que haveria menos demanda para isso, pois não há muita vantagem se ele não se mover.
Ferramentas necessárias:
Ferro de soldar e soldaUma pistola de cola quente também é útil para montar as peças. Arduino IDE instalado no computador.
Etapa 1: a fiação do transmissor
Comece montando quantos interruptores forem necessários em seu volante e considere a localização do Arduino. Conecte todos os fios aos interruptores de acordo com o diagrama. Cada botão será conectado com um lado ao GND e o outro ao pino Arduino associado. O código permite 14 interruptores / botões que devem ser suficientes para a maioria das rodas.
Se você usa o Nano com o módulo NRF embutido, obviamente não precisa adicionar a fiação associada para isso, apenas conecte os botões.
Os botões estão nesta ordem (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5
Mas por que apenas 14 botões? A razão para isso é porque podemos ler um banco completo de pinos rapidamente e transmitir apenas 2 bytes de dados não demora muito - embora isso pudesse ser modificado para incluir mais botões (por meio de uma matriz) e / ou entradas analógicas, isso tornaria as coisas um pouco mais lentas. A leitura da matriz e as leituras / conversão analógicas levam tempo do processador. Eu só precisava de 12 botões no meu volante, então optei por eles, mas consideraria adicionar mais.
PowerPara a alimentação, você tem duas opções - Você pode deixar o banco de baterias intacto e apenas prendê-lo ao volante de alguma forma. Isso lhe dá a vantagem adicional de poder desconectar a energia do arduino, evitando ter um switch embutido e alguma fiação.
Se você preferir uma solução mais personalizada, pode ser necessário abrir o banco de baterias e reaproveitar os componentes internos em sua configuração personalizada.
Eu não tinha espaço na roda para deixá-lo intacto, então ele foi retirado. Eu removi o conector USB padrão da placa de carga e soldou os fios +5 e Gnd dos pads da porta USB ao Arduino por meio de um switch. É um pouco difícil detalhar isso por causa das muitas opções disponíveis …
O circuito foi então montado dentro da roda, expondo o conector de carga micro USB.
A placa de carga terá um ou mais LEDs para exibir o status da carga - é útil torná-los visíveis de alguma forma ou usar algum plástico para 'portá-los' para algum lugar visível para que você saiba quando terminou de carregar.
Para os interessados, meu design de roda é da Amstudio - alguns designs de peças de simulação de corrida DIY excelentes estão disponíveis a preços razoáveis.
Etapa 2: o receptor
Basta seguir o diagrama de fiação anexado. Se você não estiver usando um Leonardo, você PRECISARÁ de um regulador externo de 3.3v, como o AMS1117. O regulador Pro Micro não pode fornecer corrente suficiente para o módulo NRF24 e o besouro não tem nenhum.
Codifiquei por cores as conexões para o módulo NRF da mesma forma para o Pro Micro e o besouro.
O Arduino 'Beetle', que é muito fácil de encontrar nos lugares comuns, mas mais uma vez, o regulador de 3.3v precisará ser usado, pois ele não tem nenhum. Eu testei isso e funciona bem também. As conexões são as mesmas
Etapa 3: Programando os dispositivos
Se você ainda não tem o IDE do Arduino instalado, acesse https://www.arduino.cc e baixe a versão adequada para seu sistema operacional para este exemplo estou no windows.
Depois de configuradas, você precisará de duas bibliotecas diferentes - A primeira é fácil por meio do Sketch -> Incluir Biblioteca -> Gerenciar Bibliotecas (ou CTRL + SHIFT + I)
NRFLite por Dave Parson (versão 2.2.2 a partir da publicação)
O segundo precisará ser instalado manualmente em
Clique em 'Clonar ou Baixar' e depois em 'Baixar o ZIP e abra o arquivo baixado. Em seguida, você terá que clicar nas pastas até ver uma pasta 'Joystick' - Copie para a pasta Bibliotecas do Arduino (no Windows, geralmente está em Documentos -> Arduino -> Bibliotecas.
Reinicie o IDE do Arduino
Se estiver usando o Pro Micro para o receptor, você também precisará adicionar essa placa ao IDE. Arquivo -> Preferências -> URLs adicionais do gerenciador de placas:
digite:
Em seguida, vá para Ferramentas -> Gerenciador de placas, pesquise Sparkfun e instale 'Sparkfun AVR Boards'
Agora estamos prontos! Vamos começar com o transmissor - Conecte-o ao seu PC
Em Ferramentas -> Placa, selecione 'Arduino Nano' (ou qualquer variante que você decidiu usar). Verifique também a porta COM no menu de ferramentas.
Abra o arquivo Wireless_Wheel_Tx anexado.
Há apenas uma linha que você pode querer alterar neste código e é:
int nrfChannel = 22;
Você tem até 126 canais que pode usar no espectro de 2,4 GHz. Não deve haver problema em deixar como está, mas se você achar que tem problemas de confiabilidade, talvez mude para um número diferente.
Em seguida, basta clicar no botão 'upload' e aguardar o término.
O mesmo vale para Leonardo / Pro Micro / Beetle - Selecione a placa que deseja - Para Leonardo e Beetle, selecione a placa Arduino leonardo. Para o Pro Micro, selecione e selecione também a variante / processador Atmega32u4 (5v, 16Mhz), abra o arquivo Wireless_Wheel_Rx, altere a configuração nrfChannel (se você mudou no Tx) e programe.
Assim que o dispositivo for reiniciado na programação, seu computador deve detectar um dispositivo de joystick. Se você também ligar o transmissor, poderá pressionar os botões e fazer com que apareça no status do dispositivo!
Uma característica incidental interessante é que você obterá uma luz de status no Leonardo e no Pro Micro - O led USB TX acenderá quando houver conexão com os botões. No entanto, isso não está presente no besouro.
ATUALIZADO EM 2021-02-13
Eu adicionei 2 arquivos extras (Tx e Rx) ao instructable aqui para uma versão com 4 entradas analógicas, bem como uma matriz de botão 3X8. Quase sempre não testado, pode haver atraso. Por favor, tente e comente.
Etapa 4: melhorias
LED de energia Depois de usar essa solução por um tempo, tive o hábito de deixar o volante acidentalmente ligado. Para ajudar a combater isso, adicionei um LED na frente para que pudesse ver que a roda estava ligada. Este é apenas um simples led de 3 mm executado a partir de 5v no arduino por meio de um resistor. A parte superior é lixada para difundir um pouco a luz e evitar reflexos.
Medidor de nível de bateria Comprei alguns medidores de nível de bateria da BG ou Ali, mas quando eles chegaram eram muito maiores do que o que eu esperava, mas isso é algo que ainda quero acrescentar. Existem muitas opções disponíveis para isso, mas como a bateria dura muito, eu costumo recarregar depois de algumas horas de uso.
Botões / codificadores / entradas analógicas extras. Ainda estou pensando nisso. Para mim, não é tão importante para as corridas que faço, mas para coisas como F1 é provavelmente mais útil. Vou considerar duas versões ou adicionar isso se houver demanda suficiente, mas isso pode afetar o tempo de resposta nos botões.
Recomendado:
Robô Arduino sem fio usando módulo sem fio HC12: 7 etapas
Robô Arduino sem fio usando módulo sem fio HC12: Olá pessoal, bem-vindos de volta. Em meu post anterior, eu expliquei o que é um circuito de ponte H, L293D motor driver IC, pegando carona L293D Motor driver IC para dirigir drivers de motor de alta corrente e como você pode projetar e fazer sua própria placa de driver de motor L293D
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio TP Link WN7200ND USB no trecho Raspbian: 6 etapas
Ponto de acesso sem fio com alcance de cinquenta metros com adaptador sem fio USB TP Link WN7200ND no Raspbian Stretch: Raspberry Pi é ótimo para criar pontos de acesso sem fio seguros, mas não tem um bom alcance, usei um adaptador sem fio USB TP Link WN7200ND para estendê-lo. Quero compartilhar como fazer por que quero usar um pi de framboesa em vez de um roteador?
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: 4 etapas
Faça você mesmo de microfone sem fio para sistema de guitarra sem fio: Tenho assistido a alguns vídeos e bandas e quase todas usam um sistema sem fio na guitarra. Enlouquecer, mover-se, caminhar e fazer o que quiserem sem o cabo, então sonho em ter um .. Mas .. para mim agora é muito caro então eu vim para isso
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: 4 etapas
Transforme uma campainha sem fio em um interruptor de alarme sem fio ou botão liga / desliga: recentemente construí um sistema de alarme e o instalei em minha casa. Usei interruptores magnéticos nas portas e os conectei através do sótão. As janelas eram outra história e fiação direta não era uma opção. Eu precisava de uma solução sem fio e isso é
Converter roteador sem fio em ponto de acesso 2x do extensor sem fio: 5 etapas
Converter Roteador Wireless em Ponto de Acesso Wireless Extender 2x: Eu tinha uma conexão de internet wireless ruim em minha casa devido a um RSJ (viga de suporte de metal no teto) e queria aumentar o sinal ou adicionar um extensor extra para o resto da casa. Eu tinha visto extensores por cerca de £ 50 em um eletro