Taula de continguts:

Botó Sim Racing Box: 8 passos
Botó Sim Racing Box: 8 passos

Vídeo: Botó Sim Racing Box: 8 passos

Vídeo: Botó Sim Racing Box: 8 passos
Vídeo: Turn your H pattern shifter into a sequential shifter 2024, De novembre
Anonim
Botó Sim Racing Box
Botó Sim Racing Box

Benvinguts als addictes a les carreres de sim!

Us esteu quedant sense combinacions de tecles per assignar tots els controls del vostre cotxe? Probablement necessiteu una caixa de botons. En aquest instructiu en crearem un des de zero. El quadre del botó tindrà 32 (!) Estats de botó disponibles. No cal programari addicional per utilitzar aquest botó. Aprendràs a configurar una matriu de botons i a escriure (o copiar) codi per penjar-lo al teu Arduino.

És important saber que el quadre de botons no admet molts botons premuts simultàniament.

Comencem!

Pas 1: preparació

Preperació
Preperació

Necessitareu algunes eines, botons i més elements per crear el quadre de botons. No dubteu a crear el quadre de botons segons el vostre desig.

Electrònica:

  • Botons
  • Alterna
  • Codificadors rotatius
  • Arduino Pro Micro
  • Cable mini USB a USB
  • Filferros

Eines:

  • Trepant
  • Soldar
  • Pinça
  • Tornavisos
  • Cortador
  • Clau anglesa

Programari:

  • IDE Arduino
  • Photoshop / Paint (opcional; es pot dibuixar a mà)

Altres:

  • Tancament (una caixa; es pot comprar o imprimir en 3D personalitzat)
  • Embolcall de vinil de carboni (opcional)
  • Poms de codificador rotatius
  • Interruptors de tapes (opcional)
  • Impressora d'etiquetes (opcional)
  • Pas de goma

Un cop tingueu tots els elements (o prou per començar), podem començar a dissenyar el disseny del quadre de botons.

Pas 2: dissenyeu el disseny de la caixa

Eines necessàries per a aquest pas:

Photoshop / Paint (opcional; es pot dibuixar a mà)

El disseny d’una caixa de botons pot ser diferent per a tothom. No obstant això, per a aquest instructiu utilitzarem un disseny que consisteix en:

  • 4x commutadors de tres vies
  • 2x commutadors alternatius d'una manera
  • 10x polsadors simples
  • Codificador rotatiu 4x amb botó senzill

Interruptors alternatius de tres vies:

Hi ha molts tipus d’interruptors alternatius. Alguns són momentanis i d'altres es mantenen al seu lloc fins que es tornen a canviar. Depèn de vosaltres quin tipus utilitzar, però us aconsello utilitzar commutadors momentanis, ja que aquest quadre de botons no és capaç de tenir molts botons múltiples actius al mateix temps. Com que els commutadors de commutació són de tres vies (encès / apagat / encès), tenim disponibles vuit botons (4x2).

Commutadors alternatius d'una manera:

Aquests es poden considerar com a simples botons (off / on). Aquests també poden ser momentanis o alternar. De nou, fins a la preferència personal que triar. Aquests ens proporcionen dos (2) botons disponibles.

Polsadors simples:

Botons com aquests es poden utilitzar simplement pressionant-los (apagats / activats). Aquests ens donaran deu (10) botons.

Codificadors rotatius amb un senzill polsador:

La majoria (si no tots) dels codificadors rotatius es poden girar a les dues direccions de manera infinita. Cada vegada que els gireu cap a una direcció, s'utilitza com a botó de prémer. Aquests codificadors rotatius també es poden prémer donant-los un altre botó. Els codificadors rotatius donen dotze botons (12 = 4x3; gira a l'esquerra / gira a la dreta / empeny).

32 botons:

Tenir-los tots junts ens dóna 32 pulsacions de botó (8 + 2 + 10 + 12).

Esteu satisfet amb el disseny? És hora de començar a construir!

Pas 3: mesureu i foradeu

Mesura i trepant
Mesura i trepant
Mesura i trepant
Mesura i trepant

Eines necessàries per a aquest pas:

  • Pinça
  • Trepant
  • Electrònica (botons, commutadors, etc.)

Mesureu tots els botons que voleu afegir al quadre de botons. Si teniu problemes per trobar les dimensions de l’electrònica, utilitzeu una pinça (digital) per obtenir-ne el diàmetre.

Marqueu els punts centrals de l'electrònica a la cara del recinte i practiqueu forats amb les mides correctes. Voleu fer que el recinte sigui una mica més estètic? Espereu ajustant els botons.

Un cop hàgiu acabat de perforar els forats, podem fer que sembli un botó real.

Pas 4: col·loqueu els botons, els rotatius i els commutadors

Ajusta els botons, els rotatius i els commutadors
Ajusta els botons, els rotatius i els commutadors
Ajusta els botons, els rotatius i els commutadors
Ajusta els botons, els rotatius i els commutadors

Eines necessàries per a aquest pas:

  • Electrònica (botons, commutadors, etc.)
  • Clau anglesa
  • Embolcall de vinil de carboni (opcional)
  • Tallador (opcional)

Tots els aparells electrònics haurien de venir amb una femella per cargolar-la al seu lloc. Sinó; mesureu-los i adquireu la femella de mida correcta.

Si voleu millorar (opinió personal) l’aspecte de la vostra caixa de botons, podeu utilitzar un embolcall de vinil de fibra de carboni. Talleu-lo a la mida (i una mica més gran) de la cara del vostre recinte on heu perforat els forats. Apliqueu el vinil i emboliqueu-lo per les cantonades cap a la part posterior. Això assegurarà que l’embolcall es mantingui al seu lloc quan el tancament estigui tancat. L’excés de vinil que ara bloqueja els forats es pot eliminar amb un tallador.

Un cop posat l’embolcall (o no), podeu encabir l’electrònica per crear la part frontal del botó. Ara hauríeu de tenir alguna cosa que ja sembli una. Malauradament, encara no funciona …

Pas 5: dissenyeu el disseny del cablejat

Dissenyeu el disseny del cablejat
Dissenyeu el disseny del cablejat

Eines necessàries per a aquest pas:

Photoshop / Paint (opcional; es pot dibuixar a mà)

Creació d'una matriu:

L’ús d’una matriu ens estalviarà temps i un munt de cablejat i soldadura innecessaris. Jo no entraré en molts detalls, però us suggeriré que feu una ullada a aquest article si no sou familiar amb el concepte de matriu.

Dissenyeu la vostra pròpia matriu o utilitzeu el disseny d’aquest instructiu. A la matriu utilitzarem cinc grups. Els grups estan connectats als següents pinouts a l'Arduino:

  • 15: quatre codificadors rotatius
  • A0: cinc polsadors
  • A1: dos commutadors de tres vies i un polsador
  • A2: dos commutadors de tres vies i un polsador
  • A3: cinc polsadors

Pas 6: soldar

Soldadura
Soldadura
Soldadura
Soldadura

Eines necessàries per a aquest pas:

  • Soldador
  • Soldar
  • Electrònica (muntada al vostre recinte)
  • Arduino Pro Micro
  • Filferros

Opcional:

Carregueu primer el codi del pas següent si us preocupa la soldadura. Això us permetrà comprovar les vostres connexions

Volem aplicar la matriu dissenyada al pas anterior al quadre de botons real. Dediqueu una mica de temps a això, sobretot si és la primera vegada que sou soldar.

Alguns consells:

  • Feu un grup al mateix temps
  • Connecteu l'Arduino a l'ordinador per provar de tant en tant
  • No escalfeu massa els botons de plàstic, ja que poden fondre’s i trencar les connexions
  • No utilitzeu massa soldadura, menys és millor
  • Utilitzeu fils de colors diferents per a cada grup / terra

Pas 7: escriure el codi

Eines necessàries per a aquest pas:

  • IDE Arduino
  • Biblioteca Joystick
  • Keypad.h (Arduino IDE> Esbós> Inclou biblioteca> Gestiona biblioteques …> Cerqueu el teclat i instal·leu el que han creat Mark Stanley i Alexander Brevig)

#include #include

#define ENABLE_PULLUPS

#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5

botons de bytes [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; estat de caràcter volàtil sense signar; };

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

. 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_START_M, R_START_M, R_START_M, R_START_M, R_ST_B, 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 unset 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, R_START, R_CCW_BEGIN, R_START}, {// R_CCW_FINAL R_CCW_NEXT, R_CCW_FINAL, R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START},}; #endif

byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};

byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};

Teclat buttbx = Teclat (makeKeymap (botons), rowPins, colPins, NUMROWS, NUMCOLS);

Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, fals, fals, fals, fals, fals, fals, fals, fals, fals, fals, fals);

configuració nul·la () {

Joystick.begin (); rotary_init ();}

bucle buit () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

if (buttbx.getKeys ()) {for (int i = 0; i

void rotary_init () {

per a (int i = 0; i

procés de rotació de caràcters sense signar (int _i) {

unsigned char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotatius [_i].pin1); rotatives [_i].state = ttable [rotatives [_i].state & 0xf] [pinstate]; return (rotatius [_i].state & 0x30); }

void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {

resultat de caràcter sense signar = rotary_process (i); if (result == DIR_CCW) {Joystick.setButton (rotatives .ccwchar, 1); retard (50); Joystick.setButton (rotatius .ccwchar, 0); }; if (result == DIR_CW) {Joystick.setButton (rotatives .cwchar, 1); retard (50); Joystick.setButton (rotatius .cwchar, 0); }; }}

  1. Connecteu el vostre Arduino Pro Micro a l'ordinador connectant el cable USB
  2. Per carregar el codi, seleccioneu el tipus d'Arduino anant a Eines> Tauler: …> Arduino / Genuino Micro.
  3. Per seleccionar el port USB correcte, aneu a Eines> Port:> COM x (Arduino / Genuino Micro)
  4. Verifiqueu l'esbós fent clic a ✓ a l'extrem superior esquerre (sota Fitxer)
  5. Premeu el → al costat per penjar-lo a l'Arduino

Pas 8: afegiu-lo al vostre equip

Afegeix a la plataforma
Afegeix a la plataforma

Enhorabona! Has arribat tan lluny. Ara toca córrer!

Recomanat: