Tartalomjegyzék:

Sim Racing Button Box: 8 lépés
Sim Racing Button Box: 8 lépés

Videó: Sim Racing Button Box: 8 lépés

Videó: Sim Racing Button Box: 8 lépés
Videó: Обзор Simagic GTC | GT PRO HUB — Решение для сторонних рулей 2024, November
Anonim
Sim Racing Button Box
Sim Racing Button Box

Üdvözöljük a Sim Racing függőket!

Kifogyóban vannak a billentyűzetek, amelyekhez hozzárendeli az autó összes kezelőszervét? Valószínűleg gombdobozra van szüksége! Ebben az utasításban a semmiből készítünk egyet. A gombdobozban 32 (!) Gombállapot áll rendelkezésre. A gombdoboz használatához nincs szükség további szoftverre. Megtanulja, hogyan kell beállítani egy gombmátrixot, és kódot írni (vagy másolni) az Arduino -ba való feltöltéshez.

Fontos tudni, hogy a gombdoboz nem támogatja a sok egyszerre nyomott gombot.

Lássunk neki!

1. lépés: Előkészítés

Előkészítés
Előkészítés

A gombdoboz létrehozásához szüksége lesz néhány eszközre, gombra és további elemekre. Nyugodtan hozza létre a gombdobozt a vágyainak megfelelően.

Elektronika:

  • Gombok
  • Vált
  • Rotációs kódolók
  • Arduino Pro Micro
  • Mini USB -USB kábel
  • Vezetékek

Eszközök:

  • Fúró
  • Forrasztó
  • Féknyereg
  • Csavarhúzók
  • Vágó
  • Csavarkulcs

Szoftver:

  • Arduino IDE
  • Photoshop/Paint (opcionális, kézzel rajzolható)

Egyéb:

  • Ház (doboz; megvásárolható vagy egyedi 3D nyomtatás)
  • Karbon vinil csomagolás (opcionális)
  • Forgó kódoló gombok
  • Kapcsolófedelek (opcionális)
  • Címkenyomtató (opcionális)
  • Gumi tömítés

Ha megvan az összes (vagy elegendő a kezdéshez) elem, elkezdhetjük a gombdoboz elrendezésének megtervezését.

2. lépés: Tervezze meg a doboz elrendezését

Ehhez a lépéshez szükséges eszközök:

Photoshop/Paint (opcionális, kézzel rajzolható)

A gombdoboz kialakítása mindenkinek más lehet. Ehhez az utasításhoz azonban olyan elrendezést fogunk használni, amely a következőkből áll:

  • 4x háromutas váltókapcsoló
  • 2x egyirányú kapcsolók
  • 10x egyszerű nyomógomb
  • 4x forgó kódoló egyszerű gombbal

Három irányú kapcsoló:

Sokféle váltókapcsoló létezik. Néhány pillanatnyi, néhány pedig a helyén marad, amíg vissza nem kapcsol. Önön múlik, hogy melyik típust használja, de azt tanácsolom, hogy használjon pillanatnyi kapcsolókat, mivel ez a gombdoboz nem képes egyszerre több mutiból működtetni. Mivel a váltókapcsolók háromirányúak (be/ki/be), nyolc (4x2) gomb áll rendelkezésünkre.

A kapcsolók egyik módja:

Ezek egyszerű gomboknak tekinthetők (ki/be). Ezek pillanatnyi vagy átkapcsolhatóak is lehetnek. Ismét a személyes preferenciák függvényében, melyiket válasszuk. Ezekből két (2) gomb áll rendelkezésünkre.

Egyszerű nyomógombok:

Az ehhez hasonló gombok egyszerűen megnyomhatók (ki/be). Ezek tíz (10) gombot adnak nekünk.

Rotációs kódolók egyszerű nyomógombbal:

A legtöbb (ha nem az összes) forgó jeladó mindkét irányba végtelenül elforgatható. Minden alkalommal, amikor elfordítja őket egy olyan irányba, amelyet gombnyomásra használnak. Ezeket a forgó jeladókat egy másik gomb megnyomásával is le lehet nyomni. A forgó jeladók tizenkét (12 = 4x3; balra forgatás/jobbra forgatás/nyomógombot) adnak.

32 gomb:

Ha mindet együtt kapjuk, 32 (8+2+10+12) gombnyomás érhető el!

Elégedett az elrendezéssel? Ideje elkezdeni az építkezést!

3. lépés: Mérés és fúrás

Mérés és fúrás
Mérés és fúrás
Mérés és fúrás
Mérés és fúrás

Ehhez a lépéshez szükséges eszközök:

  • Féknyereg
  • Fúró
  • Elektronika (gombok, kapcsolók, stb.)

Mérje meg az összes gombot, amelyet hozzá szeretne adni a gombdobozhoz. Ha nehezen találja meg elektronikájának méreteit, használjon (digitális) féknyerget az átmérőjének meghatározásához.

Jelölje meg az elektronika középpontját a burkolat felületén, és fúrjon lyukakat a megfelelő méretben. Szeretné egy kicsit esztétikusabbá tenni a házat? Várjon a gombok behelyezésével!

Miután elkészült a lyukak fúrásával, úgy nézhetünk ki, mint egy igazi gombdoboz!

4. lépés: Illessze be a gombokat, forgatógombokat és kapcsológombokat

Illessze be a gombokat, forgatógombokat és kapcsolókat
Illessze be a gombokat, forgatógombokat és kapcsolókat
Illessze be a gombokat, forgatógombokat és kapcsolókat
Illessze be a gombokat, forgatógombokat és kapcsolókat

Ehhez a lépéshez szükséges eszközök:

  • Elektronika (gombok, kapcsolók, stb.)
  • Csavarkulcs
  • Karbon vinil csomagolás (opcionális)
  • Vágó (opcionális)

Minden elektronikának anyával kell rendelkeznie, hogy a helyére csavarja. Ha nem; mérje meg őket, és vásárolja meg a megfelelő méretű anyát.

Ha szeretné javítani (személyes vélemény) a gombdoboz megjelenését, használhat szénszálas vinil borítást. Vágja le a szekrény méretére (és egy kicsit nagyobbra), amelybe lyukakat fúrt. Vigye fel a vinilt, és tekerje körbe a sarkokkal a hátuljához. Ez biztosítja, hogy a csomagolás a helyén maradjon, amikor a ház zárva van. A túl sok vinil, amely most elzárja a lyukakat, vágóval eltávolítható.

Miután feltette a pakolást (vagy nem), beillesztheti az elektronikába, hogy létrehozza a gombdoboz elejét. Most már rendelkeznie kell valamivel, ami valóban annak tűnik! Sajnos ez még nem működik…

5. lépés: Tervezze meg a huzalozás elrendezését

Tervezze meg a huzalozás elrendezését
Tervezze meg a huzalozás elrendezését

Ehhez a lépéshez szükséges eszközök:

Photoshop/Paint (opcionális, kézzel rajzolható)

Mátrix létrehozása:

A mátrix használata időt és sok felesleges huzalozást és forrasztást takarít meg. Magam nem részletezem a részleteket, de azt javaslom, hogy nézze meg ezt a cikket, ha nem ismeri a mátrix fogalmát.

Tervezze meg saját mátrixát, vagy használja az elrendezést az utasításból. A mátrixban öt csoportot fogunk használni. A csoportok az Arduino alábbi pinoutjaihoz kapcsolódnak:

  • 15: négy forgó jeladó
  • A0: öt nyomógomb
  • A1: két háromirányú váltó és egy nyomógomb
  • A2: két háromirányú váltó és egy nyomógomb
  • A3: öt nyomógomb

6. lépés: Forrasztás

Forrasztás
Forrasztás
Forrasztás
Forrasztás

Ehhez a lépéshez szükséges eszközök:

  • Forrasztópáka
  • Forrasztó
  • Elektronika (a házra szerelve)
  • Arduino Pro Micro
  • Vezetékek

Választható:

Először töltse fel a kódot a következő lépésből, ha aggódik a forrasztás miatt. Ez lehetővé teszi a kapcsolatok ellenőrzését

Az előző lépésben tervezett mátrixot szeretnénk alkalmazni a tényleges gombdobozra. Szánjon erre egy kis időt, különösen, ha először forraszt.

Néhány tipp:

  • Csináljon egy csoportot egyszerre
  • Csatlakoztassa az Arduino -t a számítógépéhez, hogy időnként tesztelje
  • Ne melegítse túl a műanyag gombokat, mert megolvadhatnak és megszakíthatják a csatlakozásokat
  • Ne használjon túl sok forrasztást, a kevesebb jobb
  • Minden csoporthoz/földhöz használjon különböző színű vezetékeket

7. lépés: A kód írása

Ehhez a lépéshez szükséges eszközök:

  • Arduino IDE
  • Joystick könyvtár
  • Keypad.h (Arduino IDE> Vázlat> Könyvtár bevonása> Könyvtárak kezelése …> Keresse meg a billentyűzetet, és telepítse a Mark Stanley és Alexander Brevig által létrehozottat)

#befoglalni #befoglalni

#define ENABLE_PULLUPS

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

bájtgombok [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 {

bájt pin1; bájt pin2; int ccwchar; int cwchar; illékony, alá nem írt karakterállapot; };

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 táblázat 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

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

bájt colPins [NUMCOLS] = {14, 16, 10, 9, 8};

Billentyűzet buttbx = Billentyűzet (makeKeymap (gombok), rowPins, colPins, NUMROWS, NUMCOLS);

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

void setup () {

Joystick.begin (); rotary_init ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (void) {

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

void rotary_init () {

mert (int i = 0; i

unsigned char rotary_process (int _i) {

unsigned char pinstate = (digitalRead (rotary [_i].pin2) << 1) | digitalRead (forgó [_i].pin1); rotary [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; return (rotációs [_i].állam & 0x30); }

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

előjel nélküli char eredmény = rotary_process (i); if (eredmény == DIR_CCW) {Joystick.setButton (forgó .ccwchar, 1); késleltetés (50); Joystick.setButton (forgó .ccwchar, 0); }; if (eredmény == DIR_CW) {Joystick.setButton (forgó .cwchar, 1); késleltetés (50); Joystick.setButton (forgó .cwchar, 0); }; }}

  1. Csatlakoztassa Arduino Pro Micro készülékét a számítógéphez az USB -kábel csatlakoztatásával
  2. A kód feltöltéséhez válassza ki az Arduino típust az Eszközök> Fórum:…> Arduino/Genuino Micro menüpontban.
  3. A megfelelő USB -port kiválasztásához válassza az Eszközök> Port:> COM x (Arduino/Genuino Micro) lehetőséget.
  4. Ellenőrizze a vázlatot a bal felső sarokban található ✓ gombra kattintva (a Fájl alatt)
  5. Nyomja meg a mellette található → gombot az Arduino -ba való feltöltéshez

8. lépés: Adja hozzá a berendezéséhez

Hozzáadás a készülékhez
Hozzáadás a készülékhez

Gratulálunk! Eddig jöttél. Most itt az ideje versenyezni!

Ajánlott: