Índice:
- Etapa 1: preparação
- Etapa 2: Projete o layout da caixa
- Etapa 3: Medir e perfurar
- Etapa 4: ajuste os botões, rotativos e alternadores
- Etapa 5: Projete o layout da fiação
- Etapa 6: Solda
- Etapa 7: escrever o código
- Etapa 8: adicionar à sua plataforma
Vídeo: Caixa de botões do Sim Racing: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Bem-vindos, viciados em corridas de simulação!
Você está ficando sem teclas para mapear todos os controles do seu carro? Você provavelmente precisa de uma caixa de botão! Neste Instructable estaremos criando um do zero. A caixa de botão terá 32 (!) Estados de botão disponíveis. Nenhum software adicional é necessário para usar esta caixa de botão. Você aprenderá como configurar uma matriz de botão e escrever (ou copiar) código para fazer o upload para o seu Arduino.
É importante saber que a caixa de botão não suporta muitos botões pressionados simultaneamente.
Vamos começar!
Etapa 1: preparação
Você precisará de algumas ferramentas, botões e mais itens para criar a caixa de botões. Sinta-se à vontade para criar a caixa de botão de acordo com sua preferência.
Eletrônicos:
- Botões
- Alterna
- Codificadores rotativos
- Arduino Pro Micro
- Mini USB para cabo USB
- Fios
Ferramentas:
- Furar
- Solda
- Paquímetro
- Chaves de fenda
- Cortador
- Chave
Programas:
- IDE Arduino
- Photoshop / Paint (opcional; pode ser desenhado à mão)
De outros:
- Caixa (uma caixa; pode ser comprada ou impressa em 3D personalizada)
- Envoltório de vinil de carbono (opcional)
- Botões codificadores rotativos
- Tampas do interruptor (opcional)
- Impressora de etiquetas (opcional)
- Ilhó de borracha
Depois de ter todos os itens (ou o suficiente para começar), podemos começar a projetar o layout da caixa de botão.
Etapa 2: Projete o layout da caixa
Ferramentas necessárias para esta etapa:
Photoshop / Paint (opcional; pode ser desenhado à mão)
O design de uma caixa de botão pode ser diferente para cada pessoa. No entanto, para este Instructable usaremos um layout que consiste em:
- 4x interruptores de alternância de três vias
- 2x interruptores de alternância unidirecionais
- 10x botões simples
- 4x codificador rotativo com botão simples
Chaves de alternância de três vias:
Existem muitos tipos de interruptores de alternância. Alguns são momentâneos e alguns permanecem no lugar até que sejam trocados de volta. Depende de você que tipo usar, mas eu aconselho usar interruptores momentâneos, pois esta caixa de botão não é capaz de ter vários botões ativos ao mesmo tempo. Como as chaves de alternância são de três vias (liga / desliga / liga), temos oito botões (4x2) disponíveis.
Chaves de alternância de uma maneira:
Eles podem ser considerados como botões simples (liga / desliga). Eles também podem ser momentâneos ou alternados. Mais uma vez, depende da preferência pessoal que escolher. Isso nos dá dois (2) botões disponíveis.
Botões de pressão simples:
Botões como esses podem ser usados simplesmente pressionando-os (liga / desliga). Isso nos dará dez (10) botões.
Codificadores rotativos com botão simples:
A maioria (senão todos) dos codificadores rotativos pode ser girada para ambas as direções infinitamente. Toda vez que você os gira em uma direção, é usado como um pressionamento de botão. Esses codificadores rotativos também podem ser pressionados, dando-lhes outro botão. Os codificadores rotativos fornecem doze (12 = 4x3; girar para a esquerda / girar para a direita / pressionar) botões.
32 botões:
Ter todos eles juntos nos dá 32 (8 + 2 + 10 + 12) pressionamentos de botão!
Satisfeito com o layout? É hora de começar a construir!
Etapa 3: Medir e perfurar
Ferramentas necessárias para esta etapa:
- Paquímetro
- Furar
- Eletrônica (botões, interruptores, etc.)
Meça todos os botões que você deseja adicionar à sua caixa de botões. Se você estiver tendo problemas para encontrar as dimensões de seus componentes eletrônicos, use um calibrador (digital) para obter o diâmetro deles.
Marque os pontos centrais dos componentes eletrônicos na face do gabinete e faça furos com os tamanhos corretos. Quer tornar o gabinete um pouco mais agradável esteticamente? Aguarde encaixando os botões!
Assim que terminar de fazer os furos, podemos fazer com que comece a se parecer com uma caixa de botão de verdade!
Etapa 4: ajuste os botões, rotativos e alternadores
Ferramentas necessárias para esta etapa:
- Eletrônica (botões, interruptores, etc.)
- Chave
- Envoltório de vinil de carbono (opcional)
- Cortador (opcional)
Todos os seus componentes eletrônicos devem vir com uma porca para aparafusá-los no lugar. Se não; meça-os e compre a porca de tamanho correto.
Se você quiser melhorar (opinião pessoal) a aparência de sua caixa de botões, você pode usar um envoltório de vinil de fibra de carbono. Corte no tamanho (e um pouco maior) da face do gabinete onde você fez os furos. Aplique o vinil e enrole nos cantos das costas. Isso garantirá que o envoltório permaneça no lugar quando o invólucro for fechado. O excesso de vinil que agora bloqueia os orifícios pode ser removido com um cortador.
Depois de colocar o envoltório (ou não), você pode encaixar os componentes eletrônicos para criar a frente de sua caixa de botões. Agora você deve ter algo que realmente se parece com um! Infelizmente, ainda não funciona …
Etapa 5: Projete o layout da fiação
Ferramentas necessárias para esta etapa:
Photoshop / Paint (opcional; pode ser desenhado à mão)
Criando uma matriz:
Usar uma matriz nos economizará tempo e muita fiação e solda desnecessárias. Não vou entrar em muitos detalhes, mas vou sugerir que você dê uma olhada neste artigo se não for familiar com o conceito de matriz.
Projete sua própria matriz ou use o layout deste Instructable. Na matriz, usaremos cinco grupos. Os grupos são conectados às seguintes pinagens no Arduino:
- 15: quatro codificadores rotativos
- A0: cinco botões de pressão
- A1: dois interruptores de três vias e um botão de pressão
- A2: dois interruptores de três vias e um botão de pressão
- A3: cinco botões de pressão
Etapa 6: Solda
Ferramentas necessárias para esta etapa:
- Ferro de solda
- Solda
- Eletrônica (montada em seu gabinete)
- Arduino Pro Micro
- Fios
Opcional:
Carregue primeiro o código da próxima etapa se estiver preocupado com a soldagem. Isso permitirá que você verifique suas conexões
Queremos aplicar a matriz projetada na etapa anterior à caixa de botão real. Dedique algum tempo para isso, especialmente se esta for sua primeira vez de soldagem.
Algumas dicas:
- Faça um grupo de cada vez
- Conecte o Arduino ao seu computador para testar ocasionalmente
- Não aqueça muito os botões de plástico, pois eles podem derreter e quebrar as conexões
- Não use muita solda, menos é melhor
- Use fios de cores diferentes para cada grupo / terra
Etapa 7: escrever o código
Ferramentas necessárias para esta etapa:
- IDE Arduino
- Biblioteca de joystick
- Keypad.h (Arduino IDE> Sketch> Incluir biblioteca> Gerenciar bibliotecas…> Pesquise o teclado e instale aquele que foi criado por Mark Stanley e Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
botões de byte [NUMROWS] [NUMCOLS] = {
{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}, {20, 21, 22, 23}, };
struct rotariesdef {
byte pin1; byte pin2; int ccwchar; int cwchar; estado de char não assinado volátil; };
rotariesdef rotaries [NUMROTARIES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#define DIR_CCW 0x10
#define DIR_CW 0x20 #define R_START 0x0
#ifdef HALF_STEP
#define R_CCW_BEGIN 0x1 #define R_CW_BEGIN 0x2 #define R_START_M 0x3 #define R_CW_BEGIN_M 0x4 #define R_CCW_BEGIN_M 0x5 const unsigned char ttable [6] [4] = {// R_START_BEGINSTART (00) {R_START_BEGINSTART, R_CW_B, // R_CCW_BEGIN {R_START_M | DIR_CCW, R_START, R_CCW_BEGIN, R_START}, // R_CW_BEGIN {R_START_M | DIR_CW, R_CW_BEGIN, R_START, R_START}, // R_START_M (11) {R_START_M, R_CCW_BEGIN_M, R_CW_BEGIN_M, R_START}, // R_CW_BEGIN_M {R_START_M, R_START_M, R_CW_BEGIN_M, R_START | DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW},}; #else #define R_CW_FINAL 0x1 #define R_CW_BEGIN 0x2 #define R_CW_NEXT 0x3 #define R_CCW_BEGIN 0x4 #define R_CCW_FINAL 0x5 #define R_CCW_NEXT 0x6
const unsigned char ttable [7] [4] = {
// R_START {R_START, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CW_FINAL {R_CW_NEXT, R_START, R_CW_FINAL, R_START | DIR_CW}, // R_CW_BEGIN {R_CW_NEXT, R_CW_BEGIN, R_START, R_START}, // R_CW_NEXT {R_CW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_NEXT_EXT, R_CCW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_NEXT_EXT, R_CCWART, R_CCW_NEXT, R_CCWART, // R_CCW_NEXT, R_CCWIN_FINAL_CCWART, // R_CCWIN_CCWART, // R_CCWIN_START_R_CCWART // R_CCWART_L_START // R_CCWART_LINAL_START // R_CCWART_LINAL_START // R_CCWART // RINAL_START, // R_CCWART. R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START},}; #fim se
byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};
byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Teclado buttbx = Teclado (makeKeymap (botões), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, falso, falso, falso, falso, falso, falso, falso, falso, falso, falso, falso);
void setup () {
Joystick.begin (); rotary_init ();}
void loop () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {for (int i = 0; i
void rotary_init () {
para (int i = 0; i
unsigned char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotativos [_i].pin1); rotários [_i].state = ttable [rotários [_i].state & 0xf] [pinstate]; retorno (rotativos [_i].state & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
resultado de caractere sem sinal = rotary_process (i); if (resultado == DIR_CCW) {Joystick.setButton (rotários .ccwchar, 1); atraso (50); Joystick.setButton (rotários .ccwchar, 0); }; if (resultado == DIR_CW) {Joystick.setButton (rotários .cwchar, 1); atraso (50); Joystick.setButton (rotários .cwchar, 0); }; }}
- Conecte seu Arduino Pro Micro ao computador conectando o cabo USB
- Para fazer o upload do código, selecione o tipo de Arduino em Ferramentas> Placa:…> Arduino / Genuino Micro.
- Para selecionar a porta USB correta, vá para Ferramentas> Porta:> COM x (Arduino / Genuino Micro)
- Verifique o esboço clicando em ✓ no canto superior esquerdo (em Arquivo)
- Pressione → ao lado dele para fazer o upload para o Arduino
Etapa 8: adicionar à sua plataforma
Parabéns! Você chegou tão longe. Agora é hora de correr!
Recomendado:
Suporte de acrílico para tablet para Flight Sim com botões reais: 4 etapas
Suporte de Acrílico para Tablet para Flight Sim With Real Knobs: Este é um suporte para um tablet (por exemplo, iPad) para uso com o software de simulador de vôo. Usando módulos codificadores rotativos e um Arduino Mega, criei uma solução em que os botões físicos podem ser mapeados para controlar funções específicas do instrumento no sim. Como você
Caixa de botões do Sim Racing: 7 etapas (com fotos)
Caixa de botões do Sim Racing: uma caixa de botões é um dispositivo usado no Sim Racing que permite atribuir botões, interruptores e botões a vários controles do carro. Atribuições de botão comuns são coisas como um botão iniciar, PTT, solicitar pit, etc. Os interruptores de alternância funcionam muito bem para limpadores, headl
Sim - Não: uma caixa de correio controlada pelo Arduino: 4 etapas (com imagens)
Sim - Não: uma caixa de correio controlada pelo Arduino: Neste projeto, mostraremos como tornar sua caixa de correio mais divertida e útil. Com esta caixa de correio, se estiver com uma carta no seu correio, tem uma bela luz que se acende se tiver correio, e pode controlar esta caixa de correio com bluetooth para automaticamente
A Barbie Box: uma caixa camuflada / caixa de som para seu reprodutor de MP3: 4 etapas (com fotos)
A Barbie Box: uma caixa camuflada / caixa de som para seu reprodutor de mp3: esta é uma caixa de proteção acolchoada para seu reprodutor de mp3 que também converte o fone de ouvido em um quarto de polegada, pode funcionar como uma caixa de som com o toque de um botão e disfarça o seu mp3 player como um toca-fitas do início dos anos noventa ou roubo baixo semelhante
Caixa de som da caixa do reprodutor de mp3: 5 etapas
Caixa de som da caixa do MP3 Player: esta é a minha primeira caixa de som instrutível, então sry se você não entender. materiais: 1. estojo mp3 (o estojo que você ganha ao comprar o mp3 se não sabe o que quero dizer veja a figura 2) 2. faca de exacto 3. alto-falante já feito com conector de áudio veja o passo é tudo que você precisa