Sadržaj:
- Korak 1: Priprema
- Korak 2: Dizajnirajte izgled kutije
- Korak 3: Mjerenje i bušenje
- Korak 4: Postavite gumbe, rotacije i prekidače
- Korak 5: Osmislite raspored ožičenja
- Korak 6: Lemljenje
- Korak 7: Pisanje koda
- Korak 8: Dodajte u svoju opremu
Video: Okvir s gumbima za Sim Racing: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Dobrodošli ovisnici o sim utrkama!
Ponestaje li vam veza s tipkama za mapiranje svih kontrola vašeg automobila? Vjerojatno vam je potrebna kutija s gumbima! U ovom Instructableu stvorit ćemo jedan od početka. Okvir s gumbima imat će 32 (!) Dostupna stanja gumba. Za korištenje ovog okvira s gumbima nije potreban dodatni softver. Naučit ćete kako postaviti matricu gumba i napisati (ili kopirati) kôd za prijenos na svoj Arduino.
Važno je znati da okvir s gumbima ne podržava puno istodobno pritisnutih gumba.
Započnimo!
Korak 1: Priprema
Za izradu okvira s gumbima trebat će vam neki alati, gumbi i više stavki. Kućište s gumbima slobodno stvorite prema svojoj želji.
Elektronika:
- Gumbi
- Uključuje / isključuje
- Rotacijski davači
- Arduino Pro Micro
- Mini USB na USB kabel
- Žice
Alati:
- Bušilica
- Lem
- Čeljust
- Odvijači
- Rezač
- Ključ
Softver:
- Arduino IDE
- Photoshop/Boja (izborno; može se nacrtati rukom)
Ostalo:
- Kućište (kutija; može se kupiti ili 3D ispisati po mjeri)
- Ugljični vinilni omot (izborno)
- Okretni gumbi kodera
- Poklopci prekidača (opcionalno)
- Pisač naljepnica (izborno)
- Gumeni uložak
Nakon što imate sve (ili dovoljno za početak) stavki, možemo početi dizajnirati izgled okvira s gumbima.
Korak 2: Dizajnirajte izgled kutije
Alati potrebni za ovaj korak:
Photoshop/Boja (izborno; može se nacrtati rukom)
Dizajn kutije s gumbima može biti različit za svakoga. Međutim, za ovaj Instructable koristit ćemo izgled koji se sastoji od:
- 4x trosmjerni prekidači
- 2x jednosmjerni prekidači
- 10x jednostavnih gumba
- 4x rotacijski davač s jednostavnim gumbom
Trosmjerni prekidači:
Postoji mnogo vrsta prekidača. Neki su trenutačni, a neki ostaju na mjestu dok se ne vrate. Na vama je koji tip ćete koristiti, ali savjetujem da koristite trenutne prekidače jer ovaj okvir s gumbima ne može imati više aktivnih gumba u isto vrijeme. Budući da su prekidači trosmjerni (uključivanje/isključivanje/uključivanje), imamo na raspolaganju osam (4x2) gumba.
Jednosmjerni prekidači:
To se može smatrati jednostavnim gumbima (isključeno/uključeno). Oni također mogu biti trenutni ili promjenjivi. Opet, do osobnih preferencija koje odabrati. Oni nam daju dva (2) dostupna gumba.
Jednostavni gumbi:
Ovakvi gumbi mogu se koristiti jednostavnim pritiskom (isključeno/uključeno). To će nam dati deset (10) gumba.
Rotacijski davači s jednostavnim pritiskom na gumb:
Većina (ako ne i svi) rotacijskih davača može se beskonačno okretati u oba smjera. Svaki put kad ih okrenete u smjeru koristi se kao pritisak na gumb. Ovi rotacijski enkoderi također se mogu pritisnuti dajući im još jednu tipku. Rotacijski davači daju dvanaest (12 = 4x3; zakretanje ulijevo/rotiranje udesno/guranje).
32 gumba:
Ako ih sve zajedno dobijete, dobijate 32 pritiska (8+2+10+12)!
Jeste li zadovoljni izgledom? Vrijeme je za početak gradnje!
Korak 3: Mjerenje i bušenje
Alati potrebni za ovaj korak:
- Čeljust
- Bušilica
- Elektronika (tipke, prekidači itd.)
Izmjerite sve gumbe koje želite dodati u okvir s gumbima. Ako imate problema s pronalaženjem dimenzija vaše elektronike, upotrijebite (digitalnu) čeljust da biste dobili njihov promjer.
Označite središnje točke elektronike na prednjoj strani kućišta i izbušite rupe ispravnih veličina. Želite li kućište učiniti estetski ugodnijim? Pričekajte s postavljanjem gumba!
Kad završite s bušenjem rupa, možemo početi izgledati kao prava kutija s gumbima!
Korak 4: Postavite gumbe, rotacije i prekidače
Alati potrebni za ovaj korak:
- Elektronika (tipke, prekidači itd.)
- Ključ
- Ugljični vinilni omot (izborno)
- Rezač (opcionalno)
Sva vaša elektronika trebala bi imati maticu za pričvršćivanje. Ako ne; izmjerite ih i kupite maticu odgovarajuće veličine.
Ako želite poboljšati (osobno mišljenje) izgled kutije s gumbima, možete upotrijebiti omot od vinila od ugljičnih vlakana. Izrežite ga na veličinu (i malo veću) lica vašeg kućišta u kojem ste izbušili rupe. Nanesite vinil i omotajte ga oko uglova na stražnjoj strani. To će osigurati da omot ostane na svom mjestu kada se okvir zatvori. Prekomjerni vinil koji sada blokira rupe može se ukloniti rezačem.
Nakon što ste stavili omot (ili ne), možete se uklopiti u elektroniku kako biste stvorili prednji dio kutije s gumbima. Sada biste trebali imati nešto što već stvarno nalikuje! Nažalost, još ne radi …
Korak 5: Osmislite raspored ožičenja
Alati potrebni za ovaj korak:
Photoshop/Boja (izborno; može se nacrtati rukom)
Izrada matrice:
Korištenje matrice uštedjet će nam vrijeme i mnogo nepotrebnog ožičenja i lemljenja. Neću ulaziti u detalje, ali predložit ću vam da pogledate ovaj članak ako niste upoznati s konceptom matrice.
Dizajnirajte vlastitu matricu ili upotrijebite izgled iz ovog uputstva. U matrici ćemo koristiti pet grupa. Grupe su povezane sa sljedećim pinout -ovima na Arduinu:
- 15: četiri rotacijska davača
- A0: pet tipki
- A1: dva trosmjerna prekidača i jedan gumb
- A2: dva trosmjerna prekidača i jedan gumb
- A3: pet tipki
Korak 6: Lemljenje
Alati potrebni za ovaj korak:
- Lemilica
- Lem
- Elektronika (montirana na vašem kućištu)
- Arduino Pro Micro
- Žice
Izborno:
Najprije prenesite kôd iz sljedećeg koraka ako ste zabrinuti zbog lemljenja. To će vam omogućiti da provjerite svoje veze
Želimo primijeniti matricu dizajniranu u prethodnom koraku na stvarni okvir s gumbima. Odvojite malo vremena za to, pogotovo ako vam je ovo prvi put da lemite.
Neki savjeti:
- Radite jednu grupu u isto vrijeme
- Spojite Arduino na računalo da biste ga povremeno testirali
- Nemojte previše zagrijavati plastične gumbe jer se mogu otopiti i prekinuti veze
- Nemojte koristiti previše lemljenja, manje je bolje
- Za svaku skupinu/uzemljenje koristite žice različitih boja
Korak 7: Pisanje koda
Alati potrebni za ovaj korak:
- Arduino IDE
- Biblioteka joysticka
- Keypad.h (Arduino IDE> Sketch> Include Library> Manage Libraries …> Potražite tipkovnicu i instalirajte onu koju su stvorili Mark Stanley i Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
gumbi bajtova [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; bajt pin2; int ccwchar; int cwchar; hlapljivo nepotpisano stanje char; };
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 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 nepotpisana 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},}; #završi ako
byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};
bajtovi colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Tipkovnica buttbx = Tipkovnica (makeKeymap (gumbi), 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);
void setup () {
Joystick.begin (); rotacijski_init ();}
void loop () {{100} {101}
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {for (int i = 0; i
void rotary_init () {
za (int i = 0; i
nepotpisani char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotariji [_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 bez potpisa char = rotacijski_proces (i); if (rezultat == DIR_CCW) {Joystick.setButton (rotacije .ccwchar, 1); kašnjenje (50); Joystick.setButton (rotacije .ccwchar, 0); }; if (rezultat == DIR_CW) {Joystick.setButton (rotacije .cwchar, 1); kašnjenje (50); Joystick.setButton (rotacije .cwchar, 0); }; }}
- Spojite svoj Arduino Pro Micro s računalom priključivanjem USB kabela
- Za učitavanje koda odaberite vrstu Arduino tako da odete na Alati> Ploča:…> Arduino/Genuino Micro.
- Za odabir ispravnog USB priključka idite na Alati> Priključak:> COM x (Arduino/Genuino Micro)
- Provjerite skicu klikom na ✓ u gornjem lijevom kutu (ispod Datoteka)
- Pritisnite → pored njega da biste ga prenijeli na Arduino
Korak 8: Dodajte u svoju opremu
Čestitamo! Došli ste tako daleko. Sada je vrijeme za utrku!
Preporučeni:
Ćelijska hobotnica s gumbima: 8 koraka
Button Cell Octopus: Gumbasta ćelijska hobotnica zamjenjuje gumbne baterije. Ovo je korisno kada zamjenska baterija nije pri ruci. Koristilo se za pokretanje termometra i mjerača vlage iz baterije od 4 centa. Prikazana je i izrada ove baterije
4 igre s gumbima pomoću jednog analognog ulaza: 6 koraka (sa slikama)
4 Igre s gumbima pomoću jednog analognog ulaza: Ova instrukcija se usredotočuje na korištenje jedne linije analognog ulaza za više gumba koji se mogu detektirati neovisno jedan o drugom. I kako bi se istaknula upotreba ovih gumba, uključen je softver za igranje četiri različite igre s 4 tipke. Sve igre (8 u t
Krug za zaključavanje SSR -a s gumbima: 6 koraka (sa slikama)
SSR sklop za zatvaranje s gumbima: planiram dodati neke električne alate na donju stranu svog radnog stola kako bih, na primjer, mogao napraviti stolni usmjerivač. Alati će se montirati s donje strane na neku vrstu uklonjive ploče tako da mogu biti zamjenjivi. Ako ste zainteresirani vidjeti h
Okvir gumba za Sim Racing: 7 koraka (sa slikama)
Sim Racing Button Box: Okvir s gumbima je uređaj koji se koristi u Sim Racingu i koji vam omogućuje da dodijelite gumbe, prekidače i gumbe različitim kontrolama automobila. Uobičajeni zadaci gumba su stvari poput gumba za pokretanje, PTT -a, jame za zahtjeve itd. Prekidači dobro funkcioniraju za brisače, headl
Korisničko sučelje jednostavno za implementaciju -- OLED zaslon s joystickom i gumbima: 6 koraka
Korisničko sučelje jednostavno za implementaciju || OLED zaslon s joystickom i gumbima: Ovaj modul ima OLED zaslon s dvije tipke, 5-smjernom joystickom i troosnim mjeračem ubrzanja. Ovo je korisno pri postavljanju korisničkog sučelja za projekt. Hej, što ima ljudi? Akarsh ovdje iz CETech-a. Danas ćemo pogledati sve-u-jednom modul koji