Kazalo:
- 1. korak: Priprava
- 2. korak: Oblikujte postavitev škatle
- 3. korak: Izmerite in vrtajte
- 4. korak: Namestite gumbe, rotacije in preklopne ročice
- 5. korak: Oblikujte postavitev ožičenja
- Korak 6: Spajkanje
- 7. korak: Pisanje kode
- 8. korak: Dodajte v svojo ploščad
Video: Sim Racing Button Box: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Dobrodošli odvisniki od sim dirk!
Vam zmanjkuje povezav na tipke za preslikavo vseh kontrolnikov vašega avtomobila? Verjetno potrebujete gumbno omarico! V tem navodilu bomo eno ustvarili iz nič. V polju z gumbi bo na voljo 32 (!) Stanj gumbov. Za uporabo te gumbe ni potrebna dodatna programska oprema. Naučili se boste, kako nastaviti matrico gumbov in napisati (ali kopirati) kodo za nalaganje v svoj Arduino.
Pomembno je vedeti, da polje z gumbi ne podpira veliko hkrati pritisnjenih gumbov.
Začnimo!
1. korak: Priprava
Za ustvarjanje gumba za gumbe boste potrebovali nekaj orodij, gumbov in več predmetov. Po želji ustvarite polje z gumbi.
Elektronika:
- Gumbi
- Preklopi
- Rotacijski dajalniki
- Arduino Pro Micro
- Mini kabel USB na USB
- Žice
Orodja:
- Vrtalnik
- Spajkanje
- Čeljust
- Izvijači
- Rezalnik
- Ključ
Programska oprema:
- Arduino IDE
- Photoshop/Paint (neobvezno; lahko narišete ročno)
Drugo:
- Ohišje (škatla; lahko ga kupite ali 3D natisnete po meri)
- Ogljikov vinilni ovoj (neobvezno)
- Ročaji dajalnika
- Pokrovi stikal (neobvezno)
- Tiskalnik nalepk (neobvezno)
- Gumijasti vložek
Ko imate vse (ali dovolj za začetek) elementov, lahko začnemo oblikovati postavitev gumba.
2. korak: Oblikujte postavitev škatle
Orodja, potrebna za ta korak:
Photoshop/Paint (neobvezno; lahko narišete ročno)
Oblika škatlice z gumbi je lahko za vsakogar drugačna. Vendar bomo za ta Instructable uporabili postavitev, ki jo sestavljajo:
- 4x tri smerna stikala
- 2x enosmerna stikala
- 10x preprosti gumbi
- 4x vrtljivi dajalnik s preprostim gumbom
Trosmerna stikala:
Obstaja veliko vrst stikal. Nekateri so trenutni, nekateri ostanejo na mestu, dokler se ne vrnejo nazaj. Katero vrsto boste uporabili, je odvisno od vas, vendar svetujem, da uporabite trenutna stikala, saj ta gumb ne more imeti aktivnih več različnih gumbov hkrati. Ker so stikala tri smerna (vklop/izklop/vklop), imamo na voljo osem (4x2) gumbov.
Enosmerna stikala:
Te lahko štejemo za preproste gumbe (izklop/vklop). Ti so lahko tudi trenutni ali preklopni. Spet odvisno od osebnih želja, kaj izbrati. Ta nam dajeta dva (2) razpoložljiva gumba.
Enostavni gumbi:
Takšne gumbe lahko uporabite tako, da jih preprosto pritisnete (izklop/vklop). Tako bomo dobili deset (10) gumbov.
Rotacijski dajalniki s preprostim pritiskom na gumb:
Večino (če ne vseh) rotacijskih kodirnikov je mogoče neskončno obračati v obe smeri. Vsakič, ko jih zasukate v smer, se uporablja kot pritisk na gumb. Na te rotacijske dajalnike je mogoče pritisniti in jim dati še en gumb. Vrtljivi dajalniki dajejo dvanajst (12 = 4x3; vrtite levo/zavrtite desno/potisnite) tipke.
32 gumbov:
Če jih združimo skupaj, dobimo 32 pritiskov na gumbe (8+2+10+12)!
Ste zadovoljni s postavitvijo? Čas je za začetek gradnje!
3. korak: Izmerite in vrtajte
Orodja, potrebna za ta korak:
- Čeljust
- Vrtalnik
- Elektronika (gumbi, stikala itd.)
Izmerite vse gumbe, ki jih želite dodati v polje z gumbi. Če imate težave pri iskanju dimenzij vaše elektronike, uporabite (digitalno) čeljust, da dobite njihov premer.
Označite središčne točke elektronike na sprednji strani ohišja in izvrtajte luknje ustreznih velikosti. Ali želite ohišje narediti nekoliko bolj estetsko? Počakajte z namestitvijo gumbov!
Ko končate z vrtanjem lukenj, lahko postane videti kot prava škatla z gumbi!
4. korak: Namestite gumbe, rotacije in preklopne ročice
Orodja, potrebna za ta korak:
- Elektronika (gumbi, stikala itd.)
- Ključ
- Ogljikov vinilni ovoj (neobvezno)
- Rezalnik (neobvezno)
Vsa vaša elektronika mora imeti priloženo matico, da jo privijete. Če ne; izmerite jih in kupite matico pravilne velikosti.
Če želite izboljšati (osebno mnenje) videz škatle z gumbi, lahko uporabite vinilni ovoj iz ogljikovih vlaken. Odrežite ga na velikost (in nekoliko večjo) površine ohišja, v katerem ste izvrtali luknje. Nanesite vinil in ga ovijte okoli vogalov nazaj. Tako boste zagotovili, da obloga ostane na svojem mestu, ko je zaprta. Odvečni vinil, ki zdaj blokira luknje, lahko odstranite z rezalnikom.
Ko ste oblekli ovoj (ali ne), se lahko vklopite v elektroniko in ustvarite sprednjo stran gumba. Zdaj bi morali imeti nekaj, kar res že izgleda! Žal še ne deluje …
5. korak: Oblikujte postavitev ožičenja
Orodja, potrebna za ta korak:
Photoshop/Paint (neobvezno; lahko narišete ročno)
Ustvarjanje matrike:
Z uporabo matrice boste prihranili čas in veliko nepotrebnega ožičenja in spajkanja. Sam ne bom šel v podrobnosti, vendar vam predlagam, da si ogledate ta članek, če niste seznanjeni s pojmom matrike.
Oblikujte svojo matriko ali uporabite postavitev iz tega navodila. V matrici bomo uporabili pet skupin. Skupine so povezane z naslednjimi izpisi na Arduinu:
- 15: štirje rotacijski dajalniki
- A0: pet gumbov
- A1: dva tri smerna preklopa in en gumb
- A2: dva trosmerna preklopa in en gumb
- A3: pet gumbov
Korak 6: Spajkanje
Orodja, potrebna za ta korak:
- Spajkalnik
- Spajkanje
- Elektronika (nameščena na ohišju)
- Arduino Pro Micro
- Žice
Neobvezno:
Če vas skrbi spajkanje, najprej naložite kodo iz naslednjega koraka. Tako boste lahko preverili svoje povezave
Matriko, oblikovano v prejšnjem koraku, želimo uporabiti za dejansko polje z gumbi. Za to si vzemite nekaj časa, še posebej, če to spajkate prvič.
Nekaj nasvetov:
- Naredite eno skupino hkrati
- Arduino povežite z računalnikom, da ga občasno preizkusite
- Plastičnih gumbov ne segrevajte preveč, saj se lahko topijo in prekinejo povezave
- Ne uporabljajte preveč spajkanja, bolje je manj
- Za vsako skupino/ozemljitev uporabite različne barvne žice
7. korak: Pisanje kode
Orodja, potrebna za ta korak:
- Arduino IDE
- Knjižnica igralnih palic
- Keypad.h (Arduino IDE> Sketch> Include Library> Manage Libraries …> Poiščite tipkovnico in namestite tisto, ki sta jo ustvarila Mark Stanley in Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
bajtni gumbi [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 {
bajt pin1; bajtni pin2; int ccwchar; int cwchar; nestanovitno stanje brez podpisanega znaka; };
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 ttable [6] [4] = RC, RG, RG, RG, RG, RG 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_STM 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 tabela [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};
bajt colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Tipkovnica buttbx = Tipkovnica (makeKeymap (gumbi), vrstice, 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);
void setup () {
Joystick.begin (); rotacijski_init ();}
void loop () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {for (int i = 0; i
void rotary_init () {
za (int i = 0; i
unsigned char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotacije [_i].pin1); rotaries [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; return (rotacije [_i]. stanje & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
rezultat brez podpisanega znaka = rotacijski_proces (i); if (rezultat == DIR_CCW) {Joystick.setButton (rotacije .ccwchar, 1); zamuda (50); Joystick.setButton (rotacije .ccwchar, 0); }; if (rezultat == DIR_CW) {Joystick.setButton (rotacije .cwchar, 1); zamuda (50); Joystick.setButton (rotacije .cwchar, 0); }; }}
- Arduino Pro Micro povežite z računalnikom tako, da priključite kabel USB
- Če želite naložiti kodo, izberite vrsto Arduino tako, da odprete Orodja> Kartica:…> Arduino/Genuino Micro.
- Če želite izbrati pravilna vrata USB, pojdite na Orodja> Vrata:> COM x (Arduino/Genuino Micro)
- Skico preverite s klikom na ✓ v zgornjem levem kotu (pod Datoteka)
- Pritisnite → poleg, da ga naložite v Arduino
8. korak: Dodajte v svojo ploščad
Čestitamo! Prišli ste tako daleč. Zdaj je čas za dirko!
Priporočena:
SIM900A 2G modul + hologramska kartica SIM = zmagovalna kombinacija v kategoriji "umazanija poceni"?: 6 korakov
Modul 2G SIM900A + hologramska kartica SIM = zmagovalna kombinacija v kategoriji "umazanija poceni"?: IoT, modna beseda tega desetletja, včasih pride v misel celo ljudem, ki menijo, da so odporni na modno muho, med njimi sem bil tudi jaz. Nekega dne sem brskal po Internet in videl podjetje, za katerega še nisem slišal (Hologram), ki je podarilo kartice SIM
Preklopna plošča DIY Flight Sim: 7 korakov (s slikami)
Plošča DIY Flight Sim Switch: Po dolgih letih preživetja v skupnosti sim -letalcev in vključevanju v vedno bolj zapletena letala, sem hrepenela po tem, da bi lahko držala roke na fizičnih stikalih, namesto da bi med uporabo letela z desno roko m
Zaslon DIU Sim Racing Arduino: 3 koraki
DIY Sim Racing Display Arduino: Tako lahko zgradite zelo enostaven in poceni USB zaslon Sim Racing USB z Arduino UNO in 3,5 " TFT Display.Ima API za Assetto Corsa, ki vzame podatke iz skupnega pomnilnika igre, programirane v C# v Visual Studiu, nato pošlje
Sim Racing Button Box: 7 korakov (s slikami)
Sim Racing Button Box: Okvir z gumbi je naprava, ki se uporablja v Sim Racingu in omogoča dodelitev gumbov, stikal in gumbov različnim upravljalnikom avtomobila. Običajne dodelitve gumbov so stvari, kot so gumb za zagon, PTT, zahtevek itd. Stikala za preklop delujejo odlično za brisalce, glavo
Juke Box za zelo mlade Aka Raspi-Music-Box: 5 korakov
Juke Box za zelo mlade … Aka Raspi-Music-Box: Navdihnjen z navodili " Raspberry-Pi-based-RFID-Music-Robot " opisujejo glasbeni predvajalnik ROALDH za svojega 3-letnika, sem se odločil zgraditi juke box za svoje še mlajše otroke. To je v bistvu škatla s 16 gumbi in Raspi 2 i