Sisällysluettelo:

Sim Racing Button Box: 8 vaihetta
Sim Racing Button Box: 8 vaihetta

Video: Sim Racing Button Box: 8 vaihetta

Video: Sim Racing Button Box: 8 vaihetta
Video: SnowRunner Phase 8 NAME, LOCATION & new trucks INFO 2024, Heinäkuu
Anonim
Sim Racing -painikelaatikko
Sim Racing -painikelaatikko

Tervetuloa sim -kilpa -addikti!

Ovatko näppäimistösi lopussa, jotta voit yhdistää kaikki auton hallintalaitteet? Tarvitset todennäköisesti painikelaatikon! Tässä Instructable -ohjelmassa luomme sellaisen tyhjästä. Painikelaatikossa on 32 (!) Käytettävissä olevaa painiketilaa. Tämän painikelaatikon käyttämiseen ei tarvita lisäohjelmistoja. Opit määrittämään painikematriisin ja kirjoittamaan (tai kopioimaan) koodin ladattavaksi Arduinoosi.

On tärkeää tietää, että painikelaatikko ei tue monia samanaikaisesti painettuja painikkeita.

Aloitetaan!

Vaihe 1: Valmistelu

Valmistelu
Valmistelu

Painikelaatikon luomiseen tarvitset työkaluja, painikkeita ja muita kohteita. Voit vapaasti luoda painikelaatikon toiveidesi mukaan.

Elektroniikka:

  • Painikkeet
  • Vaihtaa
  • Pyörivät anturit
  • Arduino Pro Micro
  • Mini USB -USB -kaapeli
  • Johdot

Työkalut:

  • Porata
  • Juottaa
  • Jarrusatula
  • Ruuvimeisselit
  • Leikkuri
  • Jakoavain

Ohjelmisto:

  • Arduino IDE
  • Photoshop/Paint (valinnainen; voidaan piirtää käsin)

Muu:

  • Kotelo (laatikko; voidaan ostaa tai mukauttaa 3D -tulostus)
  • Hiilivinyylikääre (valinnainen)
  • Pyörivät anturin nupit
  • Kytkinsuojus (valinnainen)
  • Tarratulostin (valinnainen)
  • Kumitiiviste

Kun sinulla on kaikki (tai tarpeeksi aloittaaksesi) kohteet, voimme aloittaa painikelaatikon asettelun suunnittelun.

Vaihe 2: Suunnittele laatikon asettelu

Tässä vaiheessa tarvittavat työkalut:

Photoshop/Paint (valinnainen; voidaan piirtää käsin)

Nappulaatikon muotoilu voi olla erilainen kaikille. Tässä Instructable -ohjelmassa käytämme kuitenkin asettelua, joka koostuu:

  • 4x kolmisuuntainen vaihtokytkin
  • 2x yksisuuntainen vaihtokytkin
  • 10x yksinkertaisia painikkeita
  • 4x pyörivä anturi yksinkertaisella painikkeella

Kolme tapaa vaihtaa kytkintä:

Vaihtokytkimiä on monenlaisia. Jotkut ovat hetkellisiä ja jotkut pysyvät paikallaan, kunnes vaihdetaan takaisin. Sinun on päätettävä, mitä tyyppiä käytät, mutta suosittelen käyttämään hetkellisiä kytkimiä, koska tässä painikelaatikossa ei voi olla useita monipainikkeita samanaikaisesti. Koska vaihtokytkimet ovat kolmisuuntaisia (päälle/pois/päälle), käytettävissä on kahdeksan (4x2) painiketta.

Yksi tapa vaihtaa kytkimiä:

Näitä voidaan pitää yksinkertaisina painikkeina (pois/päällä). Nämä voivat myös olla hetkellisiä tai vaihtaa. Jälleen, henkilökohtaisista mieltymyksistä riippuen, kumpi valita. Nämä antavat meille kaksi (2) käytettävissä olevaa painiketta.

Yksinkertaiset painikkeet:

Tällaisia painikkeita voidaan käyttää yksinkertaisesti painamalla niitä (pois/päälle). Nämä antavat meille kymmenen (10) painiketta.

Pyörivät anturit yksinkertaisella painikkeella:

Useimmat (elleivät kaikki) pyörivät anturit voidaan kääntää molempiin suuntiin loputtomasti. Aina kun käännät niitä suuntaan, jota käytetään painikkeen painalluksena. Näitä kiertokoodereita voidaan myös painaa ja antaa heille toinen painike. Pyörivät anturit antavat kaksitoista (12 = 4x3; kierrä vasemmalle/kierrä oikealle/paina) painiketta.

32 painiketta:

Niiden yhdistäminen antaa meille 32 (8+2+10+12) painikkeen painallusta!

Tyytyväinen ulkoasuun? Aika aloittaa rakentaminen!

Vaihe 3: Mittaa ja poraa

Mittaa ja poraa
Mittaa ja poraa
Mittaa ja poraa
Mittaa ja poraa

Tässä vaiheessa tarvittavat työkalut:

  • Jarrusatula
  • Porata
  • Elektroniikka (painikkeet, kytkimet jne.)

Mittaa kaikki painikkeet, jotka haluat lisätä painikelaatikkoosi. Jos sinulla on ongelmia elektroniikan mittojen löytämisessä, käytä (digitaalista) paksuusmittaa niiden halkaisijan selvittämiseen.

Merkitse elektroniikan keskipisteet kotelon etupuolelle ja poraa reiät oikean kokoisina. Haluatko tehdä kotelosta hieman esteettisemmän? Odota painikkeiden kiinnittämistä!

Kun olet porannut reiät, voimme saada sen näyttämään todelliselta painikelaatikolta!

Vaihe 4: Asenna painikkeet, kiertopyörät ja kytkimet

Asenna napit, kiertopyörät ja vivut
Asenna napit, kiertopyörät ja vivut
Asenna napit, kiertopyörät ja vivut
Asenna napit, kiertopyörät ja vivut

Tässä vaiheessa tarvittavat työkalut:

  • Elektroniikka (painikkeet, kytkimet jne.)
  • Jakoavain
  • Hiilivinyylikääre (valinnainen)
  • Leikkuri (valinnainen)

Kaikessa elektroniikassa tulee olla mutteri, joka ruuvaa sen paikalleen. Jos ei; mittaa ne ja osta oikean kokoinen mutteri.

Jos haluat parantaa (henkilökohtainen mielipide) painikelaatikon ulkoasua, voit käyttää hiilikuituvinyylikääreitä. Leikkaa se kotelosi kasvojen kokoon (ja hieman suuremmiksi), johon porasit reiät. Levitä vinyyli ja kiedo se kulmien taakse. Tämä varmistaa, että kääre pysyy paikallaan, kun kotelo on suljettu. Liiallinen vinyyli, joka nyt estää reiät, voidaan poistaa leikkurilla.

Kun olet asettanut kääreen (tai et), voit sovittaa elektroniikan luoksesi painikelaatikon etuosan. Sinulla pitäisi nyt olla jotain, joka todella näyttää jo yhdeltä! Valitettavasti se ei vielä toimi…

Vaihe 5: Suunnittele johdotusasettelu

Suunnittele johdotusasettelu
Suunnittele johdotusasettelu

Tässä vaiheessa tarvittavat työkalut:

Photoshop/Paint (valinnainen; voidaan piirtää käsin)

Matriisin luominen:

Matriisin käyttö säästää aikaa ja paljon tarpeetonta johdotusta ja juottamista. En mene itse yksityiskohtiin, mutta ehdotan, että tutustut tähän artikkeliin, jos et tunne matriisin käsitettä.

Suunnittele oma matriisi tai käytä tämän ohjeen asettelua. Matriisissa käytämme viittä ryhmää. Ryhmät on liitetty seuraaviin Arduinon pinouteihin:

  • 15: neljä pyörivää anturia
  • A0: viisi painiketta
  • A1: kaksi kolmitietä ja yksi painike
  • A2: kaksi kolmitietä ja yksi painike
  • A3: viisi painiketta

Vaihe 6: Juotos

Juotos
Juotos
Juotos
Juotos

Tässä vaiheessa tarvittavat työkalut:

  • Juotin
  • Juottaa
  • Elektroniikka (asennettu koteloosi)
  • Arduino Pro Micro
  • Johdot

Valinnainen:

Lataa koodi seuraavasta vaiheesta ensin, jos olet huolissasi juottamisesta. Näin voit tarkistaa yhteytesi

Haluamme soveltaa edellisessä vaiheessa suunniteltua matriisia varsinaiseen painikelaatikkoon. Käytä tähän aikaa, varsinkin jos tämä on ensimmäinen juotos.

Joitakin vinkkejä:

  • Tee yksi ryhmä kerrallaan
  • Liitä Arduino tietokoneeseen testataksesi ajoittain
  • Älä kuumenna muovipainikkeita liikaa, koska ne voivat sulattaa ja katkaista liitännät
  • Älä käytä liikaa juotetta, vähemmän on parempi
  • Käytä eri värijohtoja jokaiselle ryhmälle/maahan

Vaihe 7: Koodin kirjoittaminen

Tässä vaiheessa tarvittavat työkalut:

  • Arduino IDE
  • Joystick -kirjasto
  • Keypad.h (Arduino IDE> Luonnos> Sisällytä kirjasto> Hallitse kirjastoja…> Etsi näppäimistö ja asenna Mark Stanleyn ja Alexander Brevigin luoma näppäimistö)

#Sisällytä #Sisällytä

#define ENABLE_PULLUPS

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

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

tavu pin1; tavu pin2; int ccwchar; int cwchar; haihtuva allekirjoittamaton char -tila; };

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 table 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},}; #loppu Jos

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

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

Näppäimistö buttbx = Näppäimistö (makeKeymap (painikkeet), 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, false, false);

void setup () {

Joystick.begin (); rotary_init ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

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

void rotary_init () {

varten (int i = 0; i

unsigned char rotary_process (int _i) {

unsigned char pinstate = (digitalRead (rotary [_i].pin2) << 1) | digitalRead (pyörivät [_i].pin1); pyörivät [_i].valtio = ttable [pyörivät [_i].valtio & 0xf] [pinstate]; return (pyörivät [_i].valtio & 0x30); }

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

allekirjoittamaton char -tulos = rotary_process (i); if (tulos == DIR_CCW) {Joystick.setButton (pyörivät .ccwchar, 1); viive (50); Joystick.setButton (pyörivät .ccwchar, 0); }; if (tulos == DIR_CW) {Joystick.setButton (pyörivät .cwchar, 1); viive (50); Joystick.setButton (pyörivät .cwchar, 0); }; }}

  1. Liitä Arduino Pro Micro tietokoneeseen liittämällä USB -kaapeli
  2. Lataa koodi valitsemalla Arduino -tyyppi valitsemalla Työkalut> Hallitus:…> Arduino/Genuino Micro.
  3. Voit valita oikean USB -portin valitsemalla Työkalut> Portti:> COM x (Arduino/Genuino Micro)
  4. Vahvista luonnos napsauttamalla ✓ vasemmassa yläkulmassa (Tiedosto)
  5. Lataa sen Arduinoon painamalla sen vieressä olevaa →

Vaihe 8: Lisää laitteeseesi

Lisää laitteeseesi
Lisää laitteeseesi

Onnittelut! Olet tullut niin pitkälle. Nyt on aika kilpailla!

Suositeltava: