Satura rādītājs:

Sim Racing Button Box: 8 soļi
Sim Racing Button Box: 8 soļi

Video: Sim Racing Button Box: 8 soļi

Video: Sim Racing Button Box: 8 soļi
Video: Переход. Я нашёл нечто страшное в доме своего дяди. Джеральд Даррелл 2024, Novembris
Anonim
Sim Racing pogu kaste
Sim Racing pogu kaste

Laipni lūdzam sim sacīkšu atkarīgie!

Vai jums pietrūkst taustiņu, lai kartētu visas automašīnas vadības ierīces? Jums, iespējams, ir nepieciešama pogu kastīte! Šajā pamācībā mēs to izveidosim no nulles. Pogas kastē būs pieejami 32 (!) Pogu stāvokļi. Lai izmantotu šo pogu lodziņu, nav nepieciešama papildu programmatūra. Jūs uzzināsit, kā iestatīt pogu matricu un rakstīt (vai kopēt) kodu augšupielādēšanai savā Arduino.

Ir svarīgi zināt, ka pogu lodziņš neatbalsta daudzas vienlaicīgi nospiestas pogas.

Sāksim!

1. darbība. Sagatavošanās

Sagatavošanās
Sagatavošanās

Lai izveidotu pogu lodziņu, jums būs nepieciešami daži rīki, pogas un citi vienumi. Jūtieties brīvi izveidot pogu lodziņu atbilstoši savām vēlmēm.

Elektronika:

  • Pogas
  • Pārslēdz
  • Rotējošie kodētāji
  • Arduino Pro Micro
  • Mini USB -USB kabelis
  • Vadi

Rīki:

  • Urbis
  • Lodēt
  • Suports
  • Skrūvgrieži
  • Kuteris
  • Uzgriežņu atslēga

Programmatūra:

  • Arduino IDE
  • Photoshop/Paint (pēc izvēles; var zīmēt ar rokām)

Cits:

  • Korpuss (kaste; var iegādāties vai pēc pasūtījuma izdrukāt 3D)
  • Oglekļa vinila plēve (pēc izvēles)
  • Rotējošās kodētāja pogas
  • Slēdžu pārsegi (pēc izvēles)
  • Uzlīmju printeris (pēc izvēles)
  • Gumijas blīvslēgs

Kad esat ieguvis visus (vai pietiekami daudz, lai sāktu) vienumus, mēs varam sākt veidot pogas lodziņa izkārtojumu.

2. darbība: izveidojiet kastes izkārtojumu

Šim solim nepieciešamie rīki:

Photoshop/Paint (pēc izvēles; var zīmēt ar rokām)

Pogas kastes dizains katram var būt atšķirīgs. Tomēr šai instrukcijai mēs izmantosim izkārtojumu, kas sastāv no:

  • 4x trīsceļu pārslēgšanas slēdži
  • 2x vienvirziena pārslēgšanas slēdži
  • 10x vienkāršas spiedpogas
  • 4x rotējošais kodētājs ar vienkāršu pogu

Trīs veidu pārslēgšanas slēdži:

Ir daudz veidu pārslēgšanas slēdžu. Daži ir īslaicīgi, un daži paliek vietā, līdz tiek pārslēgti atpakaļ. Tas ir atkarīgs no jums, kādu veidu izmantot, bet es iesaku izmantot īslaicīgus slēdžus, jo šajā pogu lodziņā nav iespējams vienlaikus darbināt daudzas dažādas pogas. Tā kā pārslēgšanas slēdži ir trīsvirzienu (ieslēgti/izslēgti/ieslēgti), mums ir pieejamas astoņas (4x2) pogas.

Viens veids, kā pārslēgt slēdžus:

Tos var uzskatīt par vienkāršām pogām (izslēgt/ieslēgt). Tie var būt arī īslaicīgi vai pārslēgti. Atkal, atkarībā no personīgajām vēlmēm, ko izvēlēties. Tie dod mums divas (2) pieejamās pogas.

Vienkāršas spiedpogas:

Šādas pogas var izmantot, vienkārši nospiežot tās (izslēgtas/ieslēgtas). Tie dos mums desmit (10) pogas.

Rotējošie kodētāji ar vienkāršu spiedpogu:

Lielāko daļu (ja ne visus) rotējošos kodētājus var bezgalīgi pagriezt abos virzienos. Katru reizi, pagriežot tos virzienā, kas tiek izmantots kā pogas nospiešana. Šos rotējošos kodētājus var arī nospiest, dodot tiem citu pogu. Rotējošie kodētāji dod divpadsmit (12 = 4x3; pagriezt pa kreisi/pagriezt pa labi/spied) pogas.

32 pogas:

Ja tos visus kopā, mēs nospiežam 32 (8+2+10+12) pogas!

Vai esat apmierināts ar izkārtojumu? Laiks sākt celtniecību!

3. darbība: mērīšana un urbšana

Mērīt un urbt
Mērīt un urbt
Mērīt un urbt
Mērīt un urbt

Šim solim nepieciešamie rīki:

  • Suports
  • Urbis
  • Elektronika (pogas, slēdži utt.)

Izmēriet visas pogas, kuras vēlaties pievienot pogu lodziņam. Ja jums ir grūtības atrast elektronikas izmērus, izmantojiet (digitālo) suportu, lai iegūtu to diametru.

Atzīmējiet elektronikas centra punktus uz korpusa virsmas un urbiet caurumus ar pareiziem izmēriem. Vai vēlaties padarīt korpusu nedaudz estētiskāku? Gaidiet, piespiežot pogas!

Kad esat beidzis urbt caurumus, mēs varam likt tam izskatīties kā īstai pogu kastītei!

4. solis: uzstādiet pogas, rotācijas un pārslēgus

Piestipriniet pogas, rotācijas un pārslēgus
Piestipriniet pogas, rotācijas un pārslēgus
Piestipriniet pogas, rotācijas un pārslēgus
Piestipriniet pogas, rotācijas un pārslēgus

Šim solim nepieciešamie rīki:

  • Elektronika (pogas, slēdži utt.)
  • Uzgriežņu atslēga
  • Oglekļa vinila plēve (pēc izvēles)
  • Griezējs (pēc izvēles)

Visai elektronikai jābūt komplektā ar uzgriezni, lai to pieskrūvētu. Ja nē; izmēriet tos un iegādājieties pareizā izmēra uzgriezni.

Ja vēlaties uzlabot (personīgais viedoklis) pogas kastes izskatu, varat izmantot oglekļa šķiedras vinila plēvi. Izgrieziet to līdz sava korpusa sejas izmēram (un nedaudz lielākam), kurā urbāt caurumus. Uzklājiet vinilu un aptiniet to ap stūriem uz aizmuguri. Tas nodrošinās, ka apvalks paliek vietā, kad korpuss ir aizvērts. Pārāk daudz vinila, kas tagad bloķē caurumus, var noņemt, izmantojot griezēju.

Kad esat uzlicis apvalku (vai nē), varat iekļauties elektronikā, lai izveidotu pogas kastes priekšpusi. Tagad jums vajadzētu būt kaut kam, kas patiešām izskatās kā viens! Diemžēl tas vēl nedarbojas…

5. darbība: izveidojiet vadu izkārtojumu

Izstrādājiet vadu izkārtojumu
Izstrādājiet vadu izkārtojumu

Šim solim nepieciešamie rīki:

Photoshop/Paint (pēc izvēles; var zīmēt ar rokām)

Matricas izveide:

Izmantojot matricu, mēs ietaupīsim laiku un daudz nevajadzīgu elektroinstalāciju un lodēšanu. Es pats daudz neiedziļināšos, bet ieteikšu jums apskatīt šo rakstu, ja neesat iepazinies ar matricas jēdzienu.

Izstrādājiet savu matricu vai izmantojiet izkārtojumu no šīs pamācības. Matricā mēs izmantosim piecas grupas. Grupas ir savienotas ar šādiem Arduino kontaktiem:

  • 15: četri rotējošie kodētāji
  • A0: piecas spiedpogas
  • A1: divi trīs virzienu pārslēgi un viena spiedpoga
  • A2: divi trīs virzienu pārslēgi un viena spiedpoga
  • A3: piecas spiedpogas

6. solis: lodēšana

Lodēšana
Lodēšana
Lodēšana
Lodēšana

Šim solim nepieciešamie rīki:

  • Lodāmurs
  • Lodēt
  • Elektronika (uzstādīta uz jūsu korpusa)
  • Arduino Pro Micro
  • Vadi

Neobligāti:

Vispirms augšupielādējiet kodu no nākamās darbības, ja jūs uztraucaties par lodēšanu. Tas ļaus jums pārbaudīt savienojumus

Mēs vēlamies piemērot matricu, kas izstrādāta iepriekšējā solī, faktiskajai pogas lodziņam. Veltiet tam kādu laiku, it īpaši, ja šī ir pirmā lodēšanas reize.

Daži padomi:

  • Izveidojiet vienu grupu vienlaikus
  • Pievienojiet Arduino datoram, lai laiku pa laikam pārbaudītu
  • Nesildiet plastmasas pogas pārāk daudz, jo tās var izkausēt un salauzt savienojumus
  • Nelietojiet pārāk daudz lodēšanas, labāk ir mazāk
  • Katrai grupai/zemei izmantojiet dažādu krāsu vadus

7. solis: koda rakstīšana

Šim solim nepieciešamie rīki:

  • Arduino IDE
  • Kursorsviras bibliotēka
  • Keypad.h (Arduino IDE> Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas …> Meklēt tastatūru un instalēt Marka Stenlija un Aleksandra Breviga izveidoto)

#iekļaut #iekļaut

#define ENABLE_PULLUPS

#definēt NUMROTARIES 4 #definēt NUMBUTTONS 24 #define NUMROWS 5 #definēt NUMCOLS 5

baitu pogas [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}, };

structure rotariesdef {

baitu pin1; baitu pin2; int ccwchar; int cwchar; gaistošs neparakstīts ogles stāvoklis; };

rotariesdef rotators [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

#definēt 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 neparakstīta tabula [6] [4] = {// R_RYST 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 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, 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

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

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

Tastatūra buttbx = Tastatūra (makeKeymap (pogas), rowPins, colPins, NUMROWS, NUMCOLS);

Kursorsvira_ kursorsvira (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, false, false, false, false, false, false, false, false, false, false, false, false);

void setup () {

Joystick.begin (); rotary_init ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

ja (buttbx.getKeys ()) {par (int i = 0; i

void rotary_init () {

par (int i = 0; i

neparakstīts char rotācijas_process (int _i) {

unsigned char pinstate = (digitalRead (rotators [_i].pin2) << 1) | digitalRead (rotācijas [_i].pin1); rotācijas [_i].valsts = ttabula [rotācijas [_i].valsts & 0xf] [pinstate]; atgriešanās (rotācijas [_i].valsts & 0x30); }

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

neparakstīts char rezultāts = rotācijas_process (i); ja (rezultāts == DIR_CCW) {Joystick.setButton (rotācijas .ccwchar, 1); kavēšanās (50); Joystick.setButton (rotācijas .ccwchar, 0); }; ja (rezultāts == DIR_CW) {Joystick.setButton (rotācijas .cwchar, 1); kavēšanās (50); Joystick.setButton (rotācijas .cwchar, 0); }; }}

  1. Pievienojiet Arduino Pro Micro datoram, pievienojot USB kabeli
  2. Lai augšupielādētu kodu, izvēlieties Arduino veidu, dodoties uz Tools> Board:…> Arduino/Genuino Micro.
  3. Lai izvēlētos pareizo USB portu, dodieties uz Rīki> Ports:> COM x (Arduino/Genuino Micro)
  4. Pārbaudiet skici, noklikšķinot uz ✓ augšējā kreisajā stūrī (zem Fails)
  5. Nospiediet → blakus, lai to augšupielādētu Arduino

8. solis: pievienojiet platformai

Pievienojiet savai platformai
Pievienojiet savai platformai

Apsveicam! Jūs esat nonācis tik tālu. Tagad ir pienācis laiks sacīkstēm!

Ieteicams: