Índice:
- Etapa 1: Soldar os cabeçalhos dos pinos para as portas de E / S adicionais do Arduino
- Etapa 2: adicionar a biblioteca de joystick do Arduino ao seu IDE
- Etapa 3: atualize o código no Arduino
- Etapa 4: faça a fiação
- Etapa 5: vincular o receptor
- Etapa 6: ajuste o código às suas circunstâncias
- Etapa 7: calibrar o joystick emulado
Vídeo: R / C para USB Bridge: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Converte sinais PPM de um receptor de rádio em posições de joystick
Use-o para jogar seus jogos favoritos e simuladores de vôo com seu transmissor de rádio R / C. Este Instructable usa um Arduino da littleBits e um receptor DSMX mais um trecho de código simples para fazer essa conversão.
Você vai precisar
- Poder
- Arduino
- Cabos USB
- cabeçalhos de alfinetes
- fio de ligação
- um receptor de rádio com saída PPM.
Etapa 1: Soldar os cabeçalhos dos pinos para as portas de E / S adicionais do Arduino
Para alimentar o receptor (RX), cabeçalhos de pinos precisam ser adicionados ao Arduino. Isso também tornará a fiação entre o bit e o RX muito mais fácil. Consulte https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit para obter mais informações.
Etapa 2: adicionar a biblioteca de joystick do Arduino ao seu IDE
Você pode encontrar a biblioteca no GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… Obrigado, Matthew Heironimus, por escrevê-la.
Apenas alguns Arduinos podem emular um HID como um joystick. Como o microcontrolador littleBits é um Arduino Leonardo no coração, você está pronto para começar.
Etapa 3: atualize o código no Arduino
#include #define inputPin 16 # define canais 4 #define lo 800 // ajusta a saída de RX # define hi 1600 // ajusta a saída de RX # define filtro 10int canal [canais]; int previousValue [canais]; contador interno = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, verdadeiro, verdadeiro, falso, falso, falso, falso, verdadeiro, verdadeiro, falso, falso, falso); configuração void () {Joystick.setXAxisRange (lo, Oi); Joystick.setYAxisRange (lo, hi); Joystick.setThrottleRange (lo, hi); Joystick.setRudderRange (lo, hi); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= canais-1; i ++) {canal = pulseIn (inputPin, HIGH); } para (int i = 0; i <= canais-1; i ++) {if ((canal > 2000) || (canal <500)) {canal = valor anterior ; } else {canal = (valor anterior + canal ) / 2; contador ++; }} Joystick.setXAxis (canal [0]); Joystick.setYAxis (canal [1]); Joystick.setThrottle (canal [2]); Joystick.setRudder (canal [3]); } if (contador> filtro) {para (int i = 0; i <= canais-1; i ++) {Serial.print ("canal"); Serial.print (i + 1); Serial.print (":"); Serial.println (canal ); valor anterior = canal ; } contador = 0; }}
Esteja ciente de que o código que faz a ponte entre o sinal R / C e o USB HID emulado vem em sua forma mais simples. A função usada aqui - pulseIn - é uma função de bloqueio. Leia aqui e aqui como implementar uma abordagem sem bloqueio usando interrupções.
Etapa 4: faça a fiação
Conecte os cabos jumper / DuPont entre o Bit e o RX. Os conectores nas extremidades desses cabos precisam ser fêmeas. Conectamos GND (azul), VCC (marrom) e sinal (laranja) da porta PPM do RX ao GND, VCC e d16 no Arduino.
Etapa 5: vincular o receptor
Desconecte o Arduino da alimentação. Coloque o chicote de amarração no local do conector marcado BIND no RX. Ligue o seu transmissor de rádio e coloque-o no modo de ligação. Em seguida, aplique energia ao Arduino. O processo de vinculação foi bem-sucedido quando o LED do receptor acende.
Etapa 6: ajuste o código às suas circunstâncias
As constantes hi e lo no esboço do Arduino precisam ser alteradas para refletir a saída real do receptor que você está usando.
#define lo 800
#define hi 1600
Os sinais dentro do pulso PPM variam idealmente de 1000μs a 2000μs. O RX usado neste Instructable emite valores aproximadamente entre 800 e 1600 e é ligeiramente diferente em cada canal. Para descobrir qual o alcance do seu receptor, abra o Serial Monitor no Arduino IDE para ver a saída do seu RX. Será semelhante a este:
canal 1: 728
canal 2: 729 canal 3: 703 canal 4: 726 canal 1: 1681 canal 2: 1639 canal 3: 1613 canal 4: 1676
Depois de ter uma ideia mais clara da faixa de saída de seu RX, escolha boas aproximações para hi e lo e altere as constantes de acordo. Em seguida, carregue o esboço para o Arduino novamente.
Etapa 7: calibrar o joystick emulado
Conecte o dispositivo ao seu computador e use a função de calibração do seu sistema operacional para calibrar o joystick emulado. Uma boa ferramenta para Linux é jstest-gtk.
Outras melhorias
- Escreva um código sem bloqueio (consulte a Etapa 3)
- Defina intervalos por canal, não globalmente (consulte a Etapa 6)
Leitura adicional
- Redcon CM703
- PPM
Recomendado:
Usando solenóides pulsados com Wemos D1 Mini e H-Bridge para irrigação: 7 etapas
Usando solenóides pulsados com Wemos D1 Mini e H-Bridge para irrigação: Para este instrutível, eu queria criar uma solução para que eu pudesse ligar remotamente um sistema de aspersão ou regar automaticamente minhas mudas. Vou usar um wemos D1 para controlar solenóides pulsados. Esses solenóides usam muito menos energia porque quando eles recebem
Luz reativa para música -- Como tornar uma luz reativa para música super simples para tornar a área de trabalho incrível: 5 etapas (com imagens)
Música reativa luz || Como fazer música super simples luz reativa para tornar a área de trabalho incrível .: Ei, e aí galera, hoje vamos construir um projeto muito interessante. Hoje vamos construir uma luz reativa musical. O led mudará seu brilho de acordo com o baixo, que na verdade é um sinal de áudio de baixa frequência. É muito simples de construir. Vamos
Convença-se a usar apenas um inversor de linha de 12 V para CA para cordas de luz de LED em vez de reconfigurá-las para 12 V: 3 etapas
Convença-se a usar apenas um inversor de linha 12 V para CA para cordas de luz de LED em vez de reconfigurá-las para 12 V: Meu plano era simples. Eu queria cortar um fio de luz LED alimentado pela parede em pedaços e religá-lo para funcionar com 12 volts. A alternativa era usar um inversor de potência, mas todos sabemos que eles são terrivelmente ineficientes, certo? Direito? Ou são eles?
Instruções para fazer um acessório de articulação de quatro barras para apoio para os pés montado no centro: 9 etapas (com fotos)
Instruções para fazer um acessório de articulação de quatro barras para apoio para os pés montado no centro: As cadeiras de rodas elétricas de tração média (PWC) se tornaram mais populares nos últimos anos. No entanto, devido à colocação dos rodízios dianteiros, os apoios para os pés tradicionais montados na lateral foram substituídos por um único apoio para os pés montado no centro. Infelizmente, centre-mou
Adaptador 12v para USB Transformador 12v para 5v (ótimo para carros): 6 etapas
Adaptador de 12v para USB Transformador de 12v para 5v (ótimo para carros): Isso mostrará como fazer um adaptador de 12v para USB (5v). O uso mais óbvio disso é para adaptadores de carro de 12v, mas em qualquer lugar que você tenha 12v, você pode usá-lo! Se você precisar de 5v para qualquer outra coisa que não seja USB, simplesmente pule as etapas sobre como adicionar as portas USB