INHOUDSOPGAWE:

Sim Racing Button Box: 8 stappe
Sim Racing Button Box: 8 stappe

Video: Sim Racing Button Box: 8 stappe

Video: Sim Racing Button Box: 8 stappe
Video: 3 мегапикселя камера видеонаблюдения. Стоит ли покупать? На что влияет разрешение? 2024, November
Anonim
Sim Racing Button Box
Sim Racing Button Box

Welkom sim -verslaafdes!

Raak u nie meer sleutelborde om al u motorkontroles in kaart te bring nie? U het waarskynlik 'n knoppiebak nodig! In hierdie instruksies skep ons een van nuuts af. Die knoppie boks sal 32 (!) Beskikbare knoppie state hê. Geen ekstra sagteware is nodig om hierdie knoppie boks te gebruik nie. U leer hoe u 'n knoppiematriks opstel en die kode skryf (of kopieer) om dit na u Arduino op te laai.

Dit is belangrik om te weet dat die knoppieboks nie baie knoppies gelyktydig ingedruk ondersteun nie.

Laat ons begin!

Stap 1: Voorbereiding

Voorbereiding
Voorbereiding

U benodig 'n paar gereedskap, knoppies en meer items om die knoppie boks te skep. Skep gerus die knoppie boks na u wens.

Elektronika:

  • Knoppies
  • Wissel
  • Rotary encoders
  • Arduino Pro Micro
  • Mini USB na USB kabel
  • Drade

Gereedskap:

  • Boor
  • Soldeer
  • Remklauw
  • Skroewedraaiers
  • Snyer
  • Moersleutel

Sagteware:

  • Arduino IDE
  • Photoshop/verf (opsioneel; kan met die hand geteken word)

Ander:

  • Omhulsel ('n boks; kan gekoop word of 3D -afgedruk word)
  • Koolstof vinyl wrap (opsioneel)
  • Draaiknopknoppe
  • Skakelbedekkings (opsioneel)
  • Etiketdrukker (opsioneel)
  • Rubber deurvoering

As u al die items (of genoeg om aan die gang te kom) het, kan ons begin met die ontwerp van die knoppieblokkie.

Stap 2: Ontwerp die boksuitleg

Gereedskap benodig vir hierdie stap:

Photoshop/verf (opsioneel; kan met die hand geteken word)

Die ontwerp van 'n knoppieboks kan vir almal anders wees. Vir hierdie Instructable gebruik ons egter 'n uitleg wat bestaan uit:

  • 4x drie -rigting skakelaars
  • 2x eenrigting -skakelaars
  • 10x eenvoudige drukknoppies
  • 4x roterende encoder met 'n eenvoudige knoppie

Drie -rigting skakelaars:

Daar is baie soorte skakelaars. Sommige is kortstondig en sommige bly in plek totdat hulle teruggeskakel word. Dit is aan u watter tipe om te gebruik, maar ek raai u aan om kortstondige skakelaars te gebruik, aangesien hierdie knoppieboks nie veelvoudige knoppies op dieselfde tyd aktief kan hê nie. Aangesien die skakelaars in drie rigtings (aan/af/aan) is, het ons agt (4x2) knoppies beskikbaar.

Een manier omskakelaars:

Dit kan as eenvoudige knoppies beskou word (af/aan). Dit kan ook tydelik wees of wissel. Weereens, tot persoonlike voorkeur wat u moet kies. Dit gee ons twee (2) beskikbare knoppies.

Eenvoudige drukknoppies:

Knoppies soos hierdie kan gebruik word deur dit eenvoudig (af/aan) te druk. Dit gee ons tien (10) knoppies.

Draaikodeerders met eenvoudige drukknoppie:

Die meeste (indien nie almal) roterende enkoders kan oneindig in beide rigtings gedraai word. Elke keer as u dit in 'n rigting draai, word dit as 'n knoppie gedruk. Daar kan ook op hierdie roterende enkoders gedruk word, wat hulle 'n ander knoppie gee. Die roterende enkoders gee twaalf (12 = 4x3; draai links/draai regs/druk) knoppies.

32 knoppies:

As ons almal bymekaar het, kan ons 32 (8+2+10+12) knoppies druk!

Tevrede met die uitleg? Tyd om te begin bou!

Stap 3: Meet en boor

Meet en boor
Meet en boor
Meet en boor
Meet en boor

Gereedskap benodig vir hierdie stap:

  • Remklauw
  • Boor
  • Elektronika (knoppies, skakelaars, ens.)

Meet al die knoppies wat u by u knoppieboks wil voeg. As u probleme ondervind om die afmetings van u elektronika te vind, gebruik 'n (digitale) kaliber om die deursnee daarvan te kry.

Merk die middelpunte van die elektronika op die voorkant van u omhulsel en boor gate met die regte groottes. Wil u die omhulsel 'n bietjie meer esteties aantreklik maak? Wag met die aanpas van die knoppies!

As u klaar is met die boor van die gate, kan ons dit soos 'n regte knoppie laat lyk!

Stap 4: Pas die knoppies, rotasies en skakelaars aan

Pas die knoppies, Rotaries en Toggles aan
Pas die knoppies, Rotaries en Toggles aan
Pas die knoppies, Rotaries en Toggles aan
Pas die knoppies, Rotaries en Toggles aan

Gereedskap benodig vir hierdie stap:

  • Elektronika (knoppies, skakelaars, ens.)
  • Moersleutel
  • Koolstof vinyl wrap (opsioneel)
  • Snyer (opsioneel)

Al u elektronika moet 'n moer bevat om dit vas te skroef. Indien nie; meet hulle en koop die regte grootte moer.

As u die voorkoms van u knoppiebak (persoonlike mening) wil verbeter, kan u 'n koolstofvesel -vinyl wrap gebruik. Sny dit in die grootte (en 'n bietjie groter) van die omhulsel se oppervlak waarin u die gate geboor het. Pas die vinyl toe en draai dit om die hoeke aan die agterkant. Dit sal verseker dat die omhulsel op sy plek bly wanneer die omhulsel toegemaak word. Oormatige vinyl wat die gate nou blokkeer, kan met 'n snyer verwyder word.

As u die omhulsel (of nie) aangetrek het, kan u die elektronika inpas om die voorkant van u knoppiebak te skep. U behoort nou al iets te hê wat regtig soos een lyk! Ongelukkig werk dit nog nie …

Stap 5: Ontwerp die bedradinguitleg

Ontwerp die bedradinguitleg
Ontwerp die bedradinguitleg

Gereedskap benodig vir hierdie stap:

Photoshop/verf (opsioneel; kan met die hand geteken word)

Skep 'n matriks:

Deur 'n matriks te gebruik, spaar ons tyd en baie onnodige bedrading en soldeerwerk. Ek sal self nie in besonderhede ingaan nie, maar ek stel voor dat u na hierdie artikel kyk as u nie die konsep van 'n matriks ken nie.

Ontwerp u eie matriks of gebruik die uitleg van hierdie instruksies. In die matriks sal ons vyf groepe gebruik. Die groepe is verbind met die volgende pinouts op die Arduino:

  • 15: vier draaikoders
  • A0: vyf drukknoppies
  • A1: twee driewegwisselaars en een drukknop
  • A2: twee drieweg -skakelaars en een drukknop
  • A3: vyf drukknoppies

Stap 6: Soldeer

Soldeer
Soldeer
Soldeer
Soldeer

Gereedskap benodig vir hierdie stap:

  • Soldeerbout
  • Soldeer
  • Elektronika (gemonteer op u omhulsel)
  • Arduino Pro Micro
  • Drade

Opsioneel:

Laai eers die kode vanaf die volgende stap op as u bekommerd is oor soldeer. Hiermee kan u u verbindings nagaan

Ons wil die matriks wat in die vorige stap ontwerp is, toepas op die werklike knoppie. Neem tyd hiervoor, veral as dit die eerste keer is dat u soldeer.

'N Paar wenke:

  • Doen een groep op dieselfde tyd
  • Koppel die Arduino aan u rekenaar om af en toe te toets
  • Moenie plastiekknoppies te veel verhit nie, want dit kan smelt en verbindings verbreek
  • Moenie te veel soldeer gebruik nie, minder is beter
  • Gebruik drade van verskillende kleure vir elke groep/grond

Stap 7: Skryf die kode

Gereedskap benodig vir hierdie stap:

  • Arduino IDE
  • Joystick -biblioteek
  • Toetsenbord.h (Arduino IDE> Skets> Sluit biblioteek in> Bestuur biblioteke …> Soek na sleutelbord en installeer die een wat geskep is deur Mark Stanley en Alexander Brevig)

#include #include

#definieer ENABLE_PULLUPS

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

greepknoppies [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 {

greep pin1; greep pin2; int ccwchar; int cwchar; vlugtige ongetekende char toestand; };

rotariesdef rotaries [NUMROTARIES] {

{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };

#definieer DIR_CCW 0x10

#definieer DIR_CW 0x20 #definieer R_START 0x0

#ifdef HALF_STEP

#definieer R_CCW_BEGIN 0x1 #definieer R_CW_BEGIN 0x2 #definieer R_START_M 0x3 #definieer R_CW_BEGIN_M 0x4 #definieer R_CCW_BEGIN_M 0x5 konst ongetekende karaktertabel [R], R_ST_, 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_, DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW},}; #else #definieer R_CW_FINAL 0x1 #definieer R_CW_BEGIN 0x2 #definieer R_CW_NEXT 0x3 #definieer R_CCW_BEGIN 0x4 #definieer R_CCW_FINAL 0x5 #definieer R_CCW_NEXT 0x6

konst ongetekende karaktertabel [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};

Keypad buttbx = Keypad (makeKeymap (buttons), rowPins, colPins, NUMROWS, NUMCOLS);

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

ongeldige opstelling () {

Joystick.begin (); rotary_init ();}

leemte -lus () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

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

leegte rotary_init () {

vir (int i = 0; i

ongetekende char rotary_process (int _i) {

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

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

ongetekende char resultaat = rotasieproses (i); if (result == DIR_CCW) {Joystick.setButton (rotaries .ccwchar, 1); vertraging (50); Joystick.setButton (rotaries .ccwchar, 0); }; if (result == DIR_CW) {Joystick.setButton (rotaries .cwchar, 1); vertraging (50); Joystick.setButton (rotasies .cwchar, 0); }; }}

  1. Koppel u Arduino Pro Micro aan op u rekenaar deur die USB -kabel aan te sluit
  2. Om die kode op te laai, kies die Arduino -tipe deur te gaan na Tools> Board: …> Arduino/Genuino Micro.
  3. Om die korrekte USB -poort te kies, gaan na Tools> Port:> COM x (Arduino/Genuino Micro)
  4. Verifieer die skets deur op die ✓ in die linker boonste hoek (onder File) te klik
  5. Druk op die → langsaan om dit na die Arduino op te laai

Stap 8: Voeg by u tuig

Voeg by u tuig
Voeg by u tuig

Baie geluk! Jy het so ver gekom. Nou is dit tyd om te jaag!

Aanbeveel: