Sisukord:

Sim Racing Button Box: 8 sammu
Sim Racing Button Box: 8 sammu

Video: Sim Racing Button Box: 8 sammu

Video: Sim Racing Button Box: 8 sammu
Video: Самодельный button box🕹 на Arduino для ETS 2. 2024, Juuli
Anonim
Sim Racing nupukast
Sim Racing nupukast

Tere tulemast sim võidusõidu sõltlased!

Kas teil on otsas klahvid, millele kõik auto juhtnupud kaardistada? Tõenäoliselt vajate nupukasti! Selles juhendis loome selle nullist. Nupukastil on 32 (!) Saadaolevat nupu olekut. Selle nupukasti kasutamiseks ei ole vaja lisatarkvara. Õpid, kuidas seadistada nuppmaatriksit ja kirjutada (või kopeerida) kood, mida oma Arduinosse üles laadida.

Oluline on teada, et nupukast ei toeta paljusid korraga vajutatavaid nuppe.

Alustame!

Samm: ettevalmistus

Ettevalmistus
Ettevalmistus

Nupukasti loomiseks vajate tööriistu, nuppe ja muid üksusi. Looge oma soovide järgi vabalt nupukast.

Elektroonika:

  • Nupud
  • Lülitab
  • Pöörlevad kodeerijad
  • Arduino Pro Micro
  • Mini -USB -kaabel
  • Juhtmed

Tööriistad:

  • Puurida
  • Jootma
  • Kalibreerimine
  • Kruvikeerajad
  • Lõikur
  • Mutrivõti

Tarkvara:

  • Arduino IDE
  • Photoshop/Paint (valikuline; saab joonistada käsitsi)

Muu:

  • Korpus (karp; saab osta või kohandatud 3D -printida)
  • Süsinikust vinüülpakend (valikuline)
  • Pöörlevad kodeerimisnupud
  • Lüliti katted (valikuline)
  • Sildiprinter (valikuline)
  • Kummist tihend

Kui teil on kõik (või alustamiseks piisavalt) üksused olemas, võime alustada nupukasti paigutuse kujundamist.

2. samm: kujundage kasti paigutus

Selle sammu jaoks vajalikud tööriistad:

Photoshop/Paint (valikuline; saab joonistada käsitsi)

Nööbikarbi disain võib igaühel olla erinev. Selle juhendi jaoks kasutame aga paigutust, mis koosneb:

  • 4x kolmesuunalised lülitid
  • 2x ühesuunalised lülitid
  • 10x lihtsaid nuppe
  • 4x lihtsa nupuga pöörlev kodeerija

Kolme suunaga lülitid:

Lülituslüliteid on mitut tüüpi. Mõni on hetkeline ja mõni jääb paigale, kuni lülitatakse tagasi. See on teie otsustada, millist tüüpi kasutada, kuid soovitan kasutada hetkelisi lüliteid, kuna see nupukast ei suuda korraga paljusid mitmiknuppe aktiveerida. Kuna lülitid on kolmesuunalised (sisse/välja/sisse), on meil saadaval kaheksa (4x2) nuppu.

Lülitite üks võimalus:

Neid võib pidada lihtsateks nuppudeks (välja/sisse). Need võivad olla ka hetkelised või ümberlülitatavad. Jällegi, sõltuvalt isiklikest eelistustest, mida valida. Need annavad meile kaks (2) saadaolevat nuppu.

Lihtsad nupud:

Selliseid nuppe saab kasutada lihtsalt neid vajutades (välja/sisse). Need annavad meile kümme (10) nuppu.

Pöörlevad kodeerijad lihtsa nupuga:

Enamikku (kui mitte kõiki) pöörlevaid kodeerijaid saab lõputult mõlemasse suunda pöörata. Iga kord, kui pöörate neid suunas, mida kasutatakse nupuvajutusena. Neid pöörlevaid kodeerijaid saab ka vajutada, andes neile teise nupu. Pöörlevad koodrid annavad kaksteist (12 = 4x3; pööra vasakule/pööra paremale/vajutage) nuppu.

32 nuppu:

Nende kõigi koostoomine annab meile 32 (8+2+10+12) nupuvajutust!

Paigutusega rahul? Aeg ehitama hakata!

3. samm: mõõtmine ja puurimine

Mõõtke ja puurige
Mõõtke ja puurige
Mõõtke ja puurige
Mõõtke ja puurige

Selle sammu jaoks vajalikud tööriistad:

  • Kalibreerimine
  • Puurida
  • Elektroonika (nupud, lülitid jne)

Mõõtke kõik nupud, mida soovite oma nupukasti lisada. Kui teil on probleeme elektroonika mõõtmete leidmisega, kasutage nende läbimõõdu saamiseks (digitaalset) nihikut.

Märkige korpuse esiküljele elektroonika keskpunktid ja puurige õige suurusega augud. Kas soovite korpust veidi esteetiliselt meeldivamaks muuta? Oodake nuppude paigaldamisega!

Kui olete aukude puurimise lõpetanud, saame selle välja nägema nagu tõeline nupukast!

Samm: paigaldage nupud, pöördlülitid ja lülitid

Paigaldage nupud, pöördlülitid ja lülitid
Paigaldage nupud, pöördlülitid ja lülitid
Paigaldage nupud, pöördlülitid ja lülitid
Paigaldage nupud, pöördlülitid ja lülitid

Selle sammu jaoks vajalikud tööriistad:

  • Elektroonika (nupud, lülitid jne)
  • Mutrivõti
  • Süsinikust vinüülpakend (valikuline)
  • Lõikur (valikuline)

Kogu teie elektroonika peaks olema varustatud mutriga, mis keerab selle kohale. Kui ei; mõõtke neid ja ostke õige suurusega mutter.

Kui soovite oma nööbikarbi välimust parandada (isiklik arvamus), võite kasutada süsinikkiust vinüülpakendit. Lõika see oma korpuse näo suuruseks (ja natuke suuremaks), millesse augud puurisid. Kandke vinüül ja keerake see ümber nurkade taha. See tagab, et ümbris jääb kaane sulgemisel oma kohale. Liigne vinüül, mis nüüd avad blokeerib, saab lõikuri abil eemaldada.

Pärast ümbrise panemist (või mitte) saate oma nupukarbi esiosa loomiseks elektroonikasse sobitada. Nüüd peaks teil olema midagi, mis tõesti näeb välja nagu üks! Kahjuks see veel ei tööta…

Samm: kujundage juhtmestiku paigutus

Kujundage juhtmestiku paigutus
Kujundage juhtmestiku paigutus

Selle sammu jaoks vajalikud tööriistad:

Photoshop/Paint (valikuline; saab joonistada käsitsi)

Maatriksi loomine:

Maatriksi kasutamine säästab meie aega ja palju tarbetut juhtmestikku ja jootmist. Ma ei lasku ise väga üksikasjalikult, kuid soovitan teil seda artiklit vaadata, kui te ei ole maatriksi mõistega kursis.

Kujundage oma maatriks või kasutage selle juhendi paigutust. Maatriksis kasutame viit rühma. Grupid on ühendatud järgmiste Arduino pistikutega:

  • 15: neli pöörlevat kodeerijat
  • A0: viis vajutusnuppu
  • A1: kaks kolme suuna lülitit ja üks nupp
  • A2: kaks kolme suuna lülitit ja üks nupp
  • A3: viis nuppu

6. samm: jootmine

Jootmine
Jootmine
Jootmine
Jootmine

Selle sammu jaoks vajalikud tööriistad:

  • Jootekolb
  • Jootma
  • Elektroonika (paigaldatud teie korpusele)
  • Arduino Pro Micro
  • Juhtmed

Valikuline:

Kui muretsete jootmise pärast, laadige kood järgmisest sammust üles. See võimaldab teil oma ühendusi kontrollida

Soovime rakendada eelmises etapis kavandatud maatriksit tegelikule nupukastile. Võtke selleks aega, eriti kui see on teie esimene jootmine.

Mõned näpunäited:

  • Tehke üks rühm korraga
  • Aeg -ajalt testimiseks ühendage Arduino arvutiga
  • Ärge kuumutage plastnuppe liiga palju, kuna need võivad sulada ja ühendusi katkestada
  • Ärge kasutage liiga palju jootet, vähem on parem
  • Kasutage iga rühma/maa jaoks erinevat värvi juhtmeid

Samm: koodi kirjutamine

Selle sammu jaoks vajalikud tööriistad:

  • Arduino IDE
  • Joystick raamatukogu
  • Keypad.h (Arduino IDE> Visand> Kaasa raamatukogu> Raamatukogude haldamine …> Otsige klaviatuuri ja installige Mark Stanley ja Alexander Brevigi loodud klaviatuur)

#kaasama #kaasama

#define ENABLE_PULLUPS

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

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

bait pin1; bait pin2; int ccwchar; int cwchar; lenduv allkirjastamata süsiniku olek; };

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

#defineeri R_CCW_BEGIN 0x1 #defineeri R_CW_BEGIN 0x2 #defineeri R_START_M 0x3 #defineeri R_CW_BEGIN_M 0x4 #defineeri R_CCW_BEGIN_M 0x5 const allkirjata tabel [6] [4] = {// R_W 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, REG_STARW, 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 märkimata tabel [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

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

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

Klahvistik buttbx = Klaviatuur (makeKeymap (nupud), rowPins, colPins, NUMROWS, NUMCOLS);

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

tühine seadistus () {

Joystick.begin (); rotary_init ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (tühine) {

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

void rotary_init () {

jaoks (int i = 0; i

allkirjastamata char rotary_process (int _i) {

allkirjastamata char pinstate = (digitalRead (rotary [_i].pin2) << 1) | digitalRead (pöörlevad [_i].pin1); pöörlevad [_i].riik = ttabel [pöörlevad [_i].riik & 0xf] [pinstate]; return (pöörlevad [_i].riik & 0x30); }

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

allkirjastamata char tulemus = rotary_process (i); if (tulemus == DIR_CCW) {Joystick.setButton (pöörlevad .ccwchar, 1); viivitus (50); Joystick.setButton (pöörlevad .ccwchar, 0); }; if (tulemus == DIR_CW) {Joystick.setButton (pöörlevad .cwchar, 1); viivitus (50); Joystick.setButton (pöörlevad .cwchar, 0); }; }}

  1. Ühendage Arduino Pro Micro arvutiga, ühendades USB -kaabli
  2. Koodi üleslaadimiseks valige Arduino tüüp, valides Tools> Board:…> Arduino/Genuino Micro.
  3. Õige USB -pordi valimiseks avage Tools> Port:> COM x (Arduino/Genuino Micro)
  4. Kontrollige visandit, klõpsates vasakus ülanurgas ✓ (faili all)
  5. Arduinosse üleslaadimiseks vajutage selle kõrval olevat →

Samm: lisage oma seadmesse

Lisage oma seadmesse
Lisage oma seadmesse

Palju õnne! Sa oled nii kaugele jõudnud. Nüüd on aeg võistelda!

Soovitan: