Innehållsförteckning:

Sim Racing Button Box: 8 steg
Sim Racing Button Box: 8 steg

Video: Sim Racing Button Box: 8 steg

Video: Sim Racing Button Box: 8 steg
Video: Ultimate Sim Racing Setup Fanatec CSL DD / CSL Pedals / ClubSport Shifter Unboxing Setup Review 2024, November
Anonim
Sim Racing Button Box
Sim Racing Button Box

Välkommen sim racing missbrukare!

Har du slut på nyckelringar för att kartlägga alla dina bilkontroller till? Du behöver förmodligen en knapplåda! I den här instruktionsboken skapar vi en från början. Knapplådan kommer att ha 32 (!) Tillgängliga knapptillstånd. Ingen ytterligare programvara krävs för att använda denna knapplåda. Du lär dig hur du konfigurerar en knappmatris och skriver (eller kopierar) kod för att ladda upp till din Arduino.

Det är viktigt att veta att knapplådan inte stöder många samtidigt tryckta knappar.

Låt oss börja!

Steg 1: Förberedelse

Förberedelse
Förberedelse

Du behöver några verktyg, knappar och fler objekt för att skapa knapplådan. Skapa gärna knapplådan efter dina önskemål.

Elektronik:

  • Knappar
  • Växlar
  • Rotary encoders
  • Arduino Pro Micro
  • Mini USB till USB -kabel
  • Trådar

Verktyg:

  • Borra
  • Löda
  • Bromsok
  • Skruvmejslar
  • Fräs
  • Rycka

Programvara:

  • Arduino IDE
  • Photoshop/Paint (valfritt; kan ritas för hand)

Övrig:

  • Kapsling (en låda; kan köpas eller skräddarsys i 3D)
  • Kolfiberfolie (tillval)
  • Roterande givarknappar
  • Strömställare (tillval)
  • Etikettskrivare (tillval)
  • Gummitätning

När du har alla (eller tillräckligt för att komma igång) objekt kan vi börja designa layouten för knapplådan.

Steg 2: Utforma rutan

Verktyg som krävs för detta steg:

Photoshop/Paint (valfritt; kan ritas för hand)

Utformningen av en knapplåda kan vara olika för alla. Men för denna instruerbara använder vi en layout som består av:

  • 4x trevägs omkopplare
  • 2x envägs omkopplare
  • 10x enkla tryckknappar
  • 4x roterande kodare med enkel knapp

Trevägs omkopplare:

Det finns många typer av omkopplare. Vissa är tillfälliga och vissa stannar på plats tills de byts tillbaka. Det är upp till dig vilken typ du ska använda, men jag rekommenderar att du använder tillfälliga omkopplare eftersom den här knapplådan inte kan ha många olika knappar aktiva samtidigt. Eftersom vippomkopplarna är trevägs (på/av/på) har vi åtta (4x2) knappar tillgängliga.

Ett sätt växlar:

Dessa kan betraktas som enkla knappar (av/på). Dessa kan också vara tillfälliga eller växla. Återigen, upp till personlig preferens att välja. Dessa ger oss två (2) tillgängliga knappar.

Enkla tryckknappar:

Knappar som dessa kan användas genom att helt enkelt trycka på dem (av/på). Dessa ger oss tio (10) knappar.

Roterande pulsgivare med enkel tryckknapp:

De flesta (om inte alla) roterande givare kan vridas i båda riktningarna oändligt. Varje gång du roterar dem till en riktning används den som knapptryckning. Du kan också trycka på dessa roterande givare och ge dem ytterligare en knapp. De roterande kodarna ger tolv (12 = 4x3; rotera vänster/rotera höger/tryck).

32 knappar:

Att ha dem alla ger oss 32 (8+2+10+12) knapptryckningar!

Nöjd med upplägget? Dags att börja bygga!

Steg 3: Mät och borra

Mät och borra
Mät och borra
Mät och borra
Mät och borra

Verktyg som krävs för detta steg:

  • Bromsok
  • Borra
  • Elektronik (knappar, omkopplare, etc.)

Mät alla knappar som du vill lägga till i knapplådan. Om du har problem med att hitta måtten på din elektronik, använd en (digital) bromsok för att få diametern på dem.

Markera elektronikens mittpunkter på höljet och borra hål med rätt storlek. Vill du göra höljet lite mer estetiskt tilltalande? Vänta med att montera knapparna!

När du är klar med att borra hålen kan vi få det att se ut som en riktig knapplåda!

Steg 4: Montera knapparna, rotaryerna och växlarna

Montera knapparna, rotaryerna och växlarna
Montera knapparna, rotaryerna och växlarna
Montera knapparna, rotaryerna och växlarna
Montera knapparna, rotaryerna och växlarna

Verktyg som krävs för detta steg:

  • Elektronik (knappar, omkopplare, etc.)
  • Rycka
  • Kolfiberfolie (tillval)
  • Fräs (tillval)

All din elektronik bör ha en mutter för att skruva fast den. Om inte; mät dem och köp rätt storlek.

Om du vill förbättra (personlig åsikt) utseendet på din knapplåda kan du använda en vinylfolie av kolfiber. Klipp den till storleken (och lite större) på ditt höljes ansikte där du borrade hålen. Applicera vinylen och linda den runt hörnen mot baksidan. Detta kommer att se till att omslaget stannar på plats när lådan är stängd. Överdriven vinyl som nu blockerar hålen kan tas bort med en skärare.

Efter att ha tagit på omslaget (eller inte) kan du passa in i elektroniken för att skapa framsidan av din knapplåda. Du borde nu ha något som verkligen ser ut som ett redan! Tyvärr fungerar det inte än …

Steg 5: Utforma ledningslayouten

Utforma ledningslayouten
Utforma ledningslayouten

Verktyg som krävs för detta steg:

Photoshop/Paint (valfritt; kan ritas för hand)

Skapa en matris:

Att använda en matris sparar oss tid och en massa onödiga kablar och lödningar. Jag kommer inte att gå in på detaljer själv, men föreslår att du tittar på den här artikeln om du inte känner till matrisbegreppet.

Designa din egen matris eller använd layouten från denna instruktionsbok. I matrisen kommer vi att använda fem grupper. Grupperna är anslutna till följande pinouts på Arduino:

  • 15: fyra roterande pulsgivare
  • A0: fem tryckknappar
  • A1: två trevägs växlar och en tryckknapp
  • A2: två trevägs växlar och en tryckknapp
  • A3: fem tryckknappar

Steg 6: Lödning

Lödning
Lödning
Lödning
Lödning

Verktyg som krävs för detta steg:

  • Lödkolv
  • Löda
  • Elektronik (monterad på ditt hölje)
  • Arduino Pro Micro
  • Trådar

Frivillig:

Ladda upp koden från nästa steg först om du är orolig för lödning. Detta gör att du kan kontrollera dina anslutningar

Vi vill tillämpa matrisen som designades i föregående steg på den faktiska knapplådan. Ta dig tid till detta, speciellt om det är första gången du löd.

Några tips:

  • Gör en grupp åt gången
  • Anslut Arduino till din dator för att testa ibland
  • Värm inte upp plastknapparna för mycket eftersom de kan smälta och bryta anslutningar
  • Använd inte för mycket löd, mindre är bättre
  • Använd trådar i olika färger för varje grupp/mark

Steg 7: Skriva koden

Verktyg som krävs för detta steg:

  • Arduino IDE
  • Joystick -bibliotek
  • Knappsats.h (Arduino IDE> Skiss> Inkludera bibliotek> Hantera bibliotek …> Sök efter knappsats och installera den som skapats av Mark Stanley och Alexander Brevig)

#inkludera #inkludera

#define ENABLE_PULLUPS

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

byte -knappar [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; flyktig osignerad char status; };

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] [R], R_ST_, R_ST_C_R_ST_C_R_ST_R 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_ST_, R_ST_ 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 charttable [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};

Knappsats buttbx = Knappsats (makeKeymap (knappar), rowPins, colPins, NUMROWS, NUMCOLS);

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

void setup () {

Joystick.begin (); rotary_init ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

if (buttbx.getKeys ()) {för (int i = 0; i

void rotary_init () {

för (int i = 0; i

osignerad char rotary_process (int _i) {

osignerad char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotations [_i].pin1); rotaries [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; retur (rotations [_i].state & 0x30); }

void CheckAllEncoders (void) {för (int i = 0; i <NUMROTARIES; i ++) {

osignerat rödningsresultat = rotary_process (i); if (resultat == DIR_CCW) {Joystick.setButton (rotations .ccwchar, 1); fördröjning (50); Joystick.setButton (rotations .ccwchar, 0); }; if (resultat == DIR_CW) {Joystick.setButton (rotations .cwchar, 1); fördröjning (50); Joystick.setButton (rotations .cwchar, 0); }; }}

  1. Anslut din Arduino Pro Micro till din dator genom att ansluta USB -kabeln
  2. För att ladda upp koden, välj Arduino -typen genom att gå till Verktyg> Kort: …> Arduino/Genuino Micro.
  3. För att välja rätt USB -port, gå till Verktyg> Port:> COM x (Arduino/Genuino Micro)
  4. Verifiera skissen genom att klicka på ✓ i det övre vänstra hörnet (under Arkiv)
  5. Tryck på → bredvid den för att ladda upp den till Arduino

Steg 8: Lägg till din rigg

Lägg till i din Rig
Lägg till i din Rig

Grattis! Du har kommit så långt. Nu är det dags att tävla!

Rekommenderad: